-
Notifications
You must be signed in to change notification settings - Fork 341
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: more PGame.identical
PGame.memₗ
PGame.memᵣ
APIs
#5901
base: master
Are you sure you want to change the base?
Conversation
This PR is the first step to remove `PGame.Relabelling` (which is only for implementing things in lean and not real identity) and define games with identity as `Eq`.
pgame.identical
pgame.memₗ
pgame.memᵣ
PGame.identical
PGame.memₗ
PGame.memᵣ
Are you still available for this PR? If not, I can take it over. |
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 agree with most of the changes here, and I'd really like this PR to move forward. That being said, I do feel like this PR does more than advertised. There's a bunch of extra golfing, renaming, and some new theorems. Can these be split into separate PRs?
termination_by (x, y) | ||
|
||
/-- `-x * y` and `-(x * y)` have the same moves. -/ | ||
lemma neg_mul (x y : PGame) : -x * y ≡ -(x * y) := |
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.
Do we have the equality in this case too?
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.
No. (-x * y).LeftMoves
= xr × yl ⊕ xl × yr
, (-(x * y)).LeftMoves
= xl × yr ⊕ xr × yl
PGame.identical
PGame.memₗ
PGame.memᵣ
PGame.identical
PGame.memₗ
PGame.memᵣ
APIs
PGame.identical
PGame.memₗ
PGame.memᵣ
APIsPGame.identical
PGame.memₗ
PGame.memᵣ
APIs
This PR/issue depends on: |
This PR is the first step to remove
PGame.Relabelling
(which is only for implementing things in lean and not real identity) and define games with identity asEq
.Zulip
Relator.LeftTotal
Relator.RightTotal
Relator.BiTotal
#5888PGame.identical
PGame.memₗ
PGame.memᵣ
#17122(Was a mathlib3 PR)