Zulip Chat Archive
Stream: Is there code for X?
Topic: Quotient by MulAction and transitivity
Christian Merten (Feb 02 2024 at 18:26):
I did not find that given a group G
acting on a non-empty type α
, the action is transitive if and only if the quotient by the action has exactly one element, i.e.
import Mathlib
variable (G : Type*) [Group G] (α : Type*) [MulAction G α]
lemma MulAction.pretransitive_iff_subsingleton_quotient :
MulAction.IsPretransitive G α ↔ Subsingleton (MulAction.orbitRel.Quotient G α) := by
constructor
· intro _
refine ⟨fun a b ↦ Quot.inductionOn a (fun x ↦ ?_)⟩
exact Quot.inductionOn b (fun y ↦ Quot.sound <| MulAction.exists_smul_eq G y x)
· intro _
refine ⟨fun a b ↦ ?_⟩
have h : Quotient.mk (MulAction.orbitRel G α) b = ⟦a⟧ := Subsingleton.elim _ _
exact Quotient.eq_rel.mp h
lemma MulAction.pretransitive_iff_unique_quotient_of_nonempty [Nonempty α] :
MulAction.IsPretransitive G α ↔ Nonempty (Unique <| MulAction.orbitRel.Quotient G α) := by
rw [unique_iff_subsingleton_and_nonempty, MulAction.pretransitive_iff_subsingleton_quotient]
simp only [iff_self_and]
exact fun _ ↦ (nonempty_quotient_iff _).mpr inferInstance
Did I miss something? If not, should this be somewhere? If yes, where? docs#Mathlib.GroupTheory.GroupAction.Basic is already quite long.
Kevin Buzzard (Feb 02 2024 at 18:56):
Is the action of G on the empty set transitive? This is just a matter of definitions, but 1 is not prime and the empty set is not connected, I was wondering if it was one of those situations. If it's not (and if there's a notion of being pretransitive like we have preprime and preconnected) then you don't need the nonempty assumption :-)
Christian Merten (Feb 02 2024 at 18:59):
Yes, there is IsPretransitive
and no, I would say the action of G
on the empty set is not transitive. That's why there are two versions: The first one is: the action is pretransitive iff the quotient is a subsingleton and the second one is: the action is transitive iff the quotient is a singleton.
Christian Merten (Feb 02 2024 at 19:01):
I guess I could make the Nonempty
assumption part of the left hand side of the equivalence in the second lemma, but I have the impression that this makes applications more annoying.
Christian Merten (Feb 02 2024 at 19:03):
(there is no Transitive
typeclass)
Kevin Buzzard (Feb 02 2024 at 19:03):
Oh nice! I didn't actually look at the code at all, I was just commenting on the text you wrote :-) Now I see that indeed there is a concept of pretransitive :-)
Last updated: May 02 2025 at 03:31 UTC