Skip to content
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

opposite of a Ring #1900

Closed
wants to merge 21 commits into from
Closed

opposite of a Ring #1900

wants to merge 21 commits into from

Conversation

jamesmckinna
Copy link
Contributor

@jamesmckinna jamesmckinna commented Jan 5, 2023

See discussion in issue #1888 and associated pr #1898

EDITED

See also the discussion of issue #1617 and associated PR #1684: some slight crunchiness arises from the decision to make IsRing etc. properties on top of +-AbelianGroup, rather than two structures over a shared common Setoid substructure.

TODOs:

  • only done for IsRing, Ring: not for any of the intermediate structures/bundles

Copy link
Contributor

@JacquesCarette JacquesCarette left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice.

But also: the infamous 'Op' meta-functor. Claudio Sacerdoti Coen and I spent two full afternoons in front a blackboard working out the details of what it actually means. And how it ought to be automated. We never got around to writing anything up, unfortunately.

@jamesmckinna
Copy link
Contributor Author

Well, re not-written-up work: I'd love to see notes (or rational reconstruction) of that discussion with Claudio, but I suppose I was wanting to... for once ;-)... not get too caught up with the 'in full generality' situation, in the spirit of your previous comments about writing 'smaller' PRs...

@jamesmckinna
Copy link
Contributor Author

And: should such an 'Op' reverse the equivalence relation?

I had considered this, with a view (de-strictifying, bicategories vs. 2-categories etc.) to having Op on Setoids being an iso, not a definitional equality... but not today...

@JacquesCarette
Copy link
Contributor

Looked for my notes, and didn't find them in the notebooks where I expected them to be. Sigh. Ah, but I do have pictures of the boards!

So whether 'Op' should reverse the equivalence relation indeed is mixed up with whether you're looking at things 1- or 2-categorically. Of course, 2-categorically, there are 3 choices of what to flip, so that there should be 3 'flip' operations.


module _ (+ : Op₂ A) where

distributes : (≈ DistributesOver ∙) + → (≈ DistributesOver (flip ∙)) +
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The other thing we could do to make this is a little nicer is to import Algebra.Definitions and Algebra.Structures locally in each anonymous module parameterised by the equality. Which would then allow us to avoid messing up the infix notation here?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah... will now turn to this.

And it seems that this applies throughout, even to the original module contents: so I've now named each previously anonymous module, and opened it locally in place with the appropriate arguments. is this better now? See most recent commit.

@MatthewDaggitt
Copy link
Contributor

So whether 'Op' should reverse the equivalence relation indeed is mixed up with whether you're looking at things 1- or 2-categorically. Of course, 2-categorically, there are 3 choices of what to flip, so that there should be 3 'flip' operations.

Or 8 operations? For Relation.Binary.Construct.Flip I've used 3 out of the 4 possible permutations in my own work.

@jamesmckinna
Copy link
Contributor Author

I won't comment on the multiplicities of Flip and Op, after Matthew's successful resolution of the sym problem which I had previously had. But starting to scratch my head about the use of only 3 out of 4 possibilities in his work...

@JacquesCarette
Copy link
Contributor

Isn't the 4th possibility 'do nothing', which is why it's hard to see it? We're talking about a group with 4 elements, which is the product of the group with 2 elements, so it's rather natural that only 3 of them show up!

@jamesmckinna
Copy link
Contributor Author

D'oh!

Revert "added `CommutativeRing` to the tally"

This reverts commit 5baffde.
@jamesmckinna
Copy link
Contributor Author

Oh man, it's too late in the evening to be doing this. I've let yet more bogus commits enter the PR. 🤦 And it clearly goes back to before the most recent commit/revert. @#$%

… branch/PR

Revert "`CHANGELOG`"

This reverts commit e54f2a7.
@jamesmckinna
Copy link
Contributor Author

OK, I've screwed this one up as well. Converting to draft and then sitting on my hands for a few days.

@jamesmckinna jamesmckinna marked this pull request as draft January 10, 2023 21:19
@jamesmckinna
Copy link
Contributor Author

jamesmckinna commented Jan 10, 2023

Nope... those reversions didn't work either. It looks as though this one was broken from the start. Try again another day with a fresh pr.

@MatthewDaggitt
Copy link
Contributor

Isn't the 4th possibility 'do nothing', which is why it's hard to see it? We're talking about a group with 4 elements, which is the product of the group with 2 elements, so it's rather natural that only 3 of them show up!

Haha yes. Whoops, sorry for throwing out that confusing statement 😅

@jamesmckinna
Copy link
Contributor Author

To follow up on my comments form a week ago (or more). I'll start a fresh branch and roll up the commits form this one, and then open a fresh PR. So this one moved to 'Draft' while I thought about it some more, and of course lots has changed in the meantime, but this one should be a very 'local' change.

@jamesmckinna jamesmckinna added the status: duplicate The main contents of the issue or PR already exists in another issue or PR. label Jan 26, 2023
@jamesmckinna
Copy link
Contributor Author

superseded by #1910

jamesmckinna added a commit to jamesmckinna/agda-stdlib that referenced this pull request Apr 17, 2023
plt-amy pushed a commit that referenced this pull request Jul 21, 2023
@andreasabel andreasabel mentioned this pull request Aug 27, 2023
MatthewDaggitt pushed a commit that referenced this pull request Oct 13, 2023
@jamesmckinna jamesmckinna deleted the ring-op branch October 21, 2023 15:01
andreasabel pushed a commit that referenced this pull request Jul 10, 2024
@andreasabel andreasabel mentioned this pull request Jul 24, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
addition status: duplicate The main contents of the issue or PR already exists in another issue or PR. status: invalid
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants