Regular expressions over nullables, sort-erased #
One lifted constructor per liftable operator, <id>?, each answering none unless every argument
is some.
The regex term becomes nullable. Note the string-matching operators live in the string theory,
so strInRe? is generated there.
reInter lifted over nullables, strictly: none unless every argument is some.
Equations
- lft.reInter? rgt = Cvc.runUnsafe✝ fun (tm : cvc5.TermManager) => tm.mkNullableLift cvc5.Kind.REGEXP_INTER #[lft, rgt]
Instances For
reInter? over two or more terms.
Equations
- Cvc.Untyped.Term.reInterN? terms atLeastTwoElements = Cvc.runUnsafe✝ fun (tm : cvc5.TermManager) => tm.mkNullableLift cvc5.Kind.REGEXP_INTER terms
Instances For
reComplement lifted over nullables, strictly: none unless every argument is some.
Equations
- re.reComplement? = Cvc.runUnsafe✝ fun (tm : cvc5.TermManager) => tm.mkNullableLift cvc5.Kind.REGEXP_COMPLEMENT #[re]
Instances For
reUnion? over two or more terms.
Equations
- Cvc.Untyped.Term.reUnionN? terms atLeastTwoElements = Cvc.runUnsafe✝ fun (tm : cvc5.TermManager) => tm.mkNullableLift cvc5.Kind.REGEXP_UNION terms
Instances For
reStar lifted over nullables, strictly: none unless every argument is some.
Equations
- re.reStar? = Cvc.runUnsafe✝ fun (tm : cvc5.TermManager) => tm.mkNullableLift cvc5.Kind.REGEXP_STAR #[re]
Instances For
reRange lifted over nullables, strictly: none unless every argument is some.
Equations
- lo.reRange? hi = Cvc.runUnsafe✝ fun (tm : cvc5.TermManager) => tm.mkNullableLift cvc5.Kind.REGEXP_RANGE #[lo, hi]
Instances For
reConcat? over two or more terms.
Equations
- Cvc.Untyped.Term.reConcatN? terms atLeastTwoElements = Cvc.runUnsafe✝ fun (tm : cvc5.TermManager) => tm.mkNullableLift cvc5.Kind.REGEXP_CONCAT terms
Instances For
rePlus lifted over nullables, strictly: none unless every argument is some.
Equations
- re.rePlus? = Cvc.runUnsafe✝ fun (tm : cvc5.TermManager) => tm.mkNullableLift cvc5.Kind.REGEXP_PLUS #[re]
Instances For
reOpt lifted over nullables, strictly: none unless every argument is some.
Equations
- re.reOpt? = Cvc.runUnsafe✝ fun (tm : cvc5.TermManager) => tm.mkNullableLift cvc5.Kind.REGEXP_OPT #[re]
Instances For
reConcat lifted over nullables, strictly: none unless every argument is some.
Equations
- lft.reConcat? rgt = Cvc.runUnsafe✝ fun (tm : cvc5.TermManager) => tm.mkNullableLift cvc5.Kind.REGEXP_CONCAT #[lft, rgt]
Instances For
reDiff lifted over nullables, strictly: none unless every argument is some.
Equations
- lft.reDiff? rgt = Cvc.runUnsafe✝ fun (tm : cvc5.TermManager) => tm.mkNullableLift cvc5.Kind.REGEXP_DIFF #[lft, rgt]
Instances For
reUnion lifted over nullables, strictly: none unless every argument is some.
Equations
- lft.reUnion? rgt = Cvc.runUnsafe✝ fun (tm : cvc5.TermManager) => tm.mkNullableLift cvc5.Kind.REGEXP_UNION #[lft, rgt]