Zulip Chat Archive
Stream: mathlib4
Topic: saturation of a submonoid
Kenny Lau (Oct 31 2025 at 18:47):
I would like to define the saturation of a submonoid, I think it would be useful for localisation stuff
Kenny Lau (Oct 31 2025 at 18:48):
I haven't really seen this name elsewhere other than atiyah-macdonald (P. 44):
Kenny Lau (Oct 31 2025 at 18:48):
it should be { x : A | ∃ y : A, x * y ∈ s }
Kenny Lau (Oct 31 2025 at 18:49):
seeing this definition written explicitly perhaps it could be done as an iSup, but i'm not sure if the individual submonoids have a name (maybe absorber?)
Aaron Liu (Oct 31 2025 at 18:56):
Kenny Lau said:
it should be
{ x : A | ∃ y : A, x * y ∈ s }
that's probably something like open scoped Pointwise in x • (s : Set A)
Aaron Liu (Oct 31 2025 at 18:57):
wait no it's not
Aaron Liu (Oct 31 2025 at 18:57):
the other way around maybe
Aaron Liu (Oct 31 2025 at 18:57):
no
Aaron Liu (Oct 31 2025 at 18:57):
oh it's backwards
Aaron Liu (Oct 31 2025 at 18:58):
hmmm
Aaron Liu (Oct 31 2025 at 18:58):
yeah I don't have a clever way of writing this
Kenny Lau (Oct 31 2025 at 19:16):
oh also the individual parts aren't a submonoid, so nvm about iSup
Yury G. Kudryashov (Oct 31 2025 at 19:22):
Kenny Lau said:
it should be
{ x : A | ∃ y : A, x * y ∈ s }
My guess is that this works only for commutative monoids. Otherwise you should at least allow multiplication on both sides. Also, I'm not sure if the result will be closed under products after that in the noncommutative case.
Aaron Liu (Oct 31 2025 at 19:26):
This is some sort of root
Kenny Lau (Oct 31 2025 at 19:46):
so maybe we should focus on the commutative case for now?
Kenny Lau (Oct 31 2025 at 20:12):
oh no, why do we have AddSubgroup.Saturated
Junyan Xu (Oct 31 2025 at 20:31):
See
Kenny Lau (Oct 31 2025 at 20:33):
@Junyan Xu did they decide on a name?
Aaron Liu (Oct 31 2025 at 20:40):
isn't this like
Aaron Liu (Oct 31 2025 at 20:40):
dividing a submodule by a scalar action
Aaron Liu (Oct 31 2025 at 20:40):
but without the addition
Kenny Lau (Oct 31 2025 at 21:53):
Yan Yablonovskiy 🇺🇦 (Nov 01 2025 at 00:34):
Kenny Lau said:
I haven't really seen this name elsewhere other than atiyah-macdonald (P. 44):
I was also planning to define these for my own use in my wheel theory repo, they are used in Wheels, on division by zero .
Kenny Lau (Nov 01 2025 at 10:48):
@Aaron Liu for the case of the smallest saturated submonoid of (Function.End Nat), is it just going to contain everything?
Kenny Lau (Nov 01 2025 at 10:57):
yeah i think so:
- it needs to contain id
- then it contains any f and g with fg=id, so it contains all injective and surjective maps
- if f is an arbitrary function with infinite range, then the epi-mono factorisaion gives it as a surjection then an injection
- for finite range, the surjection is to Fin n instead, but i claim this is an injection then a surjection: take the injection f(x)=2x, then for the surjection map 2x to the correct things, then the odd numbers can be mapped to Nat, so this map is surjective
Kenny Lau (Nov 01 2025 at 10:58):
in effect we have proved Unique (SaturatedMonoid (Function.End X)) for any Infinite X
Kenny Lau (Nov 01 2025 at 10:59):
for finite X, bijective iff surjective iff injective, so the bijective maps form a saturated submonoid, which is different from the top for #X > 1
Kenny Lau (Nov 01 2025 at 11:00):
do you think this is equivalent to choice? :upside_down:
Kenny Lau (Nov 01 2025 at 17:26):
@Aaron Liu i'm wondering for the definitions specialised to commmonoid whether i should have them as separate definitions or just inline them in the relevant theorems
Aaron Liu (Nov 01 2025 at 17:28):
some of my favorite monoids are noncommutative
Aaron Liu (Nov 01 2025 at 17:28):
can't we just have theorems specialized to comm monoids
Kenny Lau (Nov 01 2025 at 17:28):
lemme show you what i mean
Kenny Lau (Nov 01 2025 at 17:29):
Kenny Lau (Nov 01 2025 at 17:29):
this is my current setup, which feels suboptimal
Aaron Liu (Nov 01 2025 at 17:29):
oh that's weird
Kenny Lau (Nov 01 2025 at 17:29):
I kinda need to construct it once in order to prove that it is the saturation
Kenny Lau (Nov 01 2025 at 17:29):
so i'm wondering if i should construct it inline, i.e. in the theorem
Aaron Liu (Nov 01 2025 at 17:29):
can't you just use induction
Kenny Lau (Nov 01 2025 at 17:29):
or, i can use private
Aaron Liu (Nov 01 2025 at 17:29):
set up an induction principle
Kenny Lau (Nov 01 2025 at 17:31):
lemme try that
Aaron Liu (Nov 01 2025 at 17:31):
I'm talking about something like docs#Subgroup.closure_induction
Kenny Lau (Nov 01 2025 at 17:31):
yes, i understand, thanks
Aaron Liu (Nov 01 2025 at 17:31):
then you can just apply it in the theorem
Last updated: Dec 20 2025 at 21:32 UTC