feat: proof of Myhill-Nerode theorem for DFAs#491
feat: proof of Myhill-Nerode theorem for DFAs#491akhilesh-balaji wants to merge 15 commits intoleanprover:mainfrom
Conversation
ctchou
left a comment
There was a problem hiding this comment.
Thanks for re-opening the PR. I have a few more comments.
|
I have made all the changes. Also, in At some point, we should ideally change this to use rather than |
|
The There are theorems that let you "lift" the state spaces to |
ctchou
left a comment
There was a problem hiding this comment.
We are getting close to an approvable shape in the organization and statements of definitions and theorems.
@chenson2018: maybe you want to take a look as well? I have not tried any proof golfing.
|
@akhilesh-balaji Please mark those comments which you have fixed as resolved. Thanks! |
…nitions and docstrings
|
Done.
I have defined |
|
Thanks for making the changes. I just pushed a commit to re-word the main comment a bit. I also turned on the CI. I'm pretty happy with the overall structure of this PR now. I would like to take a closer look at the proofs, but that will take a few days. I hope @chenson2018 will be able to take a look as well. |
|
I removed some redundant lines. Please do not add redundant |
|
@akhilesh-balaji There are some CI failures which you should look into. I always run locally the following steps for any PR of my own: and correct all errors or warnings reported by them. |
Re-opening #479 which was accidentally closed. Thanks very much, @ctchou, for going through it and making edits.
This PR adds a proof of the Myhill-Nerode theorem. It builds on the definition of right congruence (and associated definitions and theorems) in #278. These are the main results shown (the statement of the theorem has been taken from Wikipedia and amended slightly):
(1)
Lregular iff.∼_L(distinguishability byL, also called the Nerodecongruence) has a finite number of equivalence classes
N.(2)
Nis the number of states in the minimal DFA acceptingL.(3) The minimal DFA is unique up to unique isomorphism. That is, for any
minimal DFA acceptor, there exists exactly one isomorphism from it to the
following one: