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 VV 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 gg satisfies g2=1g^2=1.
  • Let SS be a 2-Sylow subgroup of A4. It has order 4. Any element of SS satisfies g4=1g^4=1; using the possible cycle types, one sees that they belong to VV.
  • Since SS and VV have both cardinality 4, one has S=VS=V.
  • This proves that VV is a subgroup, and that it is equal to any 2-Sylow subgroup of A4.
  • Since all 2-Sylow subgroups are conjugate, VV 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 VV is stable under products.

Miyahara Kō (Apr 01 2025 at 16:03):

My formalization in #23555:

  • Consider K4:={0,(01)(23),(02)(13),(03)(12)}K_4 := \{0, (0 1)(2 3), (0 2)(1 3), (0 3)(1 2)\} as the subgroup of S4S_4, not A4A_4.
  • Prove that σK4\sigma \in K_4 iff the type of σ\sigma is none or (2,2)(2, 2).
  • The fact that K4K_4 is normal in S4S_4 follows immediately from this.
  • This is normal in A4A_4 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