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
refactor(algebra/group/type_tags): make additive and multiplicative structures #6045
Conversation
@gebner do you mind expanding the module doc in |
This will need a careful merge with #6572, as that replaced section-level typeclasses with lemma-level ones. |
I hope I didn't revert anything. |
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.
The merge of that PR looks clean, thanks!
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.
The new documentation looks good to me, and the new proofs do look easier to understand as well. This is a big refactor though so I wouldn't mind getting more opinions.
xref leanprover/lean4#777 for some discussion about the cost of making these structures. |
The discussion now pertains to mathlib4. |
This is an alternative to #2292, going one step further and making the two structures instead of irreducible. I'd mainly like feedback
before sinking more time into this.I would have expected this refactoring to be more horrible. But I find that instead I can actually understand the new proofs, since they don't depend on the fact that 0 reduces to 1 or vice versa, but instead on equational lemmas that I can look at. Also
equiv_rw
is really helpful here.Zulip discussion