-
Notifications
You must be signed in to change notification settings - Fork 250
[Add] Consequences of associativity for Semigroup
s
#2688
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
For others: the names are taken from the combinators in |
With an explicit callback/reference to #2288 ? This PR alone doesn't 'fix' that issue, but contributes a piece of the jigsaw to such a 'fix'. |
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.
Lots of comments, I'm requesting changes based on a single one, but can be summarised as:
- please give lemmas names that can be remembered without needing a lookup table or other instruction manual to explain what they are/how they behave!
- no need for a new module, we already have the
Algebra.Properties.*
sub-hierarchy...
Co-authored-by: jamesmckinna <[email protected]>
OK... thanks for the recent commits, but I'm going to carry on nitpicking:
|
Also:
As with previous comments, we don't need a new module (even if it's moved location), these could all go in |
Co-authored-by: jamesmckinna <[email protected]>
Co-authored-by: jamesmckinna <[email protected]>
Co-authored-by: jamesmckinna <[email protected]>
As I've indicated, I'm not a big fan of push/pull because they are not very mnemomic; the superscripts don't help either. Indeed, if one looks at module Pulls (x∙y≈z : x ∙ y ≈ z) where
x∙y≈z⇒[w∙x]∙y≈w∙z : (w ∙ x) ∙ y ≈ w ∙ z what it really does is
So that's what I'd like the naming to reflect. Now, I quite like the 'synonym'
Note that these are meant to have the 3 variables be implicit, on purpose: if they cannot be figured out by Agda, then it's probably better to use the 'long form' of the reasoning (i.e. explicit calls to |
OK, I guess it is/was good to see how far apart the various contributors are on how to think about these naming issues, and their intended semantic underpinnings. But I have to say that I find the gap between the symbolic names you propose ((NB in my Firefox font for GitHub, your symbol In the face of this, I am going to suggest
Barn-burning. |
My firefox displays them all just fine! I would be fine with a name that involves Your mixfix suggestion might have legs. In fact, by eliding the common prefix entirely, using it as a purely prefix operation might result in a name that's close to readable. If my mnemonic symbology is not acceptable, I would think a text-based name based around 'refocus' is probably better than other unicode soup. |
Conclusion: accept but note that there should be better solution |
The changes have actually been made, but James is away and so this is blocking.
Sorry for not having rescinded the old review! Thanks for merging! |
Introduce a new module for equational reasoning in semigroups, providing utilities for associativity reasoning and operations.