Documentation

Cvc.Typed.Theory.Nullable.Regex

Regular expressions over nullables, typed #

Each lifted operator has its plain counterpart's signature with an Option around every argument and around the result, and nothing else changed. The lift is strict: none unless every argument is some.

The regex term becomes nullable. The indexed reLoop and reRepeat have no lifted form, and the string-matching operators live in the string theory, so strInRegex? is generated there.

reInter lifted over nullables, strictly: none unless every argument is some.

Equations
Instances For

    reOpt lifted over nullables, strictly: none unless every argument is some.

    Equations
    Instances For

      reComplement lifted over nullables, strictly: none unless every argument is some.

      Equations
      Instances For
        def Cvc.Typed.Term.reUnionN? [Ω] (terms : Terms (Option Regex)) (atLeastTwoElements : 2 ≤ Array.size terms := by (try grind) <;> fail "failed to prove term array has at least two elements") :

        reUnion? over two or more terms.

        Equations
        Instances For
          def Cvc.Typed.Term.reConcatN? [Ω] (terms : Terms (Option Regex)) (atLeastTwoElements : 2 ≤ Array.size terms := by (try grind) <;> fail "failed to prove term array has at least two elements") :

          reConcat? over two or more terms.

          Equations
          Instances For

            reDiff lifted over nullables, strictly: none unless every argument is some.

            Equations
            Instances For

              reConcat lifted over nullables, strictly: none unless every argument is some.

              Equations
              Instances For

                reUnion lifted over nullables, strictly: none unless every argument is some.

                Equations
                Instances For

                  reRange lifted over nullables, strictly: none unless every argument is some.

                  Equations
                  Instances For

                    reStar lifted over nullables, strictly: none unless every argument is some.

                    Equations
                    Instances For
                      def Cvc.Typed.Term.reInterN? [Ω] (terms : Terms (Option Regex)) (atLeastTwoElements : 2 ≤ Array.size terms := by (try grind) <;> fail "failed to prove term array has at least two elements") :

                      reInter? over two or more terms.

                      Equations
                      Instances For

                        rePlus lifted over nullables, strictly: none unless every argument is some.

                        Equations
                        Instances For