Zulip Chat Archive
Stream: mathlib4
Topic: Proposal: Quotient of monoid
Kenny Lau (Jun 18 2025 at 23:19):
It has occurred to me that when we form quotient groups, we're basically only looking at the kernel, since that determines everything. But if we're only in a monoid, then we might want to quotient by a "monoidal relation" instead. That means, instead of looking at the information just a subgroup of G, I want to look at subset of M x M satisfying certain properties instead.
Do we have this in Mathlib, and if not, what is the correct set of properties?
Anatole Dedecker (Jun 18 2025 at 23:25):
Is this docs#Con and docs#Con.Quotient ?
Kenny Lau (Jun 18 2025 at 23:26):
thanks! that is correct.
Notification Bot (Jun 18 2025 at 23:43):
Kenny Lau has marked this topic as resolved.
Kenny Lau (Jun 19 2025 at 09:41):
@Anatole Dedecker does it also have a module version?
Notification Bot (Jun 19 2025 at 09:47):
Kenny Lau has marked this topic as unresolved.
Junyan Xu (Jun 19 2025 at 10:17):
I added a Module instance DirectLimit.instModule which should probably be generalized to any quotient by AddCon preserved by scalar multiplication ...
Yaël Dillies (Jun 19 2025 at 10:20):
Kenny Lau said:
Anatole Dedecker does it also have a module version?
@Eric Wieser was working on one such at some point, but I can't find it in mathlib right now
Eric Wieser (Jun 19 2025 at 10:31):
It's an open PR about actions on congruence relations
Kenny Lau (Jun 19 2025 at 10:38):
@Eric Wieser are you referring to #8658?
Kenny Lau (Jun 19 2025 at 10:39):
It seems like there is some conflict with the existing AddAction.QuotientAction ?
Yaël Dillies (Jun 19 2025 at 10:39):
Yes indeed it is meant to be a replacement of that
Eric Wieser (Jun 19 2025 at 10:40):
I think it might predate it
Kenny Lau (Jun 19 2025 at 10:41):
So what can I do about this situation?
Eric Wieser (Jun 19 2025 at 10:45):
I'd be happy for you to take over the PR
Eric Wieser (Jun 19 2025 at 10:45):
I'm afraid I don't remember if there was a technical issue or if I just lost interest
Eric Wieser (Jun 19 2025 at 10:46):
My guess is that we run into trouble using a typeclass on setoid relations, because r.toAddCon.toSetoid is not reducibly defeq to r.toCon.toSetoid
Kenny Lau (Jun 19 2025 at 10:48):
can I solve this issue by not using typeclass?
Eric Wieser (Jun 19 2025 at 10:51):
Unbundling congruence relations might help there, but we do want the bundled version for the lattice
Eric Wieser (Jun 19 2025 at 10:53):
What are you actually trying to achieve here?
Kenny Lau (Jun 19 2025 at 10:56):
@Eric Wieser quotient of module by congruence relation, generalisation of Submodule.quotientRel to "modules without negation"
Kenny Lau (Jun 19 2025 at 10:57):
see the other thread #mathlib4 > Proposal: Symmetric Tensor Power
Kevin Buzzard (Jun 19 2025 at 11:30):
But why do we care about modules without negation? I nowadays think that "generalisation for generalisation's sake" with no actual examples can be actively bad for the library because it causes disruption and can slow down typeclass inference with no win other than "it now works in situations that nobody needs"
Eric Wieser (Jun 19 2025 at 11:30):
You only need one particular Quotient then?
Eric Wieser (Jun 19 2025 at 11:34):
Kevin, I don't think Kenny is proposing an in-place generalization of Submodule, since that doesn't really work anyway
Eric Wieser (Jun 19 2025 at 11:34):
Making this generalization globally would amount to saying "stop using quotients by subgroups, work directly with the congruence relations"
Eric Wieser (Jun 19 2025 at 11:35):
(and adjusting the statements of things like the isomorphism theorems to match)
Eric Wieser (Jun 19 2025 at 11:39):
On second thoughts, I guess we could take the approach used by docs#TwoSidedIdeal, and redefine Subgroup as a Con wrapper with a membership defined by r 1 x
Kenny Lau (Jun 19 2025 at 11:43):
well i thought some people do use semirings and semimodules
Last updated: Dec 20 2025 at 21:32 UTC