Skip to content

Commit d8668df

Browse files
authored
Merge pull request #5 from rkirov/lemma2.5
Add proof for lemma 2.5
2 parents ff7b786 + 7494491 commit d8668df

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)