The ε-NA of a regular expression #
Thompson's construction [Tho68]: every regular expression is sent to an εNA with finitely
many states that accepts exactly its language, by assembling the automata of
Cslib.Computability.Automata.EpsilonNA.ThompsonConstruction.
Main definitions #
RegularExpression.State r: the states of the automaton ofr.RegularExpression.toEpsilonNA r: the automaton ofr.
Main statements #
RegularExpression.language_toEpsilonNA: the automaton ofraccepts exactlyr.matches'.
References #
The states of the automaton of a regular expression.
Equations
Instances For
The automaton of a regular expression has finitely many states.
Thompson's construction: the εNA of a regular expression.
Equations
- RegularExpression.zero.toEpsilonNA = Cslib.Automata.εNA.FinAcc.zero
- RegularExpression.epsilon.toEpsilonNA = Cslib.Automata.εNA.FinAcc.epsilon
- (RegularExpression.char a).toEpsilonNA = Cslib.Automata.εNA.FinAcc.char a
- (P.plus Q).toEpsilonNA = P.toEpsilonNA.union Q.toEpsilonNA
- (P.comp Q).toEpsilonNA = P.toEpsilonNA.concat Q.toEpsilonNA
- P.star.toEpsilonNA = P.toEpsilonNA.star
Instances For
@[simp]
The automaton of a regular expression accepts exactly its language.