Zulip Chat Archive
Stream: mathlib4
Topic: klein
BANGJI HU (Mar 30 2025 at 17:02):
The Klein group is a regular subgroup of A4, how to formalize the question stem·here are my try
import Mathlib.Tactic
import Mathlib.Algebra.Group.Basic
variable(G : Type) [Group G] [IsKleinFour G]
lemma V4_normal : (G : Type) [Group G] [IsKleinFour G] Normal (G : Subgroup (AlternatingGroup (Fin 4))) := by
Yury G. Kudryashov (Mar 30 2025 at 19:00):
- Why are you interested in this particular question?
- Please provide an unformal math statement & proof.
- Please try to fix the syntax errors or explain what you don't understand about the error messages.
Antoine Chambert-Loir (Mar 30 2025 at 21:20):
I had to study this for my work on the alternating group. My method, to be found in the Jordan4/V4.lean, is more sophisticated than the non-proof that is usually suggested.
- I consider the set of elements of A4 with cycle type (2,2) to which I add the identity; this is a four-element set (because one knows the number of permutations of given cycle type).
- In that set, each element satisfies .
- Let be a 2-Sylow subgroup of A4. It has order 4. Any element of satisfies ; using the possible cycle types, one sees that they belong to .
- Since and have both cardinality 4, one has .
- This proves that is a subgroup, and that it is equal to any 2-Sylow subgroup of A4.
- Since all 2-Sylow subgroups are conjugate, is normal.
Antoine Chambert-Loir (Mar 30 2025 at 21:22):
A more elementary proof would probably be possible by proving directly that the elements of the set is stable under products.
Miyahara Kō (Apr 01 2025 at 16:03):
My formalization in #23555:
- Consider as the subgroup of , not .
- Prove that iff the type of is none or .
- The fact that is normal in follows immediately from this.
- This is normal in too.
vxctyxeha (Apr 10 2025 at 15:52):
@Miyahara Kō have a look tactic 'decide' failed for proposition
(∀ (x : ↑{1, swap 0 1 * swap 2 3,
import Mathlib
open Equiv Equiv.Perm Subgroup Fintype
abbrev A4 : Subgroup (Perm (Fin 4)) := alternatingGroup (Fin 4)
def kleinFour : Subgroup (Perm (Fin 4)) where
carrier := {1, swap 0 1 * swap 2 3, swap 0 2 * swap 1 3, swap 0 3 * swap 1 2}
mul_mem' := by decide
one_mem' := by decide
inv_mem' := by decide
lemma kleinFour_le_alternatingGroup : kleinFour ≤ alternatingGroup (Fin 4) := by
intro p hp
rw [Equiv.Perm.mem_alternatingGroup]
simp only [kleinFour, Subgroup.mem_mk, Set.mem_insert_iff, Set.mem_singleton_iff] at hp
rcases hp with rfl | rfl | rfl | rfl <;>
decide
lemma mem_kleinFour {p : Perm (Fin 4)} :
p ∈ kleinFour ↔ p.cycleType ∈ ({0, {2, 2}} : Set (Multiset ℕ)) := by
revert p; simp_rw [kleinFour, mem_mk, iff_def, forall_and, SetCoe.forall']; decide
instance : kleinFour.Normal where
conj_mem := by simp [mem_kleinFour]
lemma card_kleinFour : Nat.card kleinFour = 4 := by
simp [kleinFour]
decide
theorem A4_has_normal_subgroup_of_order_4 :
∃ (H : Subgroup (Perm (Fin 4))), H ≤ A4 ∧ Nat.card H = 4 ∧ Subgroup.Normal H := by
use kleinFour
refine' ⟨_, _, _⟩
exact kleinFour_le_alternatingGroup
exact card_kleinFour
exact instNormalPermFinOfNatNatKleinFour
Michael Rothgang (Apr 10 2025 at 18:25):
(deleted)
Last updated: May 02 2025 at 03:31 UTC