Skip to content

Commit c6c32d5

Browse files
committed
progress towards 2.3 iv) b)
1 parent 37a17e2 commit c6c32d5

2 files changed

Lines changed: 203 additions & 118 deletions

File tree

ClassificationOfSubgroups/Ch6_MaximalAbelianSubgroupClassEquation/S2_MaximalAbelianSubgroup.lean

Lines changed: 200 additions & 114 deletions
Original file line numberDiff line numberDiff line change
@@ -1636,7 +1636,7 @@ noncomputable def MulEquiv_ZMod_prime_of_card_prime {G : Type*} [Group G] {p :
16361636
[Fact (Nat.Prime p)] (hG : Nat.card G = p) :
16371637
G ≃* Multiplicative (ZMod p) := (hG ▸ zmodCyclicMulEquiv (isCyclic_of_prime_card hG)).symm
16381638

1639-
lemma card_normalizer_D_quot_D_eq_two {F : Type*} [Field F] :
1639+
lemma card_normalizer_D_quot_D_eq_two (F : Type*) [Field F] :
16401640
Nat.card ((D F).normalizer ⧸ (D F).subgroupOf ((D F).normalizer)) = 2 := by
16411641
rw [Nat.card_eq_two_iff]
16421642
use QuotientGroup.mk' ((D F).subgroupOf ((D F).normalizer))
@@ -1739,9 +1739,9 @@ def quot_MonoidHom_quot_of {F : Type*} [Field F] (A' G' : Subgroup SL(2,F)) (A'_
17391739
exact A'_le_D hx
17401740
)
17411741

1742-
noncomputable def quot_MulEquiv_quot_of {F : Type*} [Field F] (A' G' : Subgroup SL(2,F))
1743-
(A'_le_D : A' ≤ D F) (A'_le_G' : A' ≤ G') (two_lt_card_A' : 2 < Nat.card A')
1744-
(A'_eq_G'_inf_D : A' = G' ⊓ D F) :
1742+
noncomputable def normalizer_A'_inf_G'_quot_A'_MulEquiv_quot_of {F : Type*} [Field F]
1743+
(A' G' : Subgroup SL(2,F)) (A'_le_D : A' ≤ D F) (A'_le_G' : A' ≤ G')
1744+
(two_lt_card_A' : 2 < Nat.card A') (A'_eq_G'_inf_D : A' = G' ⊓ D F) :
17451745
(A'.subgroupOf G').normalizer ⧸ (A'.subgroupOf G').subgroupOf (A'.subgroupOf G').normalizer
17461746
≃* ↥((A'.normalizer ⊓ G').subgroupOf (D F).normalizer)
17471747
⧸ ((D F).subgroupOf (D F).normalizer).subgroupOf
@@ -1777,6 +1777,135 @@ noncomputable def quot_MulEquiv_quot_of {F : Type*} [Field F] (A' G' : Subgroup
17771777
simp_rw [hy''₂, hy'₂]
17781778
)
17791779

1780+
def monoidHom_normalizer_D_quot_D {F : Type*} [Field F] (A' G' : Subgroup SL(2,F)) :
1781+
((A'.normalizer ⊓ G' ⊔ D F).subgroupOf (D F).normalizer)
1782+
⧸ ((D F).subgroupOf (D F).normalizer).subgroupOf
1783+
((A'.normalizer ⊓ G' ⊔ D F).subgroupOf (D F).normalizer)
1784+
→* ↥(D F).normalizer ⧸ (D F).subgroupOf (D F).normalizer :=
1785+
QuotientGroup.lift _
1786+
((QuotientGroup.mk' ((D F).subgroupOf ((D F).normalizer))).comp
1787+
((A'.normalizer ⊓ G' ⊔ D F).subgroupOf (D F).normalizer).subtype)
1788+
(
1789+
by
1790+
intro x hx
1791+
rw [mem_subgroupOf] at hx
1792+
simpa [MonoidHom.mem_ker, QuotientGroup.eq_one_iff] using hx
1793+
)
1794+
1795+
1796+
noncomputable def A_subgroupOf_G_MonoidHom_ZMod_two {F : Type*} [Field F] (A' G' : Subgroup SL(2,F))
1797+
(A'_le_D : A' ≤ D F) (A'_le_G' : A' ≤ G') (two_lt_card_A' : 2 < Nat.card A')
1798+
(A'_eq_G'_inf_D : A' = G' ⊓ D F) :
1799+
↥(A'.subgroupOf G').normalizer
1800+
⧸ (A'.subgroupOf G').subgroupOf (A'.subgroupOf G').normalizer →* Multiplicative (ZMod 2) :=
1801+
let ϕ₁ := normalizer_A'_inf_G'_quot_A'_MulEquiv_quot_of A' G' A'_le_D A'_le_G'
1802+
two_lt_card_A' A'_eq_G'_inf_D
1803+
1804+
let ϕ₂ := QuotientGroup.quotientInfEquivProdNormalQuotient
1805+
(H := (((A'.normalizer ⊓ G')).subgroupOf ((D F).normalizer)))
1806+
(N := (D F).subgroupOf ((D F).normalizer))
1807+
1808+
let φ₃ := (MulEquiv.subgroupCongr
1809+
(G := (D F).normalizer)
1810+
(H := (A'.normalizer ⊓ G').subgroupOf (D F).normalizer ⊔ (D F).subgroupOf (D F).normalizer)
1811+
(K := (A'.normalizer ⊓ G' ⊔ D F).subgroupOf (D F).normalizer)
1812+
(by rw [← subgroupOf_sup _ _ _
1813+
(by rw [normalizer_D_eq_DW, normalizer_subgroup_D_eq_DW two_lt_card_A' A'_le_D]
1814+
exact inf_le_left)
1815+
(le_normalizer)])).symm
1816+
1817+
let ϕ₃ := QuotientGroup.congr _ _ φ₃
1818+
(show Subgroup.map φ₃.toMonoidHom (((D F).subgroupOf (D F).normalizer).subgroupOf
1819+
((A'.normalizer ⊓ G' ⊔ D F).subgroupOf (D F).normalizer))
1820+
= ((D F).subgroupOf (D F).normalizer).subgroupOf
1821+
((A'.normalizer ⊓ G').subgroupOf
1822+
(D F).normalizer ⊔ (D F).subgroupOf (D F).normalizer) by
1823+
sorry)
1824+
1825+
let ϕ₄ := monoidHom_normalizer_D_quot_D A' G'
1826+
1827+
let ϕ₅ := (MulEquiv_ZMod_prime_of_card_prime (card_normalizer_D_quot_D_eq_two F))
1828+
1829+
ϕ₅.toMonoidHom.comp (ϕ₄.comp (ϕ₃.symm.toMonoidHom.comp (ϕ₂.toMonoidHom.comp ϕ₁.toMonoidHom)))
1830+
1831+
1832+
1833+
lemma injective_A_subgroupOf_G_MonoidHom_ZMod_two {F : Type*} [Field F] (A' G' : Subgroup SL(2,F))
1834+
(A'_le_D : A' ≤ D F) (A'_le_G' : A' ≤ G') (two_lt_card_A' : 2 < Nat.card A')
1835+
(A'_eq_G'_inf_D : A' = G' ⊓ D F) :
1836+
Injective
1837+
(A_subgroupOf_G_MonoidHom_ZMod_two A' G' A'_le_D A'_le_G' two_lt_card_A' A'_eq_G'_inf_D) := by
1838+
dsimp [A_subgroupOf_G_MonoidHom_ZMod_two]
1839+
apply Injective.comp
1840+
· exact MulEquiv.injective _
1841+
apply Injective.comp
1842+
· dsimp [monoidHom_normalizer_D_quot_D]
1843+
rw [← MonoidHom.ker_eq_bot_iff, eq_bot_iff]
1844+
intro x hx
1845+
obtain ⟨x', hx'⟩ := Quotient.exists_rep x
1846+
simp [MonoidHom.mem_ker, ← hx', QuotientGroup.eq_one_iff] at hx
1847+
simpa [mem_bot, ← hx', mem_subgroupOf]
1848+
apply Injective.comp
1849+
· exact MulEquiv.injective _
1850+
apply Injective.comp
1851+
· exact MulEquiv.injective _
1852+
exact MulEquiv.injective _
1853+
1854+
#check MonoidHom.comp
1855+
1856+
#check Equiv.ofInjective
1857+
1858+
#check Equiv.mulEquiv
1859+
1860+
lemma relIndex_MaximalAbelianSubgroupOf_normalizer_eq_relIndex_conj_MaxAbelianSubgroupOf
1861+
{F : Type*} [Field F] {A A' G G' : Subgroup SL(2,F)} {c : SL(2,F)}
1862+
(A_eq_conj_A' : A = conj c • A') (G_eq_conj_G': G = conj c • G') :
1863+
((A'.subgroupOf G').subgroupOf (A'.subgroupOf G').normalizer).index
1864+
= ((A.subgroupOf G).subgroupOf (A.subgroupOf G).normalizer).index := by
1865+
rw [index_eq_card, index_eq_card]
1866+
rw [← inv_smul_eq_iff, ← MonoidHom.map_inv] at A_eq_conj_A' G_eq_conj_G'
1867+
let φ : (A.subgroupOf G).normalizer ≃* (A'.subgroupOf G').normalizer :=
1868+
A_subgroupOf_normalizer_MulEquiv_conj_A_subgroupOf_conj A_eq_conj_A' G_eq_conj_G'
1869+
let ϕ := QuotientGroup.congr
1870+
((A.subgroupOf G).subgroupOf (A.subgroupOf G).normalizer)
1871+
((A'.subgroupOf G').subgroupOf (A'.subgroupOf G').normalizer) φ
1872+
(A_subgroupOf_normalizer_MulEquiv_conj_A_subgroupOf_conj_quot_eq
1873+
A_eq_conj_A' G_eq_conj_G')
1874+
refine Nat.card_congr ϕ.symm
1875+
1876+
1877+
lemma card_normalizer_inf_G_eq_one_of_card_le_two {p : ℕ} [hp : Fact (Nat.Prime p)]
1878+
{F : Type*} [Field F] [IsAlgClosed F] [DecidableEq F] [CharP F p] (p_ne_two : p ≠ 2)
1879+
(A G : Subgroup SL(2,F)) (center_le_G : center SL(2,F) ≤ G)
1880+
(hA : A ∈ MaximalAbelianSubgroupsOf G) [hG : Finite G]
1881+
(card_A_le_two : Nat.card A ≤ 2) :
1882+
relIndex (A.subgroupOf G) (A.subgroupOf G).normalizer = 1 := by
1883+
have key := eq_center_of_card_le_two p_ne_two A G center_le_G hA card_A_le_two
1884+
rw [key]
1885+
have center_is_normal : Normal ((center SL(2,F)).subgroupOf G) := normal_subgroupOf
1886+
rw [relIndex, normalizer_eq_top_iff.mpr center_is_normal, ← comap_subtype, ← subgroupOf_self,
1887+
index_comap, Subgroup.range_subtype, Subgroup.relIndex_subgroupOf fun ⦃x⦄ a ↦ a]
1888+
have G_eq_center : G = center SL(2,F) := by
1889+
rw [key] at hA
1890+
contrapose! hA
1891+
exact center_not_mem_of_center_ne hA.symm
1892+
rw [relIndex_eq_one]
1893+
exact le_of_eq_of_le G_eq_center fun ⦃x⦄ a ↦ a
1894+
1895+
1896+
lemma G_ne_center_of_two_lt_card {p : ℕ} [hp : Fact (Nat.Prime p)]
1897+
{F : Type*} [Field F] [IsAlgClosed F] [DecidableEq F] [CharP F p]
1898+
(A G : Subgroup SL(2,F)) (hA : A ∈ MaximalAbelianSubgroupsOf G)
1899+
(two_lt_card_A : 2 < Nat.card A) :
1900+
G ≠ center SL(2,F) := by
1901+
intro G_eq_center
1902+
have A_eq_center : A = center SL(2,F) := by
1903+
rw [← Set.mem_singleton_iff, ← singleton_of_center_eq_G G G_eq_center]
1904+
exact hA
1905+
have card_le_two : Nat.card A ≤ 2 := by
1906+
rw [A_eq_center, center_SL2_eq_Z]
1907+
exact card_Z_le_two
1908+
linarith
17801909

17811910
-- Need to split into smaller lemmas
17821911
/- Theorem 2.3 (iv a) If A ∈ M and |A| is relatively prime to p, then we have [N_G (A) : A] ≤ 2. -/
@@ -1786,55 +1915,24 @@ theorem index_normalizer_le_two {p : ℕ} [hp : Fact (Nat.Prime p)]
17861915
(hA : A ∈ MaximalAbelianSubgroupsOf G) [hG : Finite G]
17871916
(hA' : Nat.Coprime (Nat.card A) p) :
17881917
relIndex (A.subgroupOf G) (A.subgroupOf G).normalizer ≤ 2 := by
1789-
rw [relIndex]
17901918
by_cases h : Nat.card A ≤ 2
1791-
· have key := eq_center_of_card_le_two p_ne_two A G center_le_G hA h
1792-
rw [key]
1793-
have center_is_normal : Normal ((center SL(2,F)).subgroupOf G) := normal_subgroupOf
1794-
rw [normalizer_eq_top_iff.mpr center_is_normal, ← comap_subtype, ← subgroupOf_self, index_comap,
1795-
Subgroup.range_subtype, Subgroup.relIndex_subgroupOf fun ⦃x⦄ a ↦ a]
1796-
have G_eq_center : G = center SL(2,F) := by
1797-
rw [key] at hA
1798-
contrapose! hA
1799-
exact center_not_mem_of_center_ne hA.symm
1800-
suffices (center SL(2, F)).relIndex G = 1 by linarith
1801-
rw [relIndex_eq_one]
1802-
exact le_of_eq_of_le G_eq_center fun ⦃x⦄ a ↦ a
1803-
· simp only [not_le] at h
1804-
have G_ne_center : G ≠ center SL(2,F) := by
1805-
intro G_eq_center
1806-
have A_eq_center : A = center SL(2,F) := by
1807-
rw [← Set.mem_singleton_iff, ← singleton_of_center_eq_G G G_eq_center]
1808-
exact hA
1809-
have card_le_two : Nat.card A ≤ 2 := by
1810-
rw [A_eq_center, center_SL2_eq_Z]
1811-
exact card_Z_le_two
1812-
linarith
1919+
· rw [card_normalizer_inf_G_eq_one_of_card_le_two p_ne_two A G center_le_G hA h]
1920+
norm_num
1921+
· rw [relIndex]
1922+
simp only [not_le] at h
1923+
have G_ne_center : G ≠ center SL(2,F) := G_ne_center_of_two_lt_card A G hA h
18131924
rcases IsCyclic_and_card_coprime_CharP_or_eq_Q_join_Z_of_center_ne p G A hA
1814-
center_le_G G_ne_center with (⟨A_cyclic, -⟩ | h)
1815-
· obtain ⟨c, A', Finite_A', A'_le_D, A_eq_conj_A'⟩ := A_cyclic
1816-
let G' := conj c⁻¹ • G
1925+
center_le_G G_ne_center with (⟨⟨c, A', Finite_A', A'_le_D, A_eq_conj_A'⟩, -⟩ | h)
1926+
· let G' := conj c⁻¹ • G
18171927
have G_eq_conj_G' : G = conj c • G' := by simp [G']
18181928
have hA' : A' ∈ MaximalAbelianSubgroupsOf G' := by
18191929
rw [iff_conj_MaximalAbelianSubgroupsOf_conj A' G' c, ← A_eq_conj_A', ← G_eq_conj_G']
18201930
exact hA
18211931
-- factor out lemma for lemma 2.3 iv b)
18221932
have index_eq : ((A'.subgroupOf G').subgroupOf (A'.subgroupOf G').normalizer).index =
18231933
((A.subgroupOf G).subgroupOf (A.subgroupOf G).normalizer).index := by
1824-
rw [index_eq_card, index_eq_card]
1825-
1826-
rw [← inv_smul_eq_iff, ← MonoidHom.map_inv] at A_eq_conj_A' G_eq_conj_G'
1827-
1828-
let φ : (A.subgroupOf G).normalizer ≃* (A'.subgroupOf G').normalizer :=
1829-
A_subgroupOf_normalizer_MulEquiv_conj_A_subgroupOf_conj A_eq_conj_A' G_eq_conj_G'
1830-
1831-
let ϕ := QuotientGroup.congr
1832-
((A.subgroupOf G).subgroupOf (A.subgroupOf G).normalizer)
1833-
((A'.subgroupOf G').subgroupOf (A'.subgroupOf G').normalizer) φ
1834-
(A_subgroupOf_normalizer_MulEquiv_conj_A_subgroupOf_conj_quot_eq
1835-
A_eq_conj_A' G_eq_conj_G')
1836-
1837-
refine Nat.card_congr ϕ.symm
1934+
rw [relIndex_MaximalAbelianSubgroupOf_normalizer_eq_relIndex_conj_MaxAbelianSubgroupOf
1935+
A_eq_conj_A' G_eq_conj_G']
18381936
have two_lt_card_A' : 2 < Nat.card A' := by rwa [card_conj_eq_card A_eq_conj_A']
18391937
have normalizer_A'_le_DW := normalizer_subgroup_D_eq_DW two_lt_card_A' A'_le_D
18401938

@@ -1852,65 +1950,9 @@ theorem index_normalizer_le_two {p : ℕ} [hp : Fact (Nat.Prime p)]
18521950
apply inf_le_inf_right
18531951
exact map_subtype_le (A'.subgroupOf G').normalizer
18541952

1855-
let φ₁ : (A'.subgroupOf G').normalizer
1856-
⧸ (A'.subgroupOf G').subgroupOf (A'.subgroupOf G').normalizer
1857-
≃* ↥((A'.normalizer ⊓ G').subgroupOf (D F).normalizer)
1858-
⧸ ((D F).subgroupOf (D F).normalizer).subgroupOf
1859-
((A'.normalizer ⊓ G').subgroupOf (D F).normalizer) :=
1860-
quot_MulEquiv_quot_of A' G' A'_le_D hA'.right two_lt_card_A' A'_eq_G'_inf_D
1861-
1862-
let φ₂ := QuotientGroup.quotientInfEquivProdNormalQuotient
1863-
(H := (((A'.normalizer ⊓ G')).subgroupOf ((D F).normalizer)))
1864-
(N := (D F).subgroupOf ((D F).normalizer))
1865-
1866-
conv at φ₂ in (_ ≃* _) =>
1867-
rw [← subgroupOf_sup _ _ _
1868-
(by
1869-
rw [normalizer_D_eq_DW, normalizer_subgroup_D_eq_DW two_lt_card_A' A'_le_D]
1870-
exact inf_le_left)
1871-
(le_normalizer)]
1872-
1873-
have A'_normalizer_inf_G_eq : A'.normalizer ⊓ G'
1874-
= map G'.subtype (A'.subgroupOf G').normalizer :=
1875-
normalizer_inf_le_eq_normalizer_subgroupOf hA'.right
1876-
1877-
-- will be need to show inclusion is injective
1878-
have le_normalizer_D : A'.normalizer ⊓ G' ⊔ D F ≤ (D F).normalizer := by
1879-
simpa [normalizer_subgroup_D_eq_DW two_lt_card_A' A'_le_D, normalizer_D_eq_DW] using D_le_DW
1880-
1881-
let φ₃ : ((A'.normalizer ⊓ G' ⊔ D F).subgroupOf (D F).normalizer)
1882-
⧸ ((D F).subgroupOf (D F).normalizer).subgroupOf
1883-
((A'.normalizer ⊓ G' ⊔ D F).subgroupOf (D F).normalizer)
1884-
→* ((D F).normalizer ⧸ (D F).subgroupOf ((D F).normalizer)) :=
1885-
QuotientGroup.lift _
1886-
((QuotientGroup.mk' ((D F).subgroupOf ((D F).normalizer))).comp
1887-
((A'.normalizer ⊓ G' ⊔ D F).subgroupOf (D F).normalizer).subtype)
1888-
(
1889-
by
1890-
intro x hx
1891-
rw [mem_subgroupOf] at hx
1892-
simpa [MonoidHom.mem_ker, QuotientGroup.eq_one_iff] using hx
1893-
)
1894-
1895-
-- prove that φ₃ is injective
1896-
have injective_φ₃ : Injective φ₃ := by
1897-
rw [← MonoidHom.ker_eq_bot_iff, eq_bot_iff]
1898-
intro x hx
1899-
obtain ⟨x', hx'⟩ := Quotient.exists_rep x
1900-
simp [MonoidHom.mem_ker, ← hx',
1901-
φ₃, QuotientGroup.eq_one_iff] at hx
1902-
simpa [mem_bot, ← hx', mem_subgroupOf]
1903-
1904-
have card_normalizer_D_quot_D_eq_two : Nat.card ((D F).normalizer
1905-
⧸ (D F).subgroupOf ((D F).normalizer)) = 2 :=
1906-
card_normalizer_D_quot_D_eq_two
1907-
1908-
let φ₄ : (D F).normalizer ⧸ (D F).subgroupOf ((D F).normalizer)
1909-
≃* Multiplicative (ZMod 2) :=
1910-
MulEquiv_ZMod_prime_of_card_prime card_normalizer_D_quot_D_eq_two
1911-
1912-
19131953
rw [← index_eq, index]
1954+
-- set_option trace.profiler true in
1955+
19141956
suffices ∃ f : ((A'.subgroupOf G').normalizer ⧸
19151957
(A'.subgroupOf G').subgroupOf (A'.subgroupOf G').normalizer :)
19161958
→* (Multiplicative (ZMod 2) :), Injective f by
@@ -1922,15 +1964,9 @@ theorem index_normalizer_le_two {p : ℕ} [hp : Fact (Nat.Prime p)]
19221964
exact Nat.card_le_card_of_injective f hf
19231965

19241966

1925-
use φ₄.toMonoidHom.comp <| φ₃.comp <| φ₂.toMonoidHom.comp φ₁.toMonoidHom
1926-
dsimp
1927-
apply Injective.comp
1928-
· exact MulEquiv.injective φ₄
1929-
apply Injective.comp
1930-
· exact injective_φ₃
1931-
apply Injective.comp
1932-
· exact MulEquiv.injective φ₂
1933-
· exact MulEquiv.injective φ₁
1967+
use A_subgroupOf_G_MonoidHom_ZMod_two A' G' A'_le_D hA'.right two_lt_card_A' A'_eq_G'_inf_D
1968+
exact injective_A_subgroupOf_G_MonoidHom_ZMod_two
1969+
A' G' A'_le_D hA'.right two_lt_card_A' A'_eq_G'_inf_D
19341970

19351971
-- Contradiction since the cardinality of A is coprime to p and
19361972
-- should A = Q ⊔ Z where Q is p elementary abelian, then p ∣ |A|
@@ -1951,10 +1987,59 @@ theorem index_normalizer_le_two {p : ℕ} [hp : Fact (Nat.Prime p)]
19511987
Theorem 2.3 (iv b) Furthermore, if [NG (A) : A] = 2,
19521988
then there is an element y of NG (A)\A such that, yxy⁻¹ = x⁻¹ for all x ∈ A.
19531989
-/
1954-
theorem of_index_normalizer_eq_two {F : Type*} [Field F] {p : ℕ }(A G : Subgroup SL(2,F))
1955-
(hA : A ∈ MaximalAbelianSubgroupsOf G) (hA' : Nat.Coprime (Nat.card A) p)
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)
19561994
(hNA : relIndex (A.subgroupOf G) (A.subgroupOf G).normalizer = 2) (x : A) :
1957-
∃ y ∈ A.normalizer.carrier \ A, y * x * y⁻¹ = x⁻¹ := by sorry
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
19582043

19592044
/-
19602045
Theorem 2.3 (v a) Let Q be a Sylow p-subgroup of G.
@@ -1978,4 +2063,5 @@ theorem K_mem_MaximalAbelianSubgroups_of_center_lt_card_K {F : Type*} [Field F]
19782063

19792064
end MaximalAbelianSubgroup
19802065

2066+
19812067
#min_imports

0 commit comments

Comments
 (0)