Skip to content

Commit 7494491

Browse files
committed
Add proof for lemma 2.5
Note that it doesn't need any of the abelian assumption. Checked that the proof in the paper similary didn't need that.
1 parent f1ebfa8 commit 7494491

1 file changed

Lines changed: 55 additions & 9 deletions

File tree

ClassificationOfSubgroups/Ch6_MaximalAbelianSubgroupClassEquation/S3_NoncenterClassEquation.lean

Lines changed: 55 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -13,12 +13,13 @@ universe u
1313
open Matrix MatrixGroups Subgroup MulAut MaximalAbelianSubgroup Pointwise SpecialSubgroups
1414

1515

16-
/- The non-central part of a subgroup -/
16+
/-- The non-central part of a subgroup as a set. -/
1717
def Subgroup.noncenter {G : Type*} [Group G] (H : Subgroup G) : Set G :=
1818
H.carrier \ center G
1919

20-
21-
20+
theorem Subgroup.mem_noncenter {G : Type*} [Group G] {H : Subgroup G} {x : G} :
21+
x ∈ H.noncenter ↔ x ∈ H ∧ x ∉ center G := by
22+
simp [Subgroup.noncenter, Set.mem_diff, SetLike.mem_coe]
2223

2324
/-
2425
Definition. The set $\mathcal{C}(A) = Cl(A) = \{x A x^{-1} \; | \; x ∈ G \}$
@@ -703,12 +704,57 @@ theorem card_noncenter_fin_subgroup_eq_sum_card_noncenter_mul_index_normalizer {
703704

704705
#check MonoidHom
705706

706-
707-
708-
/- Lemma 2.5 N_G(A) = N_G(A*)-/
709-
lemma normalizer_noncentral_eq {F : Type*} [Field F] (A G : Subgroup SL(2,F)) [Finite G]
710-
(hA : A ∈ MaximalAbelianSubgroupsOf G) : normalizer (A.subgroupOf G) = setNormalizer (noncenter (A.subgroupOf G)) := by
711-
sorry
707+
-- todo: probably somewhere in mathlib, but I can't find it.
708+
lemma center_conj {G : Type*} [Group G] (x : G) (y: G) :
709+
x ∈ center G ↔ y * x * y⁻¹ ∈ center G := by
710+
simp only [mem_center_iff]
711+
constructor <;> intro h z
712+
· have := h (y⁻¹ * z * y)
713+
calc z * (y * x * y⁻¹)
714+
= y * (y⁻¹ * z * y * x) * y⁻¹ := by group
715+
_ = y * (x * (y⁻¹ * z * y)) * y⁻¹ := by rw [this]
716+
_ = y * x * y⁻¹ * z := by group
717+
· have := h (y * z * y⁻¹)
718+
calc z * x
719+
= y⁻¹ * (y * z * y⁻¹ * (y * x * y⁻¹)) * y := by group
720+
_ = y⁻¹ * ((y * x * y⁻¹) * (y * z * y⁻¹)) * y := by rw [this]
721+
_ = x * z := by group
722+
723+
/-- Lemma 2.5 N_G(A) = N_G(A*)
724+
Oddly it doesn't need any assumption about A being maximal or abelian.
725+
-/
726+
lemma normalizer_noncentral_eq {F : Type*} [Field F] (A G : Subgroup SL(2,F)) [Finite G]:
727+
normalizer (A.subgroupOf G) = setNormalizer (noncenter (A.subgroupOf G)) := by
728+
ext x
729+
constructor
730+
. intro h
731+
rw [mem_normalizer_iff] at h
732+
simp [setNormalizer]
733+
intro a ha
734+
specialize h ⟨a, ha⟩
735+
simp [Subgroup.mem_noncenter]
736+
rw [h]
737+
suffices ⟨a, ha⟩ ∈ center ↥G ↔ x * ⟨a, ha⟩ * x⁻¹ ∈ center ↥G by
738+
apply not_iff_not.mpr at this
739+
rw [this]
740+
rw [← center_conj]
741+
. intro h
742+
rw [mem_normalizer_iff]
743+
simp [setNormalizer] at h
744+
intro a
745+
specialize h a a.prop
746+
simp [Subgroup.mem_noncenter] at h
747+
by_cases hc: a ∈ center ↥G
748+
. have : x * a * x⁻¹ = a := by
749+
rw [mem_center_iff] at hc
750+
specialize hc x
751+
rw [hc]
752+
group
753+
rw [this]
754+
. simp [hc] at h
755+
rw [not_iff_not.mpr (center_conj a x)] at hc
756+
simp [hc] at h
757+
exact h
712758

713759
/- Lemma Let `Q` be a `p`-Sylow subgroup of `G` then $N_G(Q \sqcup Z) = N_G(Q)$-/
714760
lemma normalizer_Sylow_join_center_eq_normalizer_Sylow {F : Type*} [Field F] {p : ℕ}

0 commit comments

Comments
 (0)