-
Notifications
You must be signed in to change notification settings - Fork 247
Remove redundancy in ring morphisms etc #1540
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
This redefines NearSemiring, Semiring, and Ring homomorphisms so that they each build up by adding a single new property to a smaller structure. This ensures there's only one proof that they're a Rel homomorphism. For the same reason, Lattice homomorphisms are defined directly rather than showing it's two magma homomorphisms. I've tried to make it so that each of these structures provides any smaller structure at its top level, so if we have a RingMonomorphism we can easily say that it's a MagmaHomomorphism by multiplication or whatever, but I might have missed one or two.
I didn't mean to rename that but I prefer this name
Also add that it's a raw near semiring and semiring while I'm at it
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.
Looks like a much better design, thank you! Only thing missing is a CHANGELOG entry 😄
@Taneb given the number of great PRs recently, I've also added you to the list of Agda developers. You should now have permission to create PRs on this repo directly if you want to 👍 |
I'm going to make a subsequent PR adding modules like |
This redefines NearSemiring, Semiring, and Ring homomorphisms so that
they each build up by adding a single new property to a smaller
structure. This ensures there's only one proof that they're a Rel
homomorphism. For the same reason, Lattice homomorphisms are defined
directly rather than showing it's two magma homomorphisms.
I've tried to make it so that each of these structures provides any
smaller structure at its top level, so if we have a RingMonomorphism we
can easily say that it's a MagmaHomomorphism by multiplication or
whatever, but I might have missed one or two.
Closes #1539