Zulip Chat Archive
Stream: Is there code for X?
Topic: Group hom factors through surjection
David Loeffler (Apr 12 2024 at 16:49):
Suppose I have group homs f : G →* H
and g : G →* J
. If f
is surjective, and g
is trivial on ker f
, then g
factors through f
. Is there a one-liner proof of this in mathlib?
Eric Wieser (Apr 12 2024 at 16:49):
docs#MonoidHom.liftOfSurjective or something nearby?
Adam Topaz (Apr 12 2024 at 16:53):
Not really related, but I wonder what others think of definitions formulated like this. I would much rather be able to write f.liftOfSurjective hf g <| by ...
as opposed to f.liftOfSurjective hf \<g, by ...\>
, just in terms of ergonomics.
Eric Wieser (Apr 12 2024 at 16:56):
It's useful to have these Equiv
versions because it means you can rewrite by Equiv.surjective.forall
or apply Equiv.injective
Eric Wieser (Apr 12 2024 at 16:56):
maybe we should have a different name for the equiv version; but having two names for everything is possibly worse than a few extra angle brackets
Eric Wieser (Apr 12 2024 at 16:57):
A few years ago I systematically promoted many of these lift
-like results to equivalences
David Loeffler (Apr 12 2024 at 16:58):
We seem to be missing a lemma MonoidHom.liftOfSurjective_comp
stating the defining property.
Eric Wieser (Apr 12 2024 at 16:59):
Is it docs#AddMonoidHom.liftOfRightInverse_comp ?
Adam Topaz (Apr 12 2024 at 17:00):
The RHS of that equiv should also be a subtype :)
Eric Wieser (Apr 12 2024 at 17:00):
What subtype?
Adam Topaz (Apr 12 2024 at 17:01):
nevermind I'm wrong.
David Loeffler (Apr 12 2024 at 17:01):
Eric Wieser said:
Yes, that gives it pretty quickly, but if we're going to have liftOfSurjective
as an alias for a special case of liftOfRightInverse
, then we should have the corresponding lemma too.
Adam Topaz (Apr 12 2024 at 17:01):
FWIW, I don't think we should get rid of the equiv versions of such lift constructions, but I would rather have both (again, just for ergonomics)
Eric Wieser (Apr 12 2024 at 17:01):
liftOfSurjective
is reducible, so rw [liftOfRightInverse_comp_apply]
will work on it. Generally we don't repeat lemmas for reducible def
(a.k.a abbrev
s), because that defeats the point of it being reducible in the first place
Last updated: May 02 2025 at 03:31 UTC