-
Notifications
You must be signed in to change notification settings - Fork 15
PlainCombi: LYM inequality using the Katona circle method #42
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
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.
Thank you for the PR!
Below is a first round of comments, and here are a few general remarks:
- You are not following the naming convention wrt to lowerCamelCasing definitions in lemma names and prefixing head operations (eg
foo.cardshould becomecard_fooin a lemma name) - Since it's a result from the Combinatorics course, it should go in the PlainCombi folder.
- All the numbering stuff not specific to antichains is the Katona circle method. Could you move it to a new file? (also in the PlainCombi folder)
- I dislike calling this the "probability theory" proof of LYM: It's neither probabilistic in the sense that it shows some object exists because it exists with positive probability, nor is it the only proof that manipulates probabilities (although I can't remember which other proof I am thinking off). A better description would be that it is a double-counting argument on maximal chains passing through a point of the antichain (note that the Katona circle method is precisely double-counting with maximal chains)
- Nice work! 😁
|
@YaelDillies, If I split out the code not related to anti-chains to a different file, what should I call it? More generally, I may need you write the comments, since I don't know much combinatorics yet. Currently I don't really know what terms like "double counting" and "Katona circle method" mean. |
06acfa6 to
e0f7088
Compare
|
@YaelDillies, I incorporated most of your comments and changed the naming convention. However, I did not change the definition of NumberIngOn as you suggested, because the proof of the theorem |
e0f7088 to
0bc5775
Compare
Keep it in the current file. Split out the rest to
I am happy to do that when I have time.
Working on it! |
|
I can give your NumberingOn suggestion a try today. I didn't have time yesterday. |
|
@YaelDillies, I just pushed a new commit, in which I tried to use Numbering to define NumberingOn, as you suggested. I was able to fix the first few failures in the proof of equiv_IsPrefix_NumberingOn2, but I got stuck on the failures on lines 100 and 107. Without fixing them, the remaining failures cannot be fixed. Lines 100 and 107 are in the term mode, where I don't know my way around. I need your help on this. |
|
Instead of fixing each failure in the proof of equiv_IsPrefix_NumberingOn2, I think I'm going to prove the equivalence of the old and new definitions of NumberingOn and connect the old proof with the new definition via the equivalence. This way I don't have to touch the tricky proof. It will take me some time to do this, as I have other commitments. |
|
"Working on it" is usually shorthand for "I have 100 lines of uncommitted edits. Please don't edit simultaneously so that we avoid conflicts" 😅 |
|
OK, I'll revert my commit and wait for you. |
|
Just pushed the revert. In the meantime, I'll play in the branch personal/ctchou/prob-lym-OLD-*, so that the PR is not impacted. |
|
In the branch personal/ctchou/prob-lym-OLD-2, |
d1de62c to
3f2c83a
Compare
|
Okay, done. Could you now do the |
|
I just did the split. I did not touch the comments, which are duplicated in both files. I guess you want to call ProbLYM.lean some other name now. |
|
I'm a bit mystified by your code: how did you manage to get rid of |
🧙 (I used simp) |
f05e5b7 to
5867643
Compare
|
Not sure how that happened, but you managed to do the exact opposite split to what I had in mind. I've turned it around and golfed your proof to use Thanks for everything! Looking forward to the next one. |
Because of what you wrote above:
Either I misread your answer, or you misread my question. |
|
Ooh, I had read "related to antichains" instead of "not related to antichains". |
|
One more question for my education: What is the difference between |
|
I assume you mean
You can see how this is more powerful than |
|
Thanks for the explanation! |
Per Yaël's suggestion:
https://leanprover.zulipchat.com/#narrow/channel/116395-maths/topic/Proof.20of.20the.20LYM.20inequality.20using.20probability.20theory
I'm contributing this proof. I'm not sure I'm putting the file in the right directory, though. Let me know where I should place it and I'll update the PR.