-
Notifications
You must be signed in to change notification settings - Fork 26
feat: add Cslib/Computability/Languages/OmegaLanguage.lean #92
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
Conversation
caff963 to
ff04002
Compare
ff04002 to
c9bb2b7
Compare
|
Rebase on the current "omega-flatten". |
c9bb2b7 to
0b16eea
Compare
…ssociated changes
0b16eea to
10ecd2c
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I did a little less grind golfing this review. Partly because you'd already done a bit, partly because you used more of simp (which is fine). The places I did make grind suggestions are where I felt it was particularly advantageous or you had some awkwardness in switching back and forth from simp to grind.
|
@chenson2018's comments have been incorporated. |
… Wieser's comments
|
OK, I got rid of Language.le_one and all uses of sdiff on languages. Now the definition of omegaPow uses |
I am done reviewing, I will leave for Fabrizio to review/merge. Please open an issue regarding the Mathlib PR dependency, we have a "pending upstream" tag to track these.
|
I created a new issue (#132) to track the mathlib PR dependency. But I can't figure out how to assign the label "pending upstream" to the issue. @chenson2018, any idea how? |
|
I added the label, maybe a permissions problem. |
|
Yes, probably a permission issue. There is nothing I can click about labels, thought I see them on the RHS. |
|
Merge in the current main to make sure that there is no conflict. |
This is the first version of OmegaLanguage, which is an analogue of Mathlib.Computability.Language, but for infinite sequences. We now have a more satisfactory definition of omegaPow, which enables more algebraic and much shorter proofs of the harder results (see the "main theorems" section of the main comment in OmegaLanguage.lean) than in:
https://github.com/ctchou/AutomataTheory/blob/main/AutomataTheory/Languages/Basic.lean
The results proved so far are sufficient for starting the development of the theory of omega-automata. The main TODOs are results about omegaPow and map, which are not needed for now.
As part of this work, we added several new definitions and theorems about Language and OmegaSequence.flatten. We also took this opportunity to change some infelicitous theorem names in Flatten.lean and Segment.lean and to use
namespace Natto remove the prefixNat.from many places in Segment.lean.