ProCGroups.Completion.FiniteQuotientLifts

3 Theorem | 2 Definition

This module develops the maps induced by continuous homomorphisms. It organizes the relevant quotient pullbacks and finite-stage maps, then proves the compatibility statements needed for the completed construction.

import
Imported by

Declarations

def HasUniqueFiniteDiscreteQuotientLifts
    (C : ProCGroups.FiniteGroupClass.{u})
    {G : Type u} [Group G] [TopologicalSpace G] [IsTopologicalGroup G]
    {Ghat : Type u} [Group Ghat] [TopologicalSpace Ghat] [IsTopologicalGroup Ghat]
    (ι : G →ₜ* Ghat) : Prop :=
  ∀ {Q : Type u} [Group Q] [TopologicalSpace Q] [IsTopologicalGroup Q]
    [Finite Q] [DiscreteTopology Q],
    C Q →
    ∀ φ : G →ₜ* Q,
      ∃! φbar : Ghat →ₜ* Q, φbar.comp ι = φ

Unique lifting property against finite discrete \(C\)-quotients of the source.

noncomputable def lift_to_inverseLimit_of_compatible_finite_lifts
    {I : Type u} [Preorder I]
    (S : ProCGroups.InverseSystems.InverseSystem (I := I))
    [∀ i, Group (S.X i)] [ProCGroups.InverseSystems.IsGroupSystem S]
    [∀ i, IsTopologicalGroup (S.X i)]
    {A : Type u} [Group A] [TopologicalSpace A]
    (φ : ∀ i, A →ₜ* S.X i)
    (hcompat : S.CompatibleMaps (fun i => φ i)) :
    A →ₜ* S.inverseLimit :=
  { toMonoidHom :=
      { toFun := S.inverseLimitLift (fun i => φ i) hcompat
        map_one' := by
          apply S.ext
          intro i
          calc
            S.projection i (S.inverseLimitLift (fun i => φ i) hcompat 1) = φ i 1 := by
              simpa [Function.comp] using
                congrFun (S.projection_comp_inverseLimitLift (fun i => φ i) hcompat i) (1 : A)
            _ = 1 := by simp only [map_one]
        map_mul' := by
          intro x y
          apply S.ext
          intro i
          calc
            S.projection i (S.inverseLimitLift (fun i => φ i) hcompat (x * y)) = φ i (x * y) := by
              simpa [Function.comp] using
                congrFun (S.projection_comp_inverseLimitLift (fun i => φ i) hcompat i) (x * y)
            _ = φ i x * φ i y := by simp only [map_mul]
            _ =
                S.projection i (S.inverseLimitLift (fun i => φ i) hcompat x) *
                  S.projection i (S.inverseLimitLift (fun i => φ i) hcompat y) := by
              have hx :
                  S.projection i (S.inverseLimitLift (fun i => φ i) hcompat x) = φ i x := by
                simpa [Function.comp] using
                  congrFun (S.projection_comp_inverseLimitLift (fun i => φ i) hcompat i) x
              have hy :
                  S.projection i (S.inverseLimitLift (fun i => φ i) hcompat y) = φ i y := by
                simpa [Function.comp] using
                  congrFun (S.projection_comp_inverseLimitLift (fun i => φ i) hcompat i) y
              rw [← hx, ← hy] }
    continuous_toFun := S.continuous_inverseLimitLift (fun i => φ i) (fun i => (φ i).continuous_toFun)
      hcompat }

A compatible family of continuous homomorphisms to finite stages assembles to a continuous homomorphism to the inverse limit.

theorem isProCCompletion_of_finiteQuotientLifts
    {C : ProCGroups.FiniteGroupClass.{u}}
    (hForm : ProCGroups.FiniteGroupClass.Formation C)
    {G : Type u} [Group G] [TopologicalSpace G] [IsTopologicalGroup G]
    [DiscreteTopology G]
    {Ghat : Type u} [Group Ghat] [TopologicalSpace Ghat] [IsTopologicalGroup Ghat]
    (hGhat : ProCGroups.ProC.IsProCGroup C Ghat)
    {ι : G →ₜ* Ghat}
    (hιdense : DenseRange ι)
    (hfinite :
      ∀ {Q : Type u} [Group Q] [TopologicalSpace Q] [IsTopologicalGroup Q]
        [Finite Q] [DiscreteTopology Q],
        C Q →
        ∀ φ : G →ₜ* Q,
          ∃! φbar : Ghat →ₜ* Q, φbar.comp ι = φ) :
    IsProCCompletion
      (ProCGroups.ProC.finiteGroupClassProCPredicate C) G Ghat ι

A dense map from a discrete group into a pro-\(C\) group is a pro-\(C\) completion as soon as every finite discrete \(C\)-quotient of the source lifts uniquely and continuously across it.

Show proof
theorem finiteQuotientLifts_extend_to_proC_target
    {C : ProCGroups.FiniteGroupClass.{u}}
    (hForm : ProCGroups.FiniteGroupClass.Formation C)
    {G : Type u} [Group G] [TopologicalSpace G] [IsTopologicalGroup G]
    [DiscreteTopology G]
    {Ghat : Type u} [Group Ghat] [TopologicalSpace Ghat] [IsTopologicalGroup Ghat]
    (hGhat : ProCGroups.ProC.IsProCGroup C Ghat)
    {ι : G →ₜ* Ghat}
    (hιdense : DenseRange ι)
    (hfinite :
      ∀ {Q : Type u} [Group Q] [TopologicalSpace Q] [IsTopologicalGroup Q]
        [Finite Q] [DiscreteTopology Q],
        C Q →
        ∀ φ : G →ₜ* Q,
          ∃! φbar : Ghat →ₜ* Q, φbar.comp ι = φ)
    {H : Type u} [Group H] [TopologicalSpace H] [IsTopologicalGroup H]
    (hH : ProCGroups.ProC.finiteGroupClassProCPredicate C (G := H))
    (ψ : G →ₜ* H) :
    ∃! ψbar : Ghat →ₜ* H, ψbar.comp ι = ψ

Finite discrete quotient lifts extend uniquely to any pro-\(C\) target.

Show proof
theorem isProCCompletion_of_finiteDiscreteQuotientLifts
    {C : ProCGroups.FiniteGroupClass.{u}}
    (hForm : ProCGroups.FiniteGroupClass.Formation C)
    {G : Type u} [Group G] [TopologicalSpace G] [IsTopologicalGroup G]
    [DiscreteTopology G]
    {Ghat : Type u} [Group Ghat] [TopologicalSpace Ghat] [IsTopologicalGroup Ghat]
    (hGhat : ProCGroups.ProC.IsProCGroup C Ghat)
    {ι : G →ₜ* Ghat}
    (hιdense : DenseRange ι)
    (hfinite : HasUniqueFiniteDiscreteQuotientLifts C (G := G) (Ghat := Ghat) ι) :
    IsProCCompletion
      (ProCGroups.ProC.finiteGroupClassProCPredicate C) G Ghat ι

The finite discrete quotient lifting hypothesis gives a pro-\(C\) completion.

Show proof