@@ -140,11 +140,21 @@ theorem closure_of_isSwap_of_isPretransitive [Finite α] {S : Set (Perm α)} (hS
140140 [MulAction.IsPretransitive (Subgroup.closure S) α] : Subgroup.closure S = ⊤ := by
141141 simp [eq_top_iff', mem_closure_isSwap hS, orbit_eq_univ, Set.toFinite]
142142
143+ /-- A transitive permutation group generated by transpositions must be the whole symmetric group -/
144+ theorem surjective_of_isSwap_of_isPretransitive' [Finite α] (S : Set G)
145+ (hS1 : ∀ σ ∈ S, MulAction.toPermHom G α σ = 1 ∨ Perm.IsSwap (MulAction.toPermHom G α σ))
146+ (hS2 : Subgroup.closure S = ⊤) [h : MulAction.IsPretransitive G α] :
147+ Function.Surjective (MulAction.toPermHom G α) := by
148+ have h : closure ((toPermHom G α '' S) \ {1 }) = (toPermHom G α).range := by
149+ rw [closure_diff_one, ← MonoidHom.map_closure, hS2, ← MonoidHom.range_eq_map]
150+ have := IsPretransitive.of_compHom (α := α) (toPermHom G α).rangeRestrict
151+ rw [← h] at this
152+ rw [← MonoidHom.range_eq_top, ← h, closure_of_isSwap_of_isPretransitive]
153+ rintro - ⟨⟨σ, hσ, rfl⟩, hσ1 ⟩
154+ exact (hS1 σ hσ).resolve_left hσ1
155+
143156/-- A transitive permutation group generated by transpositions must be the whole symmetric group -/
144157theorem surjective_of_isSwap_of_isPretransitive [Finite α] (S : Set G)
145158 (hS1 : ∀ σ ∈ S, Perm.IsSwap (MulAction.toPermHom G α σ)) (hS2 : Subgroup.closure S = ⊤)
146- [h : MulAction.IsPretransitive G α] : Function.Surjective (MulAction.toPermHom G α) := by
147- rw [← MonoidHom.range_eq_top]
148- have := MulAction.IsPretransitive.of_compHom (α := α) (MulAction.toPermHom G α).rangeRestrict
149- rw [MonoidHom.range_eq_map, ← hS2, MonoidHom.map_closure] at this ⊢
150- exact closure_of_isSwap_of_isPretransitive (Set.forall_mem_image.2 hS1)
159+ [h : MulAction.IsPretransitive G α] : Function.Surjective (MulAction.toPermHom G α) :=
160+ surjective_of_isSwap_of_isPretransitive' S (fun σ hσ ↦ Or.inr (hS1 σ hσ)) hS2
0 commit comments