Skip to content

Commit 3b99fb5

Browse files
committed
some progress towards 2.3 iv) b)
1 parent c6c32d5 commit 3b99fb5

5 files changed

Lines changed: 170 additions & 113 deletions

File tree

ClassificationOfSubgroups/Ch6_MaximalAbelianSubgroupClassEquation/S2_MaximalAbelianSubgroup.lean renamed to ClassificationOfSubgroups/Ch6_MaximalAbelianSubgroupClassEquation/S2_A_MaximalAbelianSubgroup.lean

Lines changed: 10 additions & 89 deletions
Original file line numberDiff line numberDiff line change
@@ -561,9 +561,9 @@ lemma eq_centralizer_meet_of_center_lt {F : Type*} [Field F] [IsAlgClosed F] [De
561561

562562

563563

564-
565564
open MulAut
566565

566+
567567
lemma conj_ZS_eq_conj_Z_join_S {F : Type*} [Field F] (c : SL(2,F)):
568568
conj c • SZ F = conj c • S F ⊔ Z F := by
569569
rw [← SZ_eq_SZ']
@@ -1305,8 +1305,8 @@ theorem IsCyclic_and_card_coprime_CharP_or_eq_Q_join_Z {F : Type*}
13051305

13061306
-- could probably generalise to any map with some structure or maybe none at all
13071307
lemma iff_conj_MaximalAbelianSubgroupsOf_conj {G : Type* } [Group G]
1308-
(A H : Subgroup G) (c : G) :
1309-
A ∈ MaximalAbelianSubgroupsOf H ↔ conj c • A ∈ MaximalAbelianSubgroupsOf (conj c • H) := by
1308+
(A H : Subgroup G) (c : G) : A ∈ MaximalAbelianSubgroupsOf H
1309+
↔ conj c • A ∈ MaximalAbelianSubgroupsOf (conj c • H) := by
13101310
constructor
13111311
· intro ⟨⟨hA₁, hA₂⟩, A_le_H⟩
13121312
split_ands
@@ -1549,7 +1549,13 @@ theorem A_subgroupOf_normalizer_MulEquiv_conj_A_subgroupOf_conj_quot_eq
15491549
· simp only [subtype_apply, MulAut.smul_def, conj_apply]
15501550
group
15511551

1552-
lemma conj_eq_iff_eq_conj_inv {F : Type*} [Field F] {c : SL(2,F)} {A A' : Subgroup SL(2,F)} :
1552+
lemma conj_A_subgroupOf_G_eq_A'_subgroupOf_G {F : Type*} [Field F] {A A' G G' : Subgroup SL(2,F)} {c : SL(2,F)}
1553+
(A_eq_conj_A' : A = conj c • A') (G_eq_conj_G' : G = conj c • G') :
1554+
conj c • Subgroup.map G.subtype (A.subgroupOf G).normalizer = Subgroup.map G'.subtype (A'.subgroupOf G').normalizer := by
1555+
-- apply?
1556+
sorry
1557+
1558+
lemma conj_eq_iff_eq_conj_inv {F : Type*} [Field F] {c : SL(2,F)} (A A' : Subgroup SL(2,F)) :
15531559
conj c • A = A' ↔ A = conj c⁻¹ • A' := by
15541560
rw [smul_eq_iff_eq_inv_smul, MonoidHom.map_inv]
15551561

@@ -1962,12 +1968,9 @@ theorem index_normalizer_le_two {p : ℕ} [hp : Fact (Nat.Prime p)]
19621968
conv_rhs =>
19631969
rw [← card_ZMod_two_eq_two]
19641970
exact Nat.card_le_card_of_injective f hf
1965-
1966-
19671971
use A_subgroupOf_G_MonoidHom_ZMod_two A' G' A'_le_D hA'.right two_lt_card_A' A'_eq_G'_inf_D
19681972
exact injective_A_subgroupOf_G_MonoidHom_ZMod_two
19691973
A' G' A'_le_D hA'.right two_lt_card_A' A'_eq_G'_inf_D
1970-
19711974
-- Contradiction since the cardinality of A is coprime to p and
19721975
-- should A = Q ⊔ Z where Q is p elementary abelian, then p ∣ |A|
19731976
· obtain ⟨Q, hQ, Q_Finite, Q_le_G, A_eq_Q_join_Z, Q_isElementaryAbelian, -⟩ := h
@@ -1982,86 +1985,4 @@ theorem index_normalizer_le_two {p : ℕ} [hp : Fact (Nat.Prime p)]
19821985
apply Subgroup.card_dvd_of_le
19831986
exact le_sup_left
19841987

1985-
1986-
/-
1987-
Theorem 2.3 (iv b) Furthermore, if [NG (A) : A] = 2,
1988-
then there is an element y of NG (A)\A such that, yxy⁻¹ = x⁻¹ for all x ∈ A.
1989-
-/
1990-
theorem of_index_normalizer_eq_two {F : Type*} [Field F] [IsAlgClosed F] [DecidableEq F]
1991-
{p : ℕ} [Fact (Nat.Prime p)] [CharP F p] (p_ne_two : p ≠ 2) (A G : Subgroup SL(2,F))
1992-
[Finite G] (hA : A ∈ MaximalAbelianSubgroupsOf G) (center_le_G : center SL(2,F) ≤ G)
1993-
(hA' : Nat.Coprime (Nat.card A) p)
1994-
(hNA : relIndex (A.subgroupOf G) (A.subgroupOf G).normalizer = 2) (x : A) :
1995-
∃ y ∈ A.normalizer.carrier \ A, y * x * y⁻¹ = x⁻¹ := by
1996-
have two_lt_card_A : 2 < Nat.card A := by
1997-
have key := card_normalizer_inf_G_eq_one_of_card_le_two p_ne_two A G center_le_G hA
1998-
contrapose! key
1999-
constructor
2000-
· exact key
2001-
· rw [hNA]
2002-
norm_num
2003-
have G_ne_center : G ≠ center SL(2,F) := G_ne_center_of_two_lt_card A G hA two_lt_card_A
2004-
2005-
rcases IsCyclic_and_card_coprime_CharP_or_eq_Q_join_Z_of_center_ne p G A hA
2006-
center_le_G G_ne_center with (⟨⟨c, A', Finite_A', A'_le_D, A_eq_conj_A'⟩, -⟩ | h)
2007-
· let G' := conj c⁻¹ • G
2008-
have G_eq_conj_G' : G = conj c • G' := by simp [G']
2009-
have hA' : A' ∈ MaximalAbelianSubgroupsOf G' := by
2010-
rw [iff_conj_MaximalAbelianSubgroupsOf_conj A' G' c, ← A_eq_conj_A', ← G_eq_conj_G']
2011-
exact hA
2012-
2013-
rw [relIndex,
2014-
← relIndex_MaximalAbelianSubgroupOf_normalizer_eq_relIndex_conj_MaxAbelianSubgroupOf
2015-
A_eq_conj_A' G_eq_conj_G'] at hNA
2016-
have two_lt_card_A' : 2 < Nat.card A' := by rwa [card_conj_eq_card A_eq_conj_A']
2017-
have A'_eq_G'_inf_D : A' = G' ⊓ D F := A_eq_G_inf_D A' G' A'_le_D hA'
2018-
2019-
let f := A_subgroupOf_G_MonoidHom_ZMod_two A' G' A'_le_D hA'.right two_lt_card_A' A'_eq_G'_inf_D
2020-
have Injective_f : Injective f := injective_A_subgroupOf_G_MonoidHom_ZMod_two A' G' A'_le_D hA'.right two_lt_card_A' A'_eq_G'_inf_D
2021-
-- let := Equiv.ofInjective
2022-
-- (A_subgroupOf_G_MonoidHom_ZMod_two A' G' A'_le_D hA'.right two_lt_card_A' A'_eq_G'_inf_D)
2023-
-- (injective_A_subgroupOf_G_MonoidHom_ZMod_two A' G' A'_le_D hA'.right two_lt_card_A' A'_eq_G'_inf_D)
2024-
2025-
have card_multiplicative_ZMod_two_eq_two : Nat.card (Multiplicative (ZMod 2)) = 2 := by
2026-
rw [Nat.card_eq_fintype_card, Fintype.card_multiplicative]; rfl
2027-
-- let := Equiv.mulEquiv (Equiv.ofInjective
2028-
-- (A_subgroupOf_G_MonoidHom_ZMod_two A' G' A'_le_D hA'.right two_lt_card_A' A'_eq_G'_inf_D)
2029-
-- (injective_A_subgroupOf_G_MonoidHom_ZMod_two A' G' A'_le_D hA'.right two_lt_card_A' A'_eq_G'_inf_D))
2030-
2031-
rw [index] at hNA
2032-
have key := ((Nat.bijective_iff_injective_and_card f).mpr
2033-
⟨Injective_f, by rwa [card_multiplicative_ZMod_two_eq_two]⟩).2
2034-
2035-
dsimp [f, A_subgroupOf_G_MonoidHom_ZMod_two] at key
2036-
rw [← comp_assoc] at key
2037-
-- want surjectivity of the second map on the left in the composition
2038-
2039-
2040-
sorry
2041-
2042-
sorry
2043-
2044-
/-
2045-
Theorem 2.3 (v a) Let Q be a Sylow p-subgroup of G.
2046-
If Q = { I_G }, then there is a cyclic subgroup K of G such that N_G (Q) = Q K.
2047-
-/
2048-
theorem exists_IsCyclic_K_normalizer_eq_Q_join_K {F : Type*} [Field F] { p : ℕ }
2049-
(hp : Nat.Prime p)
2050-
(G : Subgroup SL(2,F))
2051-
(Q : Sylow p G)
2052-
(h : Q.toSubgroup ≠ ⊥) :
2053-
∃ K : Subgroup G, IsCyclic K ∧ normalizer Q.toSubgroup = Q.toSubgroup ⊔ K := by sorry
2054-
2055-
/-
2056-
Theorem 2.3 (v b)If |K| > |Z|, then K ∈ M.
2057-
-/
2058-
theorem K_mem_MaximalAbelianSubgroups_of_center_lt_card_K {F : Type*} [Field F] { p : ℕ } [hp' : Fact (Nat.Prime p)] (G : Subgroup SL(2,F))
2059-
(Q : Sylow p G) (h : Q.toSubgroup ≠ ⊥) (K : Subgroup G)(hK : IsCyclic K)
2060-
(hNG : normalizer Q.toSubgroup = Q.toSubgroup ⊔ K) (h : Nat.card K > Nat.card (center SL(2,F))) :
2061-
map G.subtype K ∈ MaximalAbelianSubgroupsOf G := by
2062-
sorry
2063-
20641988
end MaximalAbelianSubgroup
2065-
2066-
2067-
#min_imports
Lines changed: 151 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,151 @@
1+
import ClassificationOfSubgroups.Ch6_MaximalAbelianSubgroupClassEquation.S2_A_MaximalAbelianSubgroup
2+
3+
open MaximalAbelianSubgroup Subgroup MulAction MulAut Pointwise Function SpecialSubgroups SpecialMatrices
4+
5+
open scoped MatrixGroups
6+
7+
#check A_subgroupOf_normalizer_MulEquiv_conj_A_subgroupOf_conj_quot_eq
8+
9+
#check normalizer_inf_le_eq_normalizer_subgroupOf
10+
/-
11+
Theorem 2.3 (iv b) Furthermore, if [NG (A) : A] = 2,
12+
then there is an element y of NG (A)\A such that, yxy⁻¹ = x⁻¹ for all x ∈ A.
13+
-/
14+
theorem of_index_normalizer_eq_two {F : Type*} [Field F] [IsAlgClosed F] [DecidableEq F]
15+
{p : ℕ} [Fact (Nat.Prime p)] [CharP F p] (p_ne_two : p ≠ 2) (A G : Subgroup SL(2,F))
16+
[Finite G] (hA : A ∈ MaximalAbelianSubgroupsOf G) (center_le_G : center SL(2,F) ≤ G)
17+
(hA' : Nat.Coprime (Nat.card A) p)
18+
(hNA : relIndex (A.subgroupOf G) (A.subgroupOf G).normalizer = 2) (x : A) :
19+
∃ y ∈ (A.normalizer ⊓ G).carrier \ A, y * x * y⁻¹ = x⁻¹ := by
20+
have two_lt_card_A : 2 < Nat.card A := by
21+
have key := card_normalizer_inf_G_eq_one_of_card_le_two p_ne_two A G center_le_G hA
22+
contrapose! key
23+
constructor
24+
· exact key
25+
· rw [hNA]
26+
norm_num
27+
have G_ne_center : G ≠ center SL(2,F) := G_ne_center_of_two_lt_card A G hA two_lt_card_A
28+
29+
rcases IsCyclic_and_card_coprime_CharP_or_eq_Q_join_Z_of_center_ne p G A hA
30+
center_le_G G_ne_center with (⟨⟨c, A', Finite_A', A'_le_D, A_eq_conj_A'⟩, -⟩ | h)
31+
· let G' := conj c⁻¹ • G
32+
have G_eq_conj_G' : G = conj c • G' := by simp [G']
33+
have hA' : A' ∈ MaximalAbelianSubgroupsOf G' := by
34+
rw [iff_conj_MaximalAbelianSubgroupsOf_conj A' G' c, ← A_eq_conj_A', ← G_eq_conj_G']
35+
exact hA
36+
rw [relIndex,
37+
← relIndex_MaximalAbelianSubgroupOf_normalizer_eq_relIndex_conj_MaxAbelianSubgroupOf
38+
A_eq_conj_A' G_eq_conj_G'] at hNA
39+
have two_lt_card_A' : 2 < Nat.card A' := by rwa [card_conj_eq_card A_eq_conj_A']
40+
have A'_eq_G'_inf_D : A' = G' ⊓ D F := A_eq_G_inf_D A' G' A'_le_D hA'
41+
42+
let f := A_subgroupOf_G_MonoidHom_ZMod_two A' G' A'_le_D hA'.right two_lt_card_A' A'_eq_G'_inf_D
43+
have Injective_f : Injective f :=
44+
injective_A_subgroupOf_G_MonoidHom_ZMod_two
45+
A' G' A'_le_D hA'.right two_lt_card_A' A'_eq_G'_inf_D
46+
-- let := Equiv.ofInjective
47+
-- (A_subgroupOf_G_MonoidHom_ZMod_two A' G' A'_le_D hA'.right two_lt_card_A' A'_eq_G'_inf_D)
48+
-- (injective_A_subgroupOf_G_MonoidHom_ZMod_two A' G' A'_le_D hA'.right two_lt_card_A' A'_eq_G'_inf_D)
49+
50+
have card_multiplicative_ZMod_two_eq_two : Nat.card (Multiplicative (ZMod 2)) = 2 := by
51+
rw [Nat.card_eq_fintype_card, Fintype.card_multiplicative]; rfl
52+
-- let := Equiv.mulEquiv (Equiv.ofInjective
53+
-- (A_subgroupOf_G_MonoidHom_ZMod_two A' G' A'_le_D hA'.right two_lt_card_A' A'_eq_G'_inf_D)
54+
-- (injective_A_subgroupOf_G_MonoidHom_ZMod_two A' G' A'_le_D hA'.right two_lt_card_A' A'_eq_G'_inf_D))
55+
56+
rw [index] at hNA
57+
have key := ((Nat.bijective_iff_injective_and_card f).mpr
58+
⟨Injective_f, by rwa [card_multiplicative_ZMod_two_eq_two]⟩).2
59+
60+
dsimp [f, A_subgroupOf_G_MonoidHom_ZMod_two] at key
61+
rw [← comp_assoc] at key
62+
-- want surjectivity of the second map on the left in the composition
63+
64+
have surjective : Bijective ((monoidHom_normalizer_D_quot_D A' G')) := by
65+
sorry
66+
67+
68+
69+
have normalizer_A'_inf_G'_sup_D_eq_normalizer_D :
70+
(A'.normalizer ⊓ G' ⊔ D F) = (D F).normalizer := by
71+
apply le_antisymm
72+
· apply sup_le
73+
· rw [A'_eq_G'_inf_D]
74+
75+
apply inf_le_of_left_le
76+
-- for a suitable characteristic this should follow easily,
77+
-- or should generalise the result for the case when card D₀ ≤ 2
78+
rw [normalizer_subgroup_D_eq_DW (by sorry) inf_le_right,
79+
normalizer_D_eq_DW]
80+
· exact le_normalizer
81+
· sorry
82+
83+
suffices ∃ δ : Fˣ, (d δ * w) ∈ (A'.normalizer ⊓ G').carrier \ A' by
84+
obtain ⟨δ, mem_normalizer_A'_inf_G', not_mem_A'⟩ := this
85+
use conj c • (d δ * w)
86+
constructor
87+
· refine ⟨?mem_normalizer_inf_G, ?not_mem_A'⟩
88+
· rw [normalizer_inf_le_eq_normalizer_subgroupOf hA.right]
89+
sorry
90+
· intro contr
91+
rw [← Set.mem_inv_smul_set_iff, ← map_inv, A_eq_conj_A',
92+
map_inv, coe_pointwise_smul, inv_smul_smul, SetLike.mem_coe] at contr
93+
contradiction
94+
· sorry
95+
sorry
96+
sorry
97+
98+
-- use x
99+
-- constructor
100+
-- · constructor
101+
-- · rw [mem_carrier, ← mem_inv_pointwise_smul_iff,
102+
-- normalizer_inf_le_eq_normalizer_subgroupOf hA.right,
103+
-- map_inv, inv_inv, conj_A_subgroupOf_G_eq_A'_subgroupOf_G A_eq_conj_A' G_eq_conj_G',
104+
-- ← normalizer_inf_le_eq_normalizer_subgroupOf hA'.right]
105+
106+
107+
108+
109+
110+
111+
112+
113+
114+
115+
116+
-- -- rw [pointwise_smul_def, map_map]
117+
118+
-- -- relationship between conj c • A.normalizer vs (conj c • A).normalizer
119+
-- sorry
120+
-- · intro contr
121+
-- rw [SetLike.mem_coe, ← mem_inv_pointwise_smul_iff,
122+
-- A_eq_conj_A', smul_smul] at contr
123+
124+
-- sorry
125+
-- · sorry
126+
127+
-- sorry
128+
129+
/-
130+
Theorem 2.3 (v a) Let Q be a Sylow p-subgroup of G.
131+
If Q = { I_G }, then there is a cyclic subgroup K of G such that N_G (Q) = Q K.
132+
-/
133+
theorem exists_IsCyclic_K_normalizer_eq_Q_join_K {F : Type*} [Field F] { p : ℕ }
134+
(hp : Nat.Prime p)
135+
(G : Subgroup SL(2,F))
136+
(Q : Sylow p G)
137+
(h : Q.toSubgroup ≠ ⊥) :
138+
∃ K : Subgroup G, IsCyclic K ∧ normalizer Q.toSubgroup = Q.toSubgroup ⊔ K := by sorry
139+
140+
/-
141+
Theorem 2.3 (v b)If |K| > |Z|, then K ∈ M.
142+
-/
143+
theorem K_mem_MaximalAbelianSubgroups_of_center_lt_card_K {F : Type*} [Field F] { p : ℕ } [hp' : Fact (Nat.Prime p)] (G : Subgroup SL(2,F))
144+
(Q : Sylow p G) (h : Q.toSubgroup ≠ ⊥) (K : Subgroup G)(hK : IsCyclic K)
145+
(hNG : normalizer Q.toSubgroup = Q.toSubgroup ⊔ K) (h : Nat.card K > Nat.card (center SL(2,F))) :
146+
map G.subtype K ∈ MaximalAbelianSubgroupsOf G := by
147+
sorry
148+
149+
150+
151+
#min_imports

ClassificationOfSubgroups/Ch6_MaximalAbelianSubgroupClassEquation/S3_NoncenterClassEquation.lean

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
1-
import ClassificationOfSubgroups.Ch6_MaximalAbelianSubgroupClassEquation.S2_MaximalAbelianSubgroup
1+
import ClassificationOfSubgroups.Ch6_MaximalAbelianSubgroupClassEquation.S2_A_MaximalAbelianSubgroup
2+
import ClassificationOfSubgroups.Ch6_MaximalAbelianSubgroupClassEquation.S2_B_MaximalAbelianSubgroup
3+
24
import Mathlib
35

46
set_option linter.style.longLine true
@@ -74,7 +76,8 @@ instance lift_noncenter_MaximalAbelianSubgroupsOf {F : Type*} [Field F] (G : Sub
7476
exact ⟨Subgroup.mul_mem G y_in_G x_in_G, rfl⟩
7577
}
7678

77-
def Partition_lift_noncenter_MaximalAbelianSubgroupsOf {F : Type*} [Field F] (G : Subgroup SL(2,F)) := (lift_noncenter_MaximalAbelianSubgroupsOf G).classes
79+
def Partition_lift_noncenter_MaximalAbelianSubgroupsOf {F : Type*} [Field F] (G : Subgroup SL(2,F)) :=
80+
(lift_noncenter_MaximalAbelianSubgroupsOf G).classes
7881

7982
#check Partition_lift_noncenter_MaximalAbelianSubgroupsOf
8083

@@ -445,7 +448,6 @@ lemma union_noncenter_C_eq_G_diff_center {F : Type*} [Field F] [IsAlgClosed F] [
445448
-- (G : Subgroup SL(2,F)) [hG : Finite G] : ⋃ A_star : noncenter_MaximalAbelianSubgroupsOf G,
446449
-- union_conj_noncenter_MaximalAbelianSubgroupsOf G A_star =
447450

448-
#check LocalSubring.isMax_iff
449451
/-
450452
Theorem 2.4 i a)
451453
The union of elements of the `Quotient` on the `Setoid`,

0 commit comments

Comments
 (0)