@@ -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)]
19511987Theorem 2.3 (iv b) Furthermore, if [NG (A) : A] = 2,
19521988then 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/-
19602045Theorem 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
19792064end MaximalAbelianSubgroup
19802065
2066+
19812067#min_imports
0 commit comments