Regular expressions, typed #
Between lo and hi repetitions, both included.
Equations
- Cvc.Typed.Term.reLoop lo hi re = Cvc.Untyped.Term.reLoop lo hi re
Instances For
The regular expression matching every string.
Equations
Instances For
The regular expression matching nothing.
Instances For
Complement.
Equations
Instances For
The regular expression matching every one-character string.
Instances For
reConcat over two or more terms.
Equations
- Cvc.Typed.Term.reConcatN terms atLeastTwoElements = Cvc.Untyped.Term.reConcatN terms atLeastTwoElements
Instances For
Exactly the given number of repetitions.
Equations
- Cvc.Typed.Term.reRepeat count re = Cvc.Untyped.Term.reRepeat count re
Instances For
reUnion over two or more terms.
Equations
- Cvc.Typed.Term.reUnionN terms atLeastTwoElements = Cvc.Untyped.Term.reUnionN terms atLeastTwoElements
Instances For
reInter over two or more terms.
Equations
- Cvc.Typed.Term.reInterN terms atLeastTwoElements = Cvc.Untyped.Term.reInterN terms atLeastTwoElements
Instances For
Takes a term apart one level, at its sort, if Regex owns its operator and the term's sort fits it.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Regex's operators with a result of sort Regex.
- reConcat
[Ω]
(kids : Kids Regex)
: OnRegex
Concatenation.
kidsholds every operand, two or more. - reUnion
[Ω]
(kids : Kids Regex)
: OnRegex
Union.
kidsholds every operand, two or more. - reInter
[Ω]
(kids : Kids Regex)
: OnRegex
Intersection.
kidsholds every operand, two or more. - reDiff
[Ω]
(lft rgt : Term Regex)
: OnRegex
Difference: the strings matching
lftbut notrgt. - reStar
[Ω]
(re : Term Regex)
: OnRegex
Kleene star.
- rePlus
[Ω]
(re : Term Regex)
: OnRegex
One or more repetitions.
- reOpt
[Ω]
(re : Term Regex)
: OnRegex
Zero or one repetition.
- reRange
[Ω]
(lo hi : Term String)
: OnRegex
Any one character from
lotohiincluded; matches nothing unless both are one character. - reComplement
[Ω]
(re : Term Regex)
: OnRegex
Complement.
- reLoop
[Ω]
(lo hi : Nat)
(re : Term Regex)
: OnRegex
Between
loandhirepetitions, both included. - reRepeat
[Ω]
(count : Nat)
(re : Term Regex)
: OnRegex
Exactly the given number of repetitions.
- reAll
[Ω]
: OnRegex
The regular expression matching every string.
- reAllChar
[Ω]
: OnRegex
The regular expression matching every one-character string.
- reNone
[Ω]
: OnRegex
The regular expression matching nothing.
Instances For
Values #
A regular expression has no Lean value: cvc5 exposes no accessor for the language a constant regex
denotes, so Regex has no value conversions. Read a model's regex as a term, with
Solver.getValueTerm.
regex! #
regex! "ab" ['0'-'9']+ | .* writes a regular expression in the usual notation, as an
Env (Term Regex). A regex term in scope, or a ![…] escape, must be a Term Regex.
A regular expression in the usual notation, as an Env (Term Regex): regex! "a"+ | .*.
Equations
- Cvc.Typed.termRegex!_ = Lean.ParserDescr.node `Cvc.Typed.termRegex!_ 1022 (Lean.ParserDescr.binary `andthen (Lean.ParserDescr.symbol "regex! ") (Lean.ParserDescr.cat `smtRegex 0))