@@ -185,30 +185,25 @@ open alternatingGroup
185185
186186@[simp]
187187theorem closure_three_cycles_eq_alternating :
188- closure { σ : Perm α | IsThreeCycle σ } = alternatingGroup α :=
189- closure_eq_of_le _ (fun _ hσ => mem_alternatingGroup. 2 hσ.sign ) fun σ hσ => by
190- suffices hind :
191- ∀ (n : ℕ) (l : List (Perm α)) (_ : ∀ g, g ∈ l → IsSwap g) (_ : l.length = 2 * n),
192- l.prod ∈ closure { σ : Perm α | IsThreeCycle σ } by
193- obtain ⟨l, rfl, hl⟩ := truncSwapFactors σ
194- obtain ⟨n, hn⟩ := (prod_list_swap_mem_alternatingGroup_iff_even_length hl).1 hσ
195- rw [← two_mul] at hn
196- exact hind n l hl hn
197- intro n
198- induction n with intro l hl hn
199- | zero => simp [List.length_eq_zero_iff.1 hn, one_mem]
200- | succ n ih =>
188+ closure { σ : Perm α | IsThreeCycle σ } = alternatingGroup α := by
189+ refine closure_eq_of_le _ (fun _ ↦ IsThreeCycle.mem_alternatingGroup ) fun σ hσ ↦ ?_
190+ suffices hind :
191+ ∀ (n : ℕ) (l : List (Perm α)) (_ : ∀ g, g ∈ l → IsSwap g) (_ : l.length = 2 * n),
192+ l.prod ∈ closure { σ : Perm α | IsThreeCycle σ } by
193+ obtain ⟨l, rfl, hl⟩ := truncSwapFactors σ
194+ obtain ⟨n, hn⟩ := (prod_list_swap_mem_alternatingGroup_iff_even_length hl).1 hσ
195+ rw [← two_mul] at hn
196+ exact hind n l hl hn
197+ intro n
198+ induction n with intro l hl hn
199+ | zero => simp [List.length_eq_zero_iff.1 hn, one_mem]
200+ | succ n ih =>
201201 rw [Nat.mul_succ] at hn
202202 obtain ⟨a, l, rfl⟩ := l.exists_of_length_succ hn
203203 rw [List.length_cons, Nat.succ_inj] at hn
204204 obtain ⟨b, l, rfl⟩ := l.exists_of_length_succ hn
205205 rw [List.prod_cons, List.prod_cons, ← mul_assoc]
206- rw [List.length_cons, Nat.succ_inj] at hn
207- exact
208- mul_mem
209- (IsSwap.mul_mem_closure_three_cycles (hl a List.mem_cons_self)
210- (hl b (List.mem_cons_of_mem a List.mem_cons_self)))
211- (ih _ (fun g hg => hl g (List.mem_cons_of_mem _ (List.mem_cons_of_mem _ hg))) hn)
206+ apply mul_mem <;> grind [IsSwap.mul_mem_closure_three_cycles]
212207
213208/-- The alternating group is the closure of the set of permutations with cycle type (2, 2). -/
214209theorem closure_cycleType_eq_2_2_eq_alternatingGroup (h5 : 5 ≤ Nat.card α) :
@@ -236,17 +231,14 @@ theorem closure_cycleType_eq_2_2_eq_alternatingGroup (h5 : 5 ≤ Nat.card α) :
236231 at least 5 elements is the entire alternating group if it contains a 3-cycle. -/
237232theorem IsThreeCycle.alternating_normalClosure (h5 : 5 ≤ Fintype.card α) {f : Perm α}
238233 (hf : IsThreeCycle f) :
239- normalClosure ({⟨f, hf.mem_alternatingGroup⟩} : Set (alternatingGroup α)) = ⊤ :=
240- eq_top_iff.2
241- (by
242- rw [← map_subtype_le_map_subtype]
243- rw [← MonoidHom.range_eq_map, range_subtype, normalClosure, MonoidHom.map_closure]
244- refine (le_of_eq closure_three_cycles_eq_alternating.symm).trans (closure_mono ?_)
245- intro g h
246- obtain ⟨c, rfl⟩ := isConj_iff.1 (isConj_iff_cycleType_eq.2 (hf.trans h.symm))
247- refine ⟨⟨c * f * c⁻¹, h.mem_alternatingGroup⟩, ?_, rfl⟩
248- rw [Group.mem_conjugatesOfSet_iff]
249- exact ⟨⟨f, hf.mem_alternatingGroup⟩, Set.mem_singleton _, isThreeCycle_isConj h5 hf h⟩)
234+ normalClosure ({⟨f, hf.mem_alternatingGroup⟩} : Set (alternatingGroup α)) = ⊤ := by
235+ rw [eq_top_iff, ← map_subtype_le_map_subtype, ← MonoidHom.range_eq_map, range_subtype,
236+ normalClosure, MonoidHom.map_closure]
237+ refine (le_of_eq closure_three_cycles_eq_alternating.symm).trans (closure_mono fun g h ↦ ?_)
238+ obtain ⟨c, rfl⟩ := isConj_iff.mp (isConj_iff_cycleType_eq.mpr (hf.trans h.symm))
239+ refine ⟨⟨c * f * c⁻¹, h.mem_alternatingGroup⟩, ?_, rfl⟩
240+ rw [Group.mem_conjugatesOfSet_iff]
241+ exact ⟨⟨f, hf.mem_alternatingGroup⟩, Set.mem_singleton _, isThreeCycle_isConj h5 hf h⟩
250242
251243/-- Part of proving $A_5$ is simple. Shows that the square of any element of $A_5$ with a 3-cycle in
252244 its cycle decomposition is a 3-cycle, so the normal closure of the original element must be
@@ -288,10 +280,7 @@ theorem nontrivial_of_three_le_card (h3 : 3 ≤ card α) : Nontrivial (alternati
288280 exact le_trans h3 (card α).self_le_factorial
289281
290282instance {n : ℕ} : Nontrivial (alternatingGroup (Fin (n + 3 ))) :=
291- nontrivial_of_three_le_card
292- (by
293- rw [card_fin]
294- exact le_add_left (le_refl 3 ))
283+ nontrivial_of_three_le_card (by simp)
295284
296285/-- The normal closure of the 5-cycle `finRotate 5` within $A_5$ is the whole group. This will be
297286 used to show that the normal closure of any 5-cycle within $A_5$ is the whole group. -/
0 commit comments