Skip to content

Conversation

JacquesCarette
Copy link
Contributor

Reasoning combinators for monoid, renamed and adapted for Ring. Builds on #2692 .

@Taneb
Copy link
Member

Taneb commented Jul 12, 2025

  1. I'd like to see the new semigroup properties here as well
  2. The semigroup properties on * and the monoid properties on + work for RingWithoutOne
  3. In fact, they work on Semiring and SemiringWithoutOne, but we don't have a Properties module for those

@jamesmckinna
Copy link
Contributor

@Taneb 's 1,2,3 above echo my thoughts on looking at these, but maybe, given our ongoing issues regarding naming in #2688 that it isn't so straightforward to back-fill the Properties for weaker structures... yet?

@JacquesCarette JacquesCarette marked this pull request as draft July 21, 2025 21:12
@JacquesCarette JacquesCarette added this to the v2.4 milestone Jul 21, 2025
Copy link
Contributor

@jamesmckinna jamesmckinna left a comment

Choose a reason for hiding this comment

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

Thanks for incorporating my nitpick suggestions.

@jamesmckinna
Copy link
Contributor

Guessing that this PR hints that we should perhaps also have/need the intermediate extension to Algebra.Properties.(Abelian)Group to incorporate inverse equational simplification for the +-abelianGroup sub-structure/-bundle... as a downstream PR.

@JacquesCarette
Copy link
Contributor Author

Yes, there is quite a lot that can be done in this vein.

We should be careful not to have perfect be the enemy of definite-improvement...

@jamesmckinna
Copy link
Contributor

Yes, there is quite a lot that can be done in this vein.

We should be careful not to have perfect be the enemy of definite-improvement...

Yeah, not my intention at all to obstruct this PR with demands for more here... but elsewhere, in due course, definitely!

@JacquesCarette
Copy link
Contributor Author

I guess, strictly speaking, neither you nor @Taneb are blocking this on requiring more features...

@jamesmckinna
Copy link
Contributor

Absolutely not blocking from me!

but... maybe a rebase against the new master to sort out the CHANGELOG conflict, and to catch the already-merged Semigroup commits (I think the Monoid PR I still open though...?)?

@JacquesCarette
Copy link
Contributor Author

That's why it's Draft, I need to do at least those changes.

@jamesmckinna
Copy link
Contributor

jamesmckinna commented Oct 11, 2025

Suggest a rebase to bring this up-to-date with everything that has happened so far, esp. if you want this for v2.4
Otherwise looks fine (though I personally don't like 'short' qualified module names such as PM, rather than eg MonoidProperties), as I don't really see that saving characters is the win worth having, compared to not having to chase at east on level of indirection to figure out what is going on... but then I'm on the 'verbose' end of the spectrum ;-)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants