[Merged by Bors] - refactor: Delete Algebra.GroupPower.Lemmas #9411
Closed
YaelDillies wants to merge 30 commits intomasterfrom
Closed
[Merged by Bors] - refactor: Delete Algebra.GroupPower.Lemmas #9411YaelDillies wants to merge 30 commits intomasterfrom
Algebra.GroupPower.Lemmas #9411YaelDillies wants to merge 30 commits intomasterfrom
Conversation
Sorry, this is huge
Contributor
|
Can you put some comments / split up commits to make this reviewable when it is done? What is the motivation? |
Member
|
I guess this PR requires a huge changelog in the commit message. |
Contributor
Author
|
Yes, sorry. I can't do anything more before overmorrow, so I've put the PR out to have a big scary diff to point people to when they want to add lemmas and for @alexjbest to try out Leaff. I will split off PRs and write some prose in the description in due time. |
YaelDillies
added a commit
that referenced
this pull request
Jan 4, 2024
These lemmas aren't really proved any faster using units, and I will soon need them not to be proved using units. Part of #9411
YaelDillies
added a commit
that referenced
this pull request
Jan 4, 2024
These lemmas can actually be proved much earlier than they were. Part of #9411
YaelDillies
added a commit
that referenced
this pull request
Jan 4, 2024
`Data.Int.Basic` is currently made of two things: * Basic lemmas that continue the theory in Std (and could belong there, really) * Basic algebraic order instances I need the first ones earlier in the algebraic order hierarchy, hence the split. Part of #9411
mathlib-bors bot
pushed a commit
that referenced
this pull request
Jan 4, 2024
These lemmas aren't really proved any faster using units, and I will soon need them not to be proved using units. Part of #9411
mathlib-bors bot
pushed a commit
that referenced
this pull request
Jan 4, 2024
These lemmas can actually be proved much earlier than they were. Part of #9411
YaelDillies
added a commit
that referenced
this pull request
Jan 5, 2024
… their own files Part of #9411
YaelDillies
added a commit
that referenced
this pull request
Jan 5, 2024
The first versions for ordered semirings do not need to import so much but: * they have no obvious place to go * nobody needs them that early (in particular, it seems nobody needs them without also needing the ordered field version) Part of #9411
YaelDillies
added a commit
that referenced
this pull request
Jan 14, 2024
This was referenced Jan 14, 2024
mathlib-bors bot
pushed a commit
that referenced
this pull request
Jan 16, 2024
This allows more files to not depend on `Algebra.GroupPower.Lemmas`, which will soon stop existing. Part of #9411
linesthatinterlace
pushed a commit
that referenced
this pull request
Jan 16, 2024
The current design for `abs` is flawed: * The `Abs` notation typeclass has exactly two instances: one for `[Neg α] [Sup α]`, one for `[Inv α] [Sup α]`. This means that: * We can't write a meaningful hover for `Abs.abs` * Fields have two `Abs` instances! * We have the multiplicative definition but: * All the lemmas in `Algebra.Order.Group.Abs` are about the additive version. * The only lemmas about the multiplicative version are in `Algebra.Order.Group.PosPart`, and they get additivised to duplicates of the lemmas in `Algebra.Order.Group.Abs`! This PR changes the notation typeclass with two new definitions (related through `to_additive`): `mabs` and `abs`. `abs` inherits the `|a|` notation and `mabs` gets `|a|ₘ` instead. The first half of `Algebra.Order.Group.Abs` gets multiplicativised. A later PR will multiplicativise the second half, and another one will deduplicate the lemmas in `Algebra.Order.Group.PosPart`. Part of #9411. Co-authored-by: Jeremy Tan Jie Rui <reddeloostw@gmail.com>
YaelDillies
added a commit
that referenced
this pull request
Jan 17, 2024
These lemmas can be proved earlier. Part of #9411
YaelDillies
added a commit
that referenced
this pull request
Jan 17, 2024
These can be defined earlier for free. Part of #9411
mathlib-bors bot
pushed a commit
that referenced
this pull request
Jan 20, 2024
These can be defined earlier for free. Part of #9411
Member
|
Thanks 🎉 bors merge |
Contributor
|
Build failed (retrying...): |
Contributor
|
Pull request successfully merged into master. Build succeeded: |
Closed
3 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Algebra.GroupPower.Lemmasused to be a big bag of lemmas that made it there on the criterion that they needed "more imports". This was completely untrue, as all lemmas could be moved to earlier files in PRs:Commuteresults earlier #9440MulOpposite.op_pow#9442Intfile #9443ℤandℕon rings to their own files #9455Algebra.Associated#9459Unitslemmas earlier #9461WithToplemmas earlier #9463x ⊔ y = (x + y + |y - x|) / 2#9466(r • x) ^ n = r ^ n • x ^ nearlier #9502IntandNatcast lemmas #9503a ^ m = b ^ n ↔ ∃ c, a = c ^ n ∧ b = c ^ m#9505Natfile #9551abs#9553zpowlemmas #9720Int.pow_right_injective#9739posPart#9740zpow#9805Int.natAbsandzpowersHom#9806There are several reasons for this:
Algebra.GroupPower.LemmasIntandNatlemmas which let us shortcircuit the part of the algebraic order hierarchy on which the corresponding general lemmas restThis PR finishes the job by moving the last few lemmas out of
Algebra.GroupPower.Lemmas, which is therefore deleted.Commuteresults earlier #9440MulOpposite.op_pow#9442Intfile #9443ℤandℕon rings to their own files #9455Algebra.Associated#9459Unitslemmas earlier #9461WithToplemmas earlier #9463x ⊔ y = (x + y + |y - x|) / 2#9466(r • x) ^ n = r ^ n • x ^ nearlier #9502IntandNatcast lemmas #9503a ^ m = b ^ n ↔ ∃ c, a = c ^ n ∧ b = c ^ m#9505Natfile #9551abs#9553zpowlemmas #9720Int.pow_right_injective#9739posPart#9740zpow#9805Int.natAbsandzpowersHom#9806