-
Notifications
You must be signed in to change notification settings - Fork 260
[ add ] Centre of a Group etc.
#2863
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
|
As a Canadian whose idea of spelling is an ungodly mixture of American and English, I will refrain on opining between |
JacquesCarette
left a comment
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.
Very shallow review (but it is a draft).
I find the code duplication between the definitions of Centre appalling. It may well be Agda's fault.
|
|
||
| open import Algebra.Bundles using (Magma) | ||
|
|
||
| module Algebra.Construct.Centre.Magma {c ℓ} (G : Magma c ℓ) where |
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.
semi-facetiously: Magma or RawSemigroup ?
But actually: one has the data of the equivalence being a congruence, the other does not. So if you're going to go 'minimal', maybe RawMagma rather than Magma?
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.
Well, OK... I dithered a lot about whether to even have an entry at this level of the hierarchy... but it seemed the best place to 'hide' the definition of Center, so that it is never subsequently explicit referred to except via its ι; central; ι-isXMonomorphism interface.
But in the absence of associativity, it is ridiculous at some level to have this. Above Magma (ie Semigroup and beyond), we do need assoc, so it doesn't really make sense to avoid also cong etc.? But maybe we should consider 'central' notions only wrt the underlying Raw structure throughout? is that what you're suggesting?
As for RawSemigroup, well we don't have it, because that just 'is' (would be) RawMagma (as in the IsXHomomorphism hierarchy, which only uses IsRawX structures to drive the definitions, and rightly so).
But, yes: draft, so come back at me down the road!
(not sure I quite understand?) Actually, I was trying to avoid code duplication, by exporting
I welcome suggestions for a better design! (Maybe my modelling skills need sharpening for the The thing which makes me sad is re-duplication of the UPDATED: I now think I agree, and it seems to be express itself in my having to re-export not only |
Busted! As a UK-English user, I've embodied by cultural preference in the folder/module-name hierarchy, while in deference to US-English for mathematical concepts, I have the formal object |
|
Looping back to @JacquesCarette 's
There may be a way out of this via #2876 and keeping all the definitions inside one (nested) module, so the that 'nested/iterated' re-export is less painful. I think that means that I should return to this later, once some of the other infrastructural PRs have landed. |
Modulo spelling... ;-)
Currently: blocked on #2854 / #2859
Need to rebase against #2854 ?
TODO: add/refactor to use
SemigroupMonoidRingMagmaseems not to make sense, because noassoc, but definition ofCentral/Centermake sense without?UPDATED: refactor to make use of #2872 #2873