ProCGroups.FiniteStepSolvableQuotients.AbelianActions.Faithful
This module studies faithful for pro cgroups. An action has no nontrivial fixed points if every globally fixed element is trivial. Every open subgroup acts faithfully on the topological abelianization of each open normal subgroup.
import
- Mathlib.Topology.Algebra.IsUniformGroup.DiscreteSubgroup
- ProCGroups.FiniteStepSolvableQuotients.Abelianization
- ProCGroups.ProC.Quotients.ClosedNormal
def HasNoNontrivialFixedPoints
{Q : Type u} [Group Q]
{A : Type v} [Group A]
(ρ : Q →* MulAut A) : Prop :=
∀ a : A, (∀ q : Q, ρ q a = a) → a = 1An action has no nontrivial fixed points if every globally fixed element is trivial.
def IsAbFaithful
(G : Type u) [TopologicalSpace G] [Group G] [IsTopologicalGroup G] : Prop :=
∀ H : OpenSubgroup G,
∀ N : OpenNormalSubgroup ↥(H : Subgroup G),
Function.Injective
(quotientConjugationTopologicalAbelianizationMap
(G := ↥(H : Subgroup G)) (N := (N : Subgroup ↥(H : Subgroup G))))Every open subgroup acts faithfully on the topological abelianization of each open normal subgroup.
def openNormalSubgroupTop
{G : Type u} [TopologicalSpace G] [Group G] [IsTopologicalGroup G]
(U : OpenNormalSubgroup G) :
OpenNormalSubgroup ↥((⊤ : OpenSubgroup G) : Subgroup G) where
toOpenSubgroup :=
OpenSubgroup.comap ((⊤ : Subgroup G).subtype) continuous_subtype_val U.toOpenSubgroup
isNormal' := by
change ((U : Subgroup G).comap ((⊤ : Subgroup G).subtype)).Normal
infer_instanceThe same open normal subgroup viewed inside the \(\top\) open subgroup.
theorem inj_quotientConjugationTopologicalAbelianizationMap_of_openNormalSubgroupTop
{G : Type u} [TopologicalSpace G] [Group G] [IsTopologicalGroup G]
(U : OpenNormalSubgroup G)
(hTop :
Function.Injective
(quotientConjugationTopologicalAbelianizationMap
(G := ↥((⊤ : OpenSubgroup G) : Subgroup G))
(N := (openNormalSubgroupTop U : Subgroup ↥((⊤ : OpenSubgroup G) : Subgroup G))))) :
Function.Injective
(quotientConjugationTopologicalAbelianizationMap
(G := G) (N := (U : Subgroup G)))Injectivity on the top-open-subgroup model implies injectivity in the ambient group.
Show proof
by
let Gtop : Type u := ↥((⊤ : OpenSubgroup G) : Subgroup G)
let UTop : OpenNormalSubgroup Gtop := openNormalSubgroupTop U
let eG : Gtop ≃ₜ* G := OpenSubgroup.topContinuousMulEquiv G
let eU : ↥(UTop : Subgroup Gtop) ≃ₜ* ↥(U : Subgroup G) := by
simpa [UTop, Gtop, openNormalSubgroupTop] using
(Subgroup.subgroupOfContinuousMulEquivOfLe (H := (U : Subgroup G))
(K := (⊤ : Subgroup G)) le_top)
let eAb : TopologicalAbelianization ↥(UTop : Subgroup Gtop) ≃ₜ*
TopologicalAbelianization ↥(U : Subgroup G) :=
TopologicalAbelianization.congr (G := ↥(UTop : Subgroup Gtop))
(H := ↥(U : Subgroup G)) eU
let qMap : G ⧸ (U : Subgroup G) →*
Gtop ⧸ (UTop : Subgroup Gtop) :=
QuotientGroup.map (N := (U : Subgroup G)) (M := (UTop : Subgroup Gtop))
(f := eG.symm.toMonoidHom) (by
intro x hx
change (OpenSubgroup.topContinuousMulEquiv G).symm x ∈ UTop
simpa [UTop, openNormalSubgroupTop] using hx)
have hqMapKer : qMap.ker = ⊥ := by
exact TopologicalGroup.ker_map_eq_bot_of_comap_eq
(f := eG.symm.toMonoidHom)
(N := (U : Subgroup G))
(M := (UTop : Subgroup Gtop))
(h := by
intro x hx
change (OpenSubgroup.topContinuousMulEquiv G).symm x ∈ UTop
simpa [UTop, openNormalSubgroupTop] using hx)
(hcomap := by
ext x
constructor
· intro hx
simpa [UTop, openNormalSubgroupTop] using hx
· intro hx
simpa [UTop, openNormalSubgroupTop] using hx)
have hqMapInj : Function.Injective qMap := by
exact (MonoidHom.ker_eq_bot_iff (f := qMap)).1 hqMapKer
let ρTop : Gtop ⧸ (UTop : Subgroup Gtop) →*
MulAut (TopologicalAbelianization ↥(UTop : Subgroup Gtop)) :=
quotientConjugationTopologicalAbelianizationMap
(G := Gtop) (N := (UTop : Subgroup Gtop))
let ρU : G ⧸ (U : Subgroup G) →*
MulAut (TopologicalAbelianization ↥(U : Subgroup G)) :=
quotientConjugationTopologicalAbelianizationMap
(G := G) (N := (U : Subgroup G))
have haction_mk
(g : G)
(x : ↥(UTop : Subgroup Gtop)) :
eAb
(ρTop (QuotientGroup.mk' (UTop : Subgroup Gtop) (eG.symm g))
(TopologicalAbelianization.mk ↥(UTop : Subgroup Gtop) x)) =
ρU (QuotientGroup.mk' (U : Subgroup G) g)
(eAb (TopologicalAbelianization.mk ↥(UTop : Subgroup Gtop) x)) := by
have hconj :
eU ((MulAut.conjNormal (eG.symm g)) x) =
(MulAut.conjNormal g) (eU x) := by
ext
rfl
rw [show ρTop (QuotientGroup.mk' (UTop : Subgroup Gtop) (eG.symm g))
(TopologicalAbelianization.mk ↥(UTop : Subgroup Gtop) x) =
TopologicalAbelianization.mk ↥(UTop : Subgroup Gtop)
((MulAut.conjNormal (eG.symm g)) x) by
simpa [ρTop] using
(quotientConjugationTopologicalAbelianizationMap_mk_apply_mk
(N := (UTop : Subgroup Gtop)) (g := eG.symm g) (n := x))]
rw [show
eAb (TopologicalAbelianization.mk ↥(UTop : Subgroup Gtop)
((MulAut.conjNormal (eG.symm g)) x)) =
TopologicalAbelianization.mk ↥(U : Subgroup G)
(eU ((MulAut.conjNormal (eG.symm g)) x)) by
rfl]
rw [show
eAb (TopologicalAbelianization.mk ↥(UTop : Subgroup Gtop) x) =
TopologicalAbelianization.mk ↥(U : Subgroup G) (eU x) by
rfl]
rw [hconj]
change TopologicalAbelianization.mk ↥(U : Subgroup G)
((MulAut.conjNormal g) (eU x)) =
quotientConjugationTopologicalAbelianizationMap (G := G) (N := (U : Subgroup G))
(QuotientGroup.mk' (U : Subgroup G) g)
(TopologicalAbelianization.mk ↥(U : Subgroup G) (eU x))
exact (quotientConjugationTopologicalAbelianizationMap_mk_apply_mk
(N := (U : Subgroup G)) (g := g) (n := eU x)).symm
have hcomp :
∀ q : G ⧸ (U : Subgroup G),
ρU q = (MulAut.congr eAb.toMulEquiv) (ρTop (qMap q)) := by
intro q
obtain ⟨g, rfl⟩ := QuotientGroup.mk'_surjective (U : Subgroup G) q
ext a
obtain ⟨apre, rfl⟩ := eAb.surjective a
obtain ⟨x, rfl⟩ := QuotientGroup.mk'_surjective
(Subgroup.closedCommutator (UTop : Subgroup Gtop)) apre
simpa [MulAut.congr, qMap] using haction_mk g x
intro q₁ q₂ hq
have hcongr : (MulAut.congr eAb.toMulEquiv) (ρTop (qMap q₁)) =
(MulAut.congr eAb.toMulEquiv) (ρTop (qMap q₂)) := by
simpa [ρU, hcomp q₁, hcomp q₂] using hq
have htopEq : ρTop (qMap q₁) = ρTop (qMap q₂) :=
(MulAut.congr eAb.toMulEquiv).injective hcongr
exact hqMapInj (hTop htopEq)Proof. Work with the closed derived series and the maximal \(m\)-step solvable quotient. The quotient map kills exactly the relevant closed derived term, and statements about abelianization, torsion-freeness, faithful conjugation actions, centers, and centralizers are reduced to the induced maps on open subgroups and their topological abelianizations. Closure and functoriality are checked by monotonicity of closed commutators, compatibility of quotient maps, and passage to the corresponding quotient or open subgroup.
□theorem inj_quotientConjugationTopologicalAbelianizationMap_on_openNormalSubgroupTop
{G : Type u} [TopologicalSpace G] [Group G] [IsTopologicalGroup G]
(U : OpenNormalSubgroup G)
(hU :
Function.Injective
(quotientConjugationTopologicalAbelianizationMap
(G := G) (N := (U : Subgroup G)))) :
Function.Injective
(quotientConjugationTopologicalAbelianizationMap
(G := ↥((⊤ : OpenSubgroup G) : Subgroup G))
(N := (openNormalSubgroupTop U : Subgroup ↥((⊤ : OpenSubgroup G) : Subgroup G))))Injectivity in the ambient group transfers to the corresponding open normal subgroup inside the \(\top\) open subgroup model.
Show proof
by
let Gtop : Type u := ↥((⊤ : OpenSubgroup G) : Subgroup G)
let UTop : OpenNormalSubgroup Gtop := openNormalSubgroupTop U
let eG : Gtop ≃ₜ* G := OpenSubgroup.topContinuousMulEquiv G
let eU : ↥(UTop : Subgroup Gtop) ≃ₜ* ↥(U : Subgroup G) := by
simpa [UTop, Gtop, openNormalSubgroupTop] using
(Subgroup.subgroupOfContinuousMulEquivOfLe (H := (U : Subgroup G))
(K := (⊤ : Subgroup G)) le_top)
let eAb : TopologicalAbelianization ↥(UTop : Subgroup Gtop) ≃ₜ*
TopologicalAbelianization ↥(U : Subgroup G) :=
TopologicalAbelianization.congr (G := ↥(UTop : Subgroup Gtop))
(H := ↥(U : Subgroup G)) eU
let qMap : Gtop ⧸ (UTop : Subgroup Gtop) →* G ⧸ (U : Subgroup G) :=
QuotientGroup.map (N := (UTop : Subgroup Gtop)) (M := (U : Subgroup G))
(f := eG.toMonoidHom) (by
intro x hx
change OpenSubgroup.topContinuousMulEquiv G x ∈ U
simpa [UTop, openNormalSubgroupTop] using hx)
have hqMapKer : qMap.ker = ⊥ := by
exact TopologicalGroup.ker_map_eq_bot_of_comap_eq
(f := eG.toMonoidHom)
(N := (UTop : Subgroup Gtop))
(M := (U : Subgroup G))
(h := by
intro x hx
change OpenSubgroup.topContinuousMulEquiv G x ∈ U
simpa [UTop, openNormalSubgroupTop] using hx)
(hcomap := by
ext x
constructor
· intro hx
change OpenSubgroup.topContinuousMulEquiv G x ∈ U at hx
simpa [UTop, openNormalSubgroupTop] using hx
· intro hx
change OpenSubgroup.topContinuousMulEquiv G x ∈ U
simpa [UTop, openNormalSubgroupTop] using hx)
have hqMapInj : Function.Injective qMap := by
exact (MonoidHom.ker_eq_bot_iff (f := qMap)).1 hqMapKer
let ρTop : Gtop ⧸ (UTop : Subgroup Gtop) →*
MulAut (TopologicalAbelianization ↥(UTop : Subgroup Gtop)) :=
quotientConjugationTopologicalAbelianizationMap
(G := Gtop) (N := (UTop : Subgroup Gtop))
let ρU : G ⧸ (U : Subgroup G) →*
MulAut (TopologicalAbelianization ↥(U : Subgroup G)) :=
quotientConjugationTopologicalAbelianizationMap
(G := G) (N := (U : Subgroup G))
have haction_mk
(g : Gtop)
(x : ↥(UTop : Subgroup Gtop)) :
eAb
(ρTop (QuotientGroup.mk' (UTop : Subgroup Gtop) g)
(TopologicalAbelianization.mk ↥(UTop : Subgroup Gtop) x)) =
ρU (QuotientGroup.mk' (U : Subgroup G) (eG g))
(eAb (TopologicalAbelianization.mk ↥(UTop : Subgroup Gtop) x)) := by
have hconj :
eU ((MulAut.conjNormal g) x) =
(MulAut.conjNormal (eG g)) (eU x) := by
ext
rfl
rw [show ρTop (QuotientGroup.mk' (UTop : Subgroup Gtop) g)
(TopologicalAbelianization.mk ↥(UTop : Subgroup Gtop) x) =
TopologicalAbelianization.mk ↥(UTop : Subgroup Gtop)
((MulAut.conjNormal g) x) by
simpa [ρTop] using
(quotientConjugationTopologicalAbelianizationMap_mk_apply_mk
(N := (UTop : Subgroup Gtop)) (g := g) (n := x))]
rw [show eAb (TopologicalAbelianization.mk ↥(UTop : Subgroup Gtop)
((MulAut.conjNormal g) x)) =
TopologicalAbelianization.mk ↥(U : Subgroup G) (eU ((MulAut.conjNormal g) x)) by
rfl]
rw [show eAb (TopologicalAbelianization.mk ↥(UTop : Subgroup Gtop) x) =
TopologicalAbelianization.mk ↥(U : Subgroup G) (eU x) by
rfl]
rw [hconj]
change TopologicalAbelianization.mk ↥(U : Subgroup G)
((MulAut.conjNormal (eG g)) (eU x)) =
quotientConjugationTopologicalAbelianizationMap (G := G) (N := (U : Subgroup G))
(QuotientGroup.mk' (U : Subgroup G) (eG g))
(TopologicalAbelianization.mk ↥(U : Subgroup G) (eU x))
exact (quotientConjugationTopologicalAbelianizationMap_mk_apply_mk
(N := (U : Subgroup G)) (g := eG g) (n := eU x)).symm
have hcomp :
∀ q : Gtop ⧸ (UTop : Subgroup Gtop),
ρU (qMap q) = (MulAut.congr eAb.toMulEquiv) (ρTop q) := by
intro q
obtain ⟨g, rfl⟩ := QuotientGroup.mk'_surjective (UTop : Subgroup Gtop) q
ext a
obtain ⟨apre, rfl⟩ := eAb.surjective a
obtain ⟨x, rfl⟩ := QuotientGroup.mk'_surjective
(Subgroup.closedCommutator (UTop : Subgroup Gtop)) apre
simpa [MulAut.congr, qMap] using haction_mk g x
intro q₁ q₂ hq
have hcongr :
ρU (qMap q₁) = ρU (qMap q₂) := by
simpa [hcomp q₁, hcomp q₂] using congrArg (MulAut.congr eAb.toMulEquiv) hq
exact hqMapInj (hU hcongr)Proof. Work with the closed derived series and the maximal \(m\)-step solvable quotient. The quotient map kills exactly the relevant closed derived term, and statements about abelianization, torsion-freeness, faithful conjugation actions, centers, and centralizers are reduced to the induced maps on open subgroups and their topological abelianizations. Closure and functoriality are checked by monotonicity of closed commutators, compatibility of quotient maps, and passage to the corresponding quotient or open subgroup.
□theorem exists_openNormalSubgroup_not_mem_of_ne_one
{G : Type u} [TopologicalSpace G] [Group G] [IsTopologicalGroup G]
[CompactSpace G] [TotallyDisconnectedSpace G]
{x : G} (hx : x ≠ 1) :
∃ U : OpenNormalSubgroup G, x ∉ (U : Subgroup G)A nontrivial element is omitted by some open normal subgroup.
Show proof
by
let W : Set G := ({x} : Set G)ᶜ
have hWOpen : IsOpen W := isClosed_singleton.isOpen_compl
have h1W : (1 : G) ∈ W := by
simpa [W, eq_comm] using hx
rcases ProCGroups.ProC.exists_openNormalSubgroup_sub_open_nhds_of_one
(G := G) hWOpen h1W with ⟨U, hUW⟩
refine ⟨U, ?_⟩
intro hxU
have hxW : x ∈ W := hUW hxU
simp only [Set.mem_compl_iff, Set.mem_singleton_iff, not_true_eq_false, W] at hxWProof. Work with the closed derived series and the maximal \(m\)-step solvable quotient. The quotient map kills exactly the relevant closed derived term, and statements about abelianization, torsion-freeness, faithful conjugation actions, centers, and centralizers are reduced to the induced maps on open subgroups and their topological abelianizations. Closure and functoriality are checked by monotonicity of closed commutators, compatibility of quotient maps, and passage to the corresponding quotient or open subgroup.
□theorem center_eq_bot_of_injective_action_on_openNormalsTop
{Q : Type u} [TopologicalSpace Q] [Group Q] [IsTopologicalGroup Q]
[CompactSpace Q] [TotallyDisconnectedSpace Q]
(hfaithful :
∀ U : OpenNormalSubgroup ↥((⊤ : OpenSubgroup Q) : Subgroup Q),
Function.Injective
(quotientConjugationTopologicalAbelianizationMap
(G := ↥((⊤ : OpenSubgroup Q) : Subgroup Q))
(N := (U : Subgroup ↥((⊤ : OpenSubgroup Q) : Subgroup Q))))) :
Subgroup.center Q = ⊥Faithfulness of the conjugation action on every open normal subgroup of the \(\top\) open subgroup forces the ambient center to be trivial.
Show proof
by
rw [Subgroup.eq_bot_iff_forall]
intro z hz
by_contra hzne
rcases exists_openNormalSubgroup_not_mem_of_ne_one (G := Q) (x := z) hzne with ⟨U, hzU⟩
let Gtop : Type u := ↥((⊤ : OpenSubgroup Q) : Subgroup Q)
let zTop : Gtop := ⟨z, by simp only [OpenSubgroup.toSubgroup_top, Subgroup.mem_top]⟩
let UTop : OpenNormalSubgroup Gtop := openNormalSubgroupTop U
let ρ : (Gtop ⧸ (UTop : Subgroup Gtop)) →*
MulAut (TopologicalAbelianization ↥(UTop : Subgroup Gtop)) :=
quotientConjugationTopologicalAbelianizationMap
(G := Gtop)
(N := (UTop : Subgroup Gtop))
have hzTop : zTop ∈ Subgroup.center Gtop := by
rw [Subgroup.mem_center_iff] at hz ⊢
intro y
ext
exact hz y
have hρz :
ρ (QuotientGroup.mk' (UTop : Subgroup Gtop) zTop) = 1 := by
dsimp [ρ]
exact
quotientConjugationTopologicalAbelianizationMap_mk_eq_one_of_mem_center
(G := Gtop) (N := (UTop : Subgroup Gtop)) (x := zTop) hzTop
have hzTop_mem :
zTop ∈ (UTop : Subgroup Gtop) := by
apply (QuotientGroup.eq_one_iff
(N := (UTop : Subgroup Gtop)) zTop).mp
apply hfaithful UTop
simpa using hρz
have hzU' : z ∈ (U : Subgroup Q) := by
simpa [UTop, zTop] using hzTop_mem
exact hzU hzU'Proof. Work with the closed derived series and the maximal \(m\)-step solvable quotient. The quotient map kills exactly the relevant closed derived term, and statements about abelianization, torsion-freeness, faithful conjugation actions, centers, and centralizers are reduced to the induced maps on open subgroups and their topological abelianizations. Closure and functoriality are checked by monotonicity of closed commutators, compatibility of quotient maps, and passage to the corresponding quotient or open subgroup.
□theorem center_eq_bot_of_isAbFaithful
{G : Type u} [TopologicalSpace G] [Group G] [IsTopologicalGroup G]
[CompactSpace G] [TotallyDisconnectedSpace G]
(hG : IsAbFaithful G) :
Subgroup.center G = ⊥An abelianization-faithful profinite group has trivial center.
Show proof
by
refine center_eq_bot_of_injective_action_on_openNormalsTop (Q := G) ?_
intro U
simpa using hG ⊤ UProof. Work with the closed derived series and the maximal \(m\)-step solvable quotient. The quotient map kills exactly the relevant closed derived term, and statements about abelianization, torsion-freeness, faithful conjugation actions, centers, and centralizers are reduced to the induced maps on open subgroups and their topological abelianizations. Closure and functoriality are checked by monotonicity of closed commutators, compatibility of quotient maps, and passage to the corresponding quotient or open subgroup.
□theorem openSubgroup_center_eq_bot_of_isAbFaithful
{G : Type u} [TopologicalSpace G] [Group G] [IsTopologicalGroup G]
[CompactSpace G] [TotallyDisconnectedSpace G]
(hG : IsAbFaithful G) (H : OpenSubgroup G) :
Subgroup.center ↥((H : Subgroup G)) = ⊥Every open subgroup of an abelianization-faithful profinite group has trivial center.
Show proof
by
have hHClosed : IsClosed (((H : OpenSubgroup G) : Set G)) := H.isClosed
haveI : CompactSpace ↥((H : OpenSubgroup G) : Subgroup G) := by
simpa using
(inferInstance : CompactSpace (⟨(H : Subgroup G), hHClosed⟩ : ClosedSubgroup G))
haveI : TotallyDisconnectedSpace ↥((H : OpenSubgroup G) : Subgroup G) := by
infer_instance
exact
center_eq_bot_of_injective_action_on_openNormalsTop
(Q := ↥((H : OpenSubgroup G) : Subgroup G))
(fun U => by
let Q : Type u := ↥((H : OpenSubgroup G) : Subgroup G)
let e : ↥((⊤ : OpenSubgroup Q) : Subgroup Q) ≃ₜ* Q :=
OpenSubgroup.topContinuousMulEquiv Q
let U' : OpenNormalSubgroup Q :=
OpenNormalSubgroup.comap (e.symm : Q →* ↥((⊤ : OpenSubgroup Q) : Subgroup Q))
e.symm.continuous_toFun U
have hUTopEq : openNormalSubgroupTop U' = U := by
ext x
rfl
have hU' :
Function.Injective
(quotientConjugationTopologicalAbelianizationMap
(G := Q) (N := (U' : Subgroup Q))) := hG H U'
have hTop :
Function.Injective
(quotientConjugationTopologicalAbelianizationMap
(G := ↥((⊤ : OpenSubgroup Q) : Subgroup Q))
(N := (openNormalSubgroupTop U' :
Subgroup ↥((⊤ : OpenSubgroup Q) : Subgroup Q)))) :=
inj_quotientConjugationTopologicalAbelianizationMap_on_openNormalSubgroupTop
(G := Q) U' hU'
exact hUTopEq ▸ hTop)Proof. Work with the closed derived series and the maximal \(m\)-step solvable quotient. The quotient map kills exactly the relevant closed derived term, and statements about abelianization, torsion-freeness, faithful conjugation actions, centers, and centralizers are reduced to the induced maps on open subgroups and their topological abelianizations. Closure and functoriality are checked by monotonicity of closed commutators, compatibility of quotient maps, and passage to the corresponding quotient or open subgroup.
□theorem
injective_quotientConjAbelianization_of_containsLastDerived_of_isClosedMap
{G : Type u} [TopologicalSpace G] [Group G] [IsTopologicalGroup G]
(hG : IsAbFaithful G)
{m : ℕ} (hm : 2 ≤ m)
(hclosedπ : IsClosedMap (continuousToMaxSolvQuot G m))
(H : OpenSubgroup (MaxSolvQuot G m))
(N : OpenNormalSubgroup ↥(H : Subgroup (MaxSolvQuot G m)))
(hContain : containsLastDerived m H N) :
Function.Injective
(quotientConjugationTopologicalAbelianizationMap
(G := ↥(H : Subgroup (MaxSolvQuot G m)))
(N := (N : Subgroup ↥(H : Subgroup (MaxSolvQuot G m)))))The auxiliary pro-\(C\) coordinate identity follows from the finite-stage quotient data defining the construction.
Show proof
by
let Q : Type u := MaxSolvQuot G m
let π : G →ₜ* Q := continuousToMaxSolvQuot G m
let Hpre : OpenSubgroup G := preimageOpenSubgroup π H
have hHpreOpen : IsOpen ((Hpre : Subgroup G) : Set G) := Hpre.isOpen'
let φH : ↥(Hpre : Subgroup G) →ₜ* ↥(H : Subgroup Q) :=
π.restrictPreimage (H : Subgroup Q)
let Npre : OpenNormalSubgroup ↥(Hpre : Subgroup G) := by
refine
{ toOpenSubgroup := OpenSubgroup.comap (φH : ↥(Hpre : Subgroup G) →* ↥(H : Subgroup Q))
φH.continuous_toFun N.toOpenSubgroup
isNormal' := ?_ }
change ((N : Subgroup ↥(H : Subgroup Q)).comap
(φH : ↥(Hpre : Subgroup G) →* ↥(H : Subgroup Q))).Normal
infer_instance
let _ : (Npre : Subgroup ↥(Hpre : Subgroup G)).Normal := Npre.isNormal'
have hρpre :
Function.Injective
(quotientConjugationTopologicalAbelianizationMap
(G := ↥(Hpre : Subgroup G))
(N := (Npre : Subgroup ↥(Hpre : Subgroup G)))) := hG Hpre Npre
let Nrealized : OpenSubgroup Q := by
refine
⟨(N : Subgroup ↥(H : Subgroup Q)).map ((H : Subgroup Q).subtype), ?_⟩
change IsOpen
(((fun y : ↥(H : Subgroup Q) => (y : Q)) ''
((N : Subgroup ↥(H : Subgroup Q)) : Set ↥(H : Subgroup Q))))
exact H.isOpen'.isOpenMap_subtype_val _ N.isOpen'
have hNpreMap :
(Npre : Subgroup ↥(Hpre : Subgroup G)).map ((Hpre : Subgroup G).subtype) =
((Nrealized : Subgroup Q).comap (π : G →* Q)) := by
ext x
constructor
· rintro ⟨y, hy, rfl⟩
change π y.1 ∈ Nrealized
exact ⟨φH y, hy, rfl⟩
· intro hx
change π x ∈ Nrealized at hx
rcases hx with ⟨⟨q, hqH⟩, hqN, hqx⟩
have hxHpre : x ∈ Hpre := by
change π x ∈ H
simpa [← hqx] using hqH
refine ⟨⟨x, hxHpre⟩, ?_, rfl⟩
change φH ⟨x, hxHpre⟩ ∈ N
have hqEq : (⟨q, hqH⟩ : H) = φH ⟨x, hxHpre⟩ := by
exact Subtype.ext (by simpa [φH] using hqx)
exact hqEq ▸ hqN
have hπsurj : Function.Surjective π := by
simpa [π, Q] using continuousToMaxSolvQuot_surjective (G := G) m
have hφHsurj : Function.Surjective φH := by
simpa [φH, Hpre, π] using
π.restrictPreimage_surjective hπsurj (H : Subgroup Q)
have hclosedφH : IsClosedMap φH := by
exact
TopologicalGroup.restrictPreimage_isClosedMap_of_isClosedMap
(π := π) (Q₁ := (H : Subgroup Q)) hclosedπ
(Subgroup.isClosed_of_isOpen (H : Subgroup Q) H.isOpen')
have hclosedN :
IsClosedMap
(φH.restrictPreimage (N : Subgroup ↥(H : Subgroup Q))) := by
exact
TopologicalGroup.restrictPreimage_isClosedMap_of_isClosedMap
(π := φH) (Q₁ := (N : Subgroup ↥(H : Subgroup Q))) hclosedφH
(Subgroup.isClosed_of_isOpen (N : Subgroup ↥(H : Subgroup Q)) N.isOpen')
have hder_preN :
topDerivedTop G (m - 1) ≤ ((Nrealized : Subgroup Q).comap (π : G →* Q)) := by
intro x hx
change π x ∈ Nrealized
have hxQ : π x ∈ topDerivedTop Q (m - 1) := by
exact (topDerivedTop_le_comap (f := π) (m := m - 1)) hx
rcases hContain (π x) hxQ with ⟨hxH, hxN⟩
exact ⟨⟨π x, hxH⟩, hxN, rfl⟩
have hkerN :
(φH.restrictPreimage (N : Subgroup ↥(H : Subgroup Q))).ker ≤
topDerivedTop ↥((Npre : Subgroup ↥(Hpre : Subgroup G))) 1 := by
intro x hx
have hxφ : φH x.1 = 1 := by
exact
(φH.restrictPreimage_eq_one_iff (N : Subgroup ↥(H : Subgroup Q)) x).1 hx
have hxπ : π x.1.1 = 1 := by
exact congrArg Subtype.val hxφ
have hxder : x.1.1 ∈ topDerivedTop G m := by
simpa [π, Q] using
(continuousToMaxSolvQuot_eq_one_iff (G := G) (m := m) (x := x.1.1)).1 hxπ
have hxder' :
x.1.1 ∈ closedDerivedSeries (G := G) ((Nrealized : Subgroup Q).comap (π : G →* Q)) 1 := by
have hm1 : 1 ≤ m := le_trans (by decide) hm
simpa [topDerivedTop] using
(mem_topDerived_one_of_mem_topDerived_of_le
(G := G) hm1 hder_preN (by simpa [topDerivedTop] using hxder))
have hmapN2 :
(closedDerivedSeries (G := ↥((Hpre : Subgroup G)))
(Npre : Subgroup ↥(Hpre : Subgroup G)) 1).map
((Hpre : Subgroup G).subtype) =
closedDerivedSeries (G := G)
((Npre : Subgroup ↥(Hpre : Subgroup G)).map ((Hpre : Subgroup G).subtype)) 1 := by
simpa [Hpre] using
(topDerived_one_map_subtype_eq_of_isClosed_subgroup
(G := G) (H := (Hpre : Subgroup G))
(K := (Npre : Subgroup ↥(Hpre : Subgroup G)))
(Subgroup.isClosed_of_isOpen _ hHpreOpen))
have hmapN1 :
(topDerivedTop ↥((Npre : Subgroup ↥(Hpre : Subgroup G))) 1).map
((Npre : Subgroup ↥(Hpre : Subgroup G)).subtype) =
closedDerivedSeries (G := ↥((Hpre : Subgroup G)))
(Npre : Subgroup ↥(Hpre : Subgroup G)) 1 := by
have hmapTop :
((⊤ : Subgroup ↥((Npre : Subgroup ↥(Hpre : Subgroup G)))).map
((Npre : Subgroup ↥(Hpre : Subgroup G)).subtype)) =
(Npre : Subgroup ↥(Hpre : Subgroup G)) := by
ext y
constructor
· rintro ⟨x, -, rfl⟩
exact x.2
· intro hy
exact ⟨⟨y, hy⟩, by simp only [Subgroup.coe_top, Set.mem_univ], rfl⟩
calc
(topDerivedTop ↥((Npre : Subgroup ↥(Hpre : Subgroup G))) 1).map
((Npre : Subgroup ↥(Hpre : Subgroup G)).subtype) =
closedDerivedSeries (G := ↥((Hpre : Subgroup G)))
(((⊤ : Subgroup ↥((Npre : Subgroup ↥(Hpre : Subgroup G)))).map
((Npre : Subgroup ↥(Hpre : Subgroup G)).subtype))) 1 := by
simpa [topDerivedTop] using
(topDerived_one_map_subtype_eq_of_isClosed_subgroup
(G := ↥((Hpre : Subgroup G)))
(H := (Npre : Subgroup ↥(Hpre : Subgroup G)))
(K := (⊤ : Subgroup ↥((Npre : Subgroup ↥(Hpre : Subgroup G)))))
(Subgroup.isClosed_of_isOpen _ Npre.isOpen'))
_ = closedDerivedSeries (G := ↥((Hpre : Subgroup G)))
(Npre : Subgroup ↥(Hpre : Subgroup G)) 1 := by
simp only [hmapTop, closedDerivedSeries_succ, closedDerivedSeries_zero]
have hxderMap :
x.1.1 ∈ closedDerivedSeries (G := G)
((Npre : Subgroup ↥(Hpre : Subgroup G)).map ((Hpre : Subgroup G).subtype)) 1 := by
simpa [hNpreMap] using hxder'
have hxderHpre :
x.1 ∈ closedDerivedSeries (G := ↥((Hpre : Subgroup G)))
(Npre : Subgroup ↥(Hpre : Subgroup G)) 1 := by
rw [← hmapN2] at hxderMap
rcases hxderMap with ⟨y, hy, hyx⟩
exact Subtype.ext hyx ▸ hy
have hxderNpreMap :
x.1 ∈ (topDerivedTop ↥((Npre : Subgroup ↥(Hpre : Subgroup G))) 1).map
((Npre : Subgroup ↥(Hpre : Subgroup G)).subtype) := by
rw [hmapN1]
exact hxderHpre
rcases hxderNpreMap with ⟨y, hy, hyx⟩
exact Subtype.ext hyx ▸ hy
let qMap :
(↥(Hpre : Subgroup G) ⧸ (Npre : Subgroup ↥(Hpre : Subgroup G))) →*
(↥(H : Subgroup Q) ⧸ (N : Subgroup ↥(H : Subgroup Q))) :=
QuotientGroup.map
(N := (Npre : Subgroup ↥(Hpre : Subgroup G)))
(M := (N : Subgroup ↥(H : Subgroup Q)))
(f := (φH : ↥(Hpre : Subgroup G) →* ↥(H : Subgroup Q)))
(by
intro x hx
exact hx)
have hqMapKer : qMap.ker = ⊥ := by
exact
TopologicalGroup.ker_map_eq_bot_of_comap_eq
(f := (φH : ↥(Hpre : Subgroup G) →* ↥(H : Subgroup Q)))
(N := (Npre : Subgroup ↥(Hpre : Subgroup G)))
(M := (N : Subgroup ↥(H : Subgroup Q)))
(h := by
intro x hx
exact hx)
(hcomap := by
rfl)
have hqMapInj : Function.Injective qMap := by
exact (MonoidHom.ker_eq_bot_iff (f := qMap)).1 hqMapKer
have hqMapSurj : Function.Surjective qMap := by
intro q
obtain ⟨h, rfl⟩ := QuotientGroup.mk'_surjective (N : Subgroup ↥(H : Subgroup Q)) q
rcases hφHsurj h with ⟨g, rfl⟩
refine ⟨QuotientGroup.mk' (Npre : Subgroup ↥(Hpre : Subgroup G)) g, ?_⟩
simp only [QuotientGroup.mk'_apply, QuotientGroup.map_mk, MonoidHom.coe_coe, qMap]
let eQ :
(↥(Hpre : Subgroup G) ⧸ (Npre : Subgroup ↥(Hpre : Subgroup G))) ≃*
(↥(H : Subgroup Q) ⧸ (N : Subgroup ↥(H : Subgroup Q))) :=
MulEquiv.ofBijective qMap ⟨hqMapInj, hqMapSurj⟩
let eA :
TopologicalAbelianization ↥(Npre : Subgroup ↥(Hpre : Subgroup G)) ≃*
TopologicalAbelianization ↥(N : Subgroup ↥(H : Subgroup Q)) :=
TopologicalGroup.restrictPreimage_topMaxSolvQuot_mulEquiv
(π := φH) (Q₁ := (N : Subgroup ↥(H : Subgroup Q))) (m := 1)
hφHsurj hclosedN hkerN
have heA_mk (x : ↥(Npre : Subgroup ↥(Hpre : Subgroup G))) :
eA (TopologicalAbelianization.mk ↥(Npre : Subgroup ↥(Hpre : Subgroup G)) x) =
TopologicalAbelianization.mk ↥(N : Subgroup ↥(H : Subgroup Q))
(φH.restrictPreimage (N : Subgroup ↥(H : Subgroup Q)) x) := by
dsimp [eA, TopologicalGroup.restrictPreimage_topMaxSolvQuot_mulEquiv]
rfl
let ρpre :
(↥(Hpre : Subgroup G) ⧸ (Npre : Subgroup ↥(Hpre : Subgroup G))) →*
MulAut (TopologicalAbelianization ↥(Npre : Subgroup ↥(Hpre : Subgroup G))) :=
quotientConjugationTopologicalAbelianizationMap
(G := ↥(Hpre : Subgroup G))
(N := (Npre : Subgroup ↥(Hpre : Subgroup G)))
let ρ :
(↥(H : Subgroup Q) ⧸ (N : Subgroup ↥(H : Subgroup Q))) →*
MulAut (TopologicalAbelianization ↥(N : Subgroup ↥(H : Subgroup Q))) :=
quotientConjugationTopologicalAbelianizationMap
(G := ↥(H : Subgroup Q))
(N := (N : Subgroup ↥(H : Subgroup Q)))
have haction_mk
(g : ↥(Hpre : Subgroup G))
(x : ↥(Npre : Subgroup ↥(Hpre : Subgroup G))) :
eA
(ρpre (QuotientGroup.mk' (Npre : Subgroup ↥(Hpre : Subgroup G)) g)
(TopologicalAbelianization.mk ↥(Npre : Subgroup ↥(Hpre : Subgroup G)) x)) =
ρ (QuotientGroup.mk' (N : Subgroup ↥(H : Subgroup Q)) (φH g))
(eA (TopologicalAbelianization.mk ↥(Npre : Subgroup ↥(Hpre : Subgroup G)) x)) := by
have hρpre_eval :
ρpre (QuotientGroup.mk' (Npre : Subgroup ↥(Hpre : Subgroup G)) g)
(TopologicalAbelianization.mk ↥(Npre : Subgroup ↥(Hpre : Subgroup G)) x) =
TopologicalAbelianization.mk ↥(Npre : Subgroup ↥(Hpre : Subgroup G))
((MulAut.conjNormal g) x) := by
simpa [ρpre] using
(quotientConjugationTopologicalAbelianizationMap_mk_apply_mk
(N := (Npre : Subgroup ↥(Hpre : Subgroup G))) (g := g) (n := x))
have hconj :
φH.restrictPreimage (N : Subgroup ↥(H : Subgroup Q))
((MulAut.conjNormal g) x) =
(MulAut.conjNormal (φH g))
(φH.restrictPreimage (N : Subgroup ↥(H : Subgroup Q)) x) := by
ext
rfl
rw [hρpre_eval, heA_mk (x := (MulAut.conjNormal g) x), heA_mk (x := x)]
calc
TopologicalAbelianization.mk ↥(N : Subgroup ↥(H : Subgroup Q))
(φH.restrictPreimage (N : Subgroup ↥(H : Subgroup Q))
((MulAut.conjNormal g) x))
=
TopologicalAbelianization.mk ↥(N : Subgroup ↥(H : Subgroup Q))
((MulAut.conjNormal (φH g))
(φH.restrictPreimage (N : Subgroup ↥(H : Subgroup Q)) x)) := by
exact congrArg (TopologicalAbelianization.mk ↥(N : Subgroup ↥(H : Subgroup Q))) hconj
_ =
ρ (QuotientGroup.mk' (N : Subgroup ↥(H : Subgroup Q)) (φH g))
(TopologicalAbelianization.mk ↥(N : Subgroup ↥(H : Subgroup Q))
(φH.restrictPreimage (N : Subgroup ↥(H : Subgroup Q)) x)) := by
exact (quotientConjugationTopologicalAbelianizationMap_mk_apply_mk
(N := (N : Subgroup ↥(H : Subgroup Q))) (g := φH g)
(n := φH.restrictPreimage (N : Subgroup ↥(H : Subgroup Q)) x)).symm
have hρpre_inj : Function.Injective ρpre := by
simpa [ρpre] using hρpre
have hcomp :
∀ p : ↥(Hpre : Subgroup G) ⧸ (Npre : Subgroup ↥(Hpre : Subgroup G)),
ρ (eQ p) = (MulAut.congr eA) (ρpre p) := by
intro p
obtain ⟨g, rfl⟩ := QuotientGroup.mk'_surjective
(Npre : Subgroup ↥(Hpre : Subgroup G)) p
ext z
obtain ⟨zpre, rfl⟩ := eA.surjective z
obtain ⟨x, rfl⟩ := QuotientGroup.mk'_surjective
(Subgroup.topologicalClosure
(commutator ↥(Npre : Subgroup ↥(Hpre : Subgroup G)))) zpre
simpa [MulAut.congr] using haction_mk g x
have hcomp_inj :
Function.Injective (fun p : ↥(Hpre : Subgroup G) ⧸
(Npre : Subgroup ↥(Hpre : Subgroup G)) => ρ (eQ p)) := by
intro p₁ p₂ hp
have hp' :
(MulAut.congr eA) (ρpre p₁) = (MulAut.congr eA) (ρpre p₂) := by
simpa [hcomp p₁, hcomp p₂] using hp
have hp'' : ρpre p₁ = ρpre p₂ := (MulAut.congr eA).injective hp'
exact hρpre_inj hp''
intro q₁ q₂ hq
rcases eQ.surjective q₁ with ⟨p₁, rfl⟩
rcases eQ.surjective q₂ with ⟨p₂, rfl⟩
exact congrArg eQ (hcomp_inj hq)Proof. Work with the closed derived series and the maximal \(m\)-step solvable quotient. The quotient map kills exactly the relevant closed derived term, and statements about abelianization, torsion-freeness, faithful conjugation actions, centers, and centralizers are reduced to the induced maps on open subgroups and their topological abelianizations. Closure and functoriality are checked by monotonicity of closed commutators, compatibility of quotient maps, and passage to the corresponding quotient or open subgroup.
□theorem injective_quotientConjAbelianization_of_containsLastDerived_of_abFaithful
{G : Type u} [TopologicalSpace G] [Group G] [IsTopologicalGroup G]
[CompactSpace G] [TotallyDisconnectedSpace G]
(hG : IsAbFaithful G)
{m : ℕ} (hm : 2 ≤ m)
(H : OpenSubgroup (MaxSolvQuot G m))
(N : OpenNormalSubgroup ↥(H : Subgroup (MaxSolvQuot G m)))
(hContain : containsLastDerived (G := G) m H N) :
Function.Injective
(quotientConjugationTopologicalAbelianizationMap
(G := ↥(H : Subgroup (MaxSolvQuot G m)))
(N := (N : Subgroup ↥(H : Subgroup (MaxSolvQuot G m)))))Show proof
by
exact
injective_quotientConjAbelianization_of_containsLastDerived_of_isClosedMap
(G := G) hG hm
((continuousToMaxSolvQuot G m).continuous_toFun.isClosedMap)
H N hContainProof. Work with the closed derived series and the maximal \(m\)-step solvable quotient. The quotient map kills exactly the relevant closed derived term, and statements about abelianization, torsion-freeness, faithful conjugation actions, centers, and centralizers are reduced to the induced maps on open subgroups and their topological abelianizations. Closure and functoriality are checked by monotonicity of closed commutators, compatibility of quotient maps, and passage to the corresponding quotient or open subgroup.
□theorem inj_quotientConjAbelianization_of_lastDerivedSubgroup_le_map_subtype_of_abFaithful
{G : Type u} [TopologicalSpace G] [Group G] [IsTopologicalGroup G]
[CompactSpace G] [TotallyDisconnectedSpace G]
(hG : IsAbFaithful G)
{m : ℕ} (hm : 2 ≤ m)
(H : OpenSubgroup (MaxSolvQuot G m))
(N : OpenNormalSubgroup ↥(H : Subgroup (MaxSolvQuot G m)))
(hN :
lastDerivedSubgroup (G := G) m ≤
(N : Subgroup ↥(H : Subgroup (MaxSolvQuot G m))).map
((H : Subgroup (MaxSolvQuot G m)).subtype)) :
Function.Injective
(quotientConjugationTopologicalAbelianizationMap
(G := ↥(H : Subgroup (MaxSolvQuot G m)))
(N := (N : Subgroup ↥(H : Subgroup (MaxSolvQuot G m)))))Show proof
by
exact
injective_quotientConjAbelianization_of_containsLastDerived_of_abFaithful
(G := G) hG hm H N
(containsLastDerived_of_lastDerivedSubgroup_le_map_subtype (G := G) hN)Proof. Work with the closed derived series and the maximal \(m\)-step solvable quotient. The quotient map kills exactly the relevant closed derived term, and statements about abelianization, torsion-freeness, faithful conjugation actions, centers, and centralizers are reduced to the induced maps on open subgroups and their topological abelianizations. Closure and functoriality are checked by monotonicity of closed commutators, compatibility of quotient maps, and passage to the corresponding quotient or open subgroup.
□theorem injective_quotientConjAbelianization_of_openNormalSupergroup_of_abFaithful
{G : Type u} [TopologicalSpace G] [Group G] [IsTopologicalGroup G]
[CompactSpace G] [TotallyDisconnectedSpace G]
(hG : IsAbFaithful G)
{m : ℕ} (hm : 2 ≤ m)
(U : OpenNormalSubgroup (MaxSolvQuot G m))
(hU : lastDerivedSubgroup (G := G) m ≤ (U : Subgroup (MaxSolvQuot G m))) :
Function.Injective
(quotientConjugationTopologicalAbelianizationMap
(G := MaxSolvQuot G m) (N := (U : Subgroup (MaxSolvQuot G m))))Open normal supergroups above the last derived subgroup inherit faithful quotient conjugation actions under the ambient abelianization-faithful hypothesis.
Show proof
by
let Q : Type u := MaxSolvQuot G m
let UTop : OpenNormalSubgroup ↥((⊤ : OpenSubgroup Q) : Subgroup Q) := openNormalSubgroupTop U
have hContain : containsLastDerived m (⊤ : OpenSubgroup Q) UTop := by
intro x hx
refine ⟨by simp only [OpenSubgroup.mem_top], ?_⟩
simpa [openNormalSubgroupTop] using hU hx
have hTop :
Function.Injective
(quotientConjugationTopologicalAbelianizationMap
(G := ↥((⊤ : OpenSubgroup Q) : Subgroup Q))
(N := (UTop : Subgroup ↥((⊤ : OpenSubgroup Q) : Subgroup Q)))) := by
exact
injective_quotientConjAbelianization_of_containsLastDerived_of_abFaithful
(G := G) (m := m) hG hm
(H := (⊤ : OpenSubgroup Q)) (N := UTop) hContain
exact
inj_quotientConjugationTopologicalAbelianizationMap_of_openNormalSubgroupTop
(G := Q) U hTopProof. Work with the closed derived series and the maximal \(m\)-step solvable quotient. The quotient map kills exactly the relevant closed derived term, and statements about abelianization, torsion-freeness, faithful conjugation actions, centers, and centralizers are reduced to the induced maps on open subgroups and their topological abelianizations. Closure and functoriality are checked by monotonicity of closed commutators, compatibility of quotient maps, and passage to the corresponding quotient or open subgroup.
□theorem center_le_lastDerivedSubgroup_of_isAbFaithful
{G : Type u} [TopologicalSpace G] [Group G] [IsTopologicalGroup G]
[CompactSpace G] [TotallyDisconnectedSpace G]
(hG : IsAbFaithful G)
{m : ℕ} (hm : 1 ≤ m) :
Subgroup.center (MaxSolvQuot G m) ≤ lastDerivedSubgroup (G := G) mShow proof
by
by_cases hm1 : m = 1
· subst hm1
simp only [closedDerivedSeries_succ, closedDerivedSeries_zero, lastDerivedSubgroup, topDerivedTop, tsub_self,
le_top]
have hm2 : 2 ≤ m := Nat.succ_le_of_lt (lt_of_le_of_ne hm (Ne.symm hm1))
intro z hz
let Q : Type u := MaxSolvQuot G m
have hGprof : ProCGroups.IsProfiniteGroup G := by
exact ⟨inferInstance, inferInstance, inferInstance, inferInstance⟩
have hQprof : ProCGroups.IsProfiniteGroup Q := by
simpa [Q, MaxSolvQuot] using
(ProCGroups.Generation.isProfinite_quotient_closedNormal
(G := G) hGprof
(show IsClosed ((topDerivedTop G m : Subgroup G) : Set G) by infer_instance))
letI : TotallyDisconnectedSpace Q := ProCGroups.IsProfiniteGroup.totallyDisconnectedSpace hQprof
let K : Subgroup Q := lastDerivedSubgroup (G := G) m
have hKNormal : K.Normal := by
dsimp [K, lastDerivedSubgroup]
infer_instance
letI : K.Normal := hKNormal
let Kclosed : ClosedSubgroup Q := ⟨K, by
simpa [Q, K] using (show IsClosed ((topDerivedTop Q (m - 1) : Subgroup Q) : Set Q) by
infer_instance)⟩
change z ∈ K
have hK_eq :
K = sInf {N : Subgroup Q | IsOpen (N : Set Q) ∧ K ≤ N ∧ N.Normal} := by
change (Kclosed : Subgroup Q) =
sInf {N : Subgroup Q | IsOpen (N : Set Q) ∧ K ≤ N ∧ N.Normal}
exact ProCGroups.ProC.closedSubgroup_eq_sInf_openNormal (G := Q) Kclosed
rw [hK_eq]
simp only [Subgroup.mem_sInf]
intro N hN
let U : OpenNormalSubgroup Q :=
{ toSubgroup := N
isOpen' := hN.1
isNormal' := hN.2.2 }
letI : (U : Subgroup Q).Normal := U.isNormal'
have hρinj :
Function.Injective
(quotientConjugationTopologicalAbelianizationMap
(G := Q) (N := (U : Subgroup Q))) :=
injective_quotientConjAbelianization_of_openNormalSupergroup_of_abFaithful
(G := G) (m := m) hG hm2 U hN.2.1
have hρz :
quotientConjugationTopologicalAbelianizationMap
(G := Q) (N := (U : Subgroup Q))
(QuotientGroup.mk' (U : Subgroup Q) z) = 1 :=
quotientConjugationTopologicalAbelianizationMap_mk_eq_one_of_mem_center
(G := Q) (N := (U : Subgroup Q)) (x := z) hz
have hzU : z ∈ (U : Subgroup Q) := by
apply (QuotientGroup.eq_one_iff (N := (U : Subgroup Q)) z).mp
apply hρinj
simpa using hρz
simpa [U] using hzUProof. Work with the closed derived series and the maximal \(m\)-step solvable quotient. The quotient map kills exactly the relevant closed derived term, and statements about abelianization, torsion-freeness, faithful conjugation actions, centers, and centralizers are reduced to the induced maps on open subgroups and their topological abelianizations. Closure and functoriality are checked by monotonicity of closed commutators, compatibility of quotient maps, and passage to the corresponding quotient or open subgroup.
□theorem center_eq_bot_of_center_le_of_noNontrivialFixedPoints_of_inj_topologicalAbelianization
{Q : Type u} [TopologicalSpace Q] [Group Q] [IsTopologicalGroup Q]
{K : Subgroup Q} [K.Normal]
(hcenter : Subgroup.center Q ≤ K)
(hfixed :
HasNoNontrivialFixedPoints
(quotientConjugationTopologicalAbelianizationMap (G := Q) (N := K)))
(hinj : Function.Injective (TopologicalAbelianization.mk ↥K)) :
Subgroup.center Q = ⊥If the center lies in a normal subgroup whose topological abelianization action has no nontrivial fixed points, then injectivity of the natural map to topological abelianization forces the ambient center to be trivial.
Show proof
by
rw [Subgroup.eq_bot_iff_forall]
intro z hz
have hzK : z ∈ K := hcenter hz
let zK : K := ⟨z, hzK⟩
have hzfix :
∀ q : Q ⧸ K,
quotientConjugationTopologicalAbelianizationMap (G := Q) (N := K) q
(TopologicalAbelianization.mk ↥K zK) =
TopologicalAbelianization.mk ↥K zK := by
intro q
obtain ⟨g, rfl⟩ := QuotientGroup.mk'_surjective K q
exact
quotientConjAbMap_apply_mk_of_commute
(G := Q) (N := K) (g := g) (x := zK)
((Subgroup.mem_center_iff.mp hz) g)
have hzab1 : TopologicalAbelianization.mk ↥K zK = 1 := by
exact hfixed (TopologicalAbelianization.mk ↥K zK) hzfix
have hzK1 : zK = 1 := by
exact hinj hzab1
simpa [zK] using congrArg Subtype.val hzK1Proof. Work with the closed derived series and the maximal \(m\)-step solvable quotient. The quotient map kills exactly the relevant closed derived term, and statements about abelianization, torsion-freeness, faithful conjugation actions, centers, and centralizers are reduced to the induced maps on open subgroups and their topological abelianizations. Closure and functoriality are checked by monotonicity of closed commutators, compatibility of quotient maps, and passage to the corresponding quotient or open subgroup.
□