-
Notifications
You must be signed in to change notification settings - Fork 297
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(data/equiv/algebra): add add_equiv and mul_equiv #789
Conversation
I needed these for the perfectoid project; basically I did what I needed, but it seemed comparable with what had been done for ring_equiv. |
How long will it take before we also need |
I think it would be good if |
In fact, it turns out that for surjective functions, you don't need the |
I've now switched to mul_equiv, which is an equiv of types with has_mul, with the equiv preserving the multiplication. This means that one no longer needs monoid_equiv or group_equiv because they both turn out to be special cases of mul_equiv. I added add_equiv for good measure. |
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.
It would be good to have to_additive
attributes everywhere.
I have added them to everything I added, and to some stuff which other people have added too (now I understand how it all works) |
…munity#789) * feat(data/equiv/algebra): add monoid_equiv and group_equiv * refactor; now using mul_equiv; adding add_equiv * tidy * namechange broke my code; now fixed * next effort * switching is_mul_hom back to explicit args * removing more implicits * typo * switching back to implicits (to fix mathlib breakage) * Making is_mul_hom and is_add_hom classes * adding more to_additive
TO CONTRIBUTORS:
Make sure you have:
If this PR is related to a discussion on Zulip, please include a link in the discussion.
For reviewers: code review check list