-
Notifications
You must be signed in to change notification settings - Fork 367
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: formalize regular expression -> εNFA #20648
base: master
Are you sure you want to change the base?
Conversation
These theorems make it easier to prove statements about `List.reduceOption`, building up to a more general theorem, `reduceOption_eq_concat_iff`, which is useful for inductive proofs.
`Path` enables path-based reasoning in proofs involving `εNFA`.
The file `Computability/RegularExpressionsToEpsilonNFA.lean` contains a formal definition of Thompson's method for constructing an `εNFA` from a `RegularExpression` and a proof of its correctness.
Definitions are either marked private (details of the automaton definition) or have documentation strings. Unneeded `[DecidableEq α]` declarations are removed.
PR summary dbc35ee318Import changes for modified filesNo significant changes to the import graph Import changes for all files
|
This PR/issue depends on: |
`reduceOption_replicate_of_none` -> `reduceOption_replicate_none` `reduceOption_eq_nil_replicate_iff` -> `reduceOption_eq_nil_iff` `reduceOption_eq_singleton_replicate_iff` -> `reduceOption_eq_singleton_iff`
Theorems were renamed.
Theorems were renamed.
The file
Computability/RegularExpressionsToEpsilonNFA.lean
contains a formal definition of Thompson's method for constructing anεNFA
from aRegularExpression
and a proof of its correctness.