Zulip Chat Archive
Stream: Is there code for X?
Topic: first isomorphism theorem for algebra morphisms
Antoine Chambert-Loir (Feb 27 2024 at 09:28):
I can't believe that there isn't a version of docs#quotientKerEquivRange for docs#AlgHom
example {R : Type u} [CommRing R]
(S : Type v) [CommRing S] [Algebra R S]
(T : Type w) [CommRing T] [Algebra R T]
(f : S →ₐ[R] T) :
(S ⧸ (RingHom.ker f.toRingHom)) ≃ₐ[R] f.range := by
sorry
Antoine Chambert-Loir (Feb 27 2024 at 10:08):
Well, it's at one step from docs#Ideal.quotientKerAlgEquivOfSurjective
Riccardo Brasca (Feb 27 2024 at 10:34):
It indeed seems we are missing this version (we have the one using RingHom.range
in that file so I would surprised if it were elsewhere).
Antoine Chambert-Loir (Feb 27 2024 at 10:34):
I'll do it, but this requires a few other lemmas…
Antoine Chambert-Loir (Feb 27 2024 at 10:35):
Relatedly, it is very annoying to have to type RingHom.ker f.toRingHom
everytime one needs to consider the kernel of a morphism of algebras… is there a better way? Should one add AlgHom.ker
, etc.
Riccardo Brasca (Feb 27 2024 at 10:41):
What do you mean? This works
import Mathlib
variable {R A B : Type*} [CommRing R] [Ring A] [Ring B] [Algebra R A] [Algebra R B]
variable (f : A →ₐ[R] B)
#check RingHom.ker f
Ruben Van de Velde (Feb 27 2024 at 10:41):
You can write RingHom.ker f
, no?
Riccardo Brasca (Feb 27 2024 at 10:41):
I agree that writing f.ker
would be nicer thought
Antoine Chambert-Loir (Feb 27 2024 at 10:41):
maybe — but I expect to be able to write f.ker
.
Ruben Van de Velde (Feb 27 2024 at 10:43):
Yeah, this used to be possible in lean 3, but lean 4 is stricter on dot notation. Not sure if there's a chance to change that
Antoine Chambert-Loir (Feb 27 2024 at 10:43):
There are also inconsistencies in notation : compare docs#Ideal.quotientKerAlgEquivOfSurjective and docs#RingHom.quotientKerEquivOfSurjective
I believe the former should be in the AlgHom
namespace and not in Ideal.AlgHom
…
Antoine Chambert-Loir (Feb 27 2024 at 10:43):
Ruben Van de Velde said:
Yeah, this used to be possible in lean 3, but lean 4 is stricter on dot notation. Not sure if there's a chance to change that
It suffices to add a definition of AlgHom.ker
Ruben Van de Velde (Feb 27 2024 at 10:44):
Nothing to see at docs#Ideal.AlgHom.quotientKerEquivRange
Antoine Chambert-Loir (Feb 27 2024 at 10:46):
(edited)
Antoine Chambert-Loir (Feb 27 2024 at 10:46):
(the missing function is precisely the one that is missing…)
Riccardo Brasca (Feb 27 2024 at 10:47):
I am not sure how to activate dot notation, currently we cannot write f.ker
even if f
is a RingHom
.
Riccardo Brasca (Feb 27 2024 at 10:51):
Ah, this is just because RingHom.ker
doesn't take a ring hom as argument (but a term of type RIngHomClass
)
Eric Rodriguez (Feb 28 2024 at 14:39):
We do still have an issue asking for more extensible dot notation, right? I guess in theory this could be done via aliases right now but that seems pretty terrible
Eric Rodriguez (Feb 28 2024 at 14:40):
It'd be nice to be able to register specifically that RingHoms and AlgHoms can use RingHom dot notation, and if the name matches just try put it in even if it's not quite right' - on the other hand this is a bit at odds with other details of the implementation of dot notation
Last updated: May 02 2025 at 03:31 UTC