FoxDifferential.Completed.FreeProC.SemidirectKernelBasis

8 Theorem | 4 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 HasAdditiveIdentityQuotientKernelNeighbourhoodBasis : Prop :=
  ∀ U : Set A, IsOpen U → (0 : A) ∈ U →
    ∃ j : J, ∀ z : A, π j z = 0 → z ∈ U

Additive-coordinate quotient kernels form a neighborhood basis at zero. This is the additive analogue of HasIdentityQuotientKernelNeighborhoodBasis. It is used for the left coordinate \(\mathbb{Z}_C\llbracket H\rrbracket^{X}\), whose finite-stage maps are additive homomorphisms rather than multiplicative homomorphisms.

def HasFiniteCoordinateZeroRectangularNeighbourhoods : Prop :=
  ∀ U : Set (X → A), IsOpen U → (0 : X → A) ∈ U →
    ∃ V : X → Set A,
      (∀ x : X, IsOpen (V x) ∧ (0 : A) ∈ V x) ∧
      ∀ v : X → A, (∀ x : X, v x ∈ V x) → v ∈ U

A finite product neighborhood around zero in \(X \to A\), formulated in a form convenient for coordinatewise kernel-basis arguments.

def coordinatewiseAddMonoidHom
    (π : ∀ j : J, A →+ B j) (j : J) :
    (X → A) →+ (X → B j) where
  toFun v := fun x => π j (v x)
  map_zero' := by
    funext x
    exact map_zero (π j)
  map_add' v w := by
    funext x
    exact map_add (π j) (v x) (w x)

A stage coefficient map induces a coordinatewise additive homomorphism.

theorem coordinatewiseAddMonoidHom_apply
    (π : ∀ j : J, A →+ B j) (j : J) (v : X → A) (x : X) :
    coordinatewiseAddMonoidHom (X := X) π j v x = π j (v x)

The coordinatewise additive homomorphism evaluates by applying the chosen additive map to each coordinate.

Show proof
theorem coordinatewiseAdditiveKernelBasis_of_component_basis
    (π : ∀ j : J, A →+ B j)
    (hrect : HasFiniteCoordinateZeroRectangularNeighbourhoods (A := A) (X := X))
    (hdir : Directed (· ≤ ·) (id : J → J))
    (hbasis : HasAdditiveIdentityQuotientKernelNeighbourhoodBasis (A := A) π)
    (hmono : ∀ {i j : J}, i ≤ j → ∀ a : A, π j a = 0 → π i a = 0) :
    HasAdditiveIdentityQuotientKernelNeighbourhoodBasis
      (A := X → A)
      (fun j : J => coordinatewiseAddMonoidHom (X := X) π j)

If coefficient kernels form a zero-neighborhood basis and stage kernels are monotone along a directed finite-stage system, then the coordinatewise finite product maps also form a zero-neighborhood kernel basis.

Show proof
def HasSemidirectRectangularIdentityNeighbourhoods
    (C : ProCGroups.FiniteGroupClass.{u})
    [TopologicalSpace (ZCCompletedGroupAlgebra C H)]
    [TopologicalSpace (ZCCompletedFoxSemidirect C X H)] : Prop :=
  ∀ U : Set (ZCCompletedFoxSemidirect C X H),
    IsOpen U → (1 : ZCCompletedFoxSemidirect C X H) ∈ U →
      ∃ UL : Set (ZCFreeFoxCoordinates C (X := X) (H := H)),
      ∃ UR : Set H,
        IsOpen UL ∧ (0 : ZCFreeFoxCoordinates C (X := X) (H := H)) ∈ UL ∧
        IsOpen UR ∧ (1 : H) ∈ UR ∧
        ∀ y : ZCCompletedFoxSemidirect C X H,
          y.left ∈ UL → y.right ∈ UR → y ∈ U

Identity neighborhoods in the completed Fox semidirect product contain component rectangles. For the standard product topology this follows from the product homeomorphism \(\mathbb{Z}_C\llbracket H\rrbracket^{X} \rtimes H \cong \mathbb{Z}_C\llbracket H\rrbracket^{X} \times H\); it is kept as a named property so the algebraic componentwise kernel-basis theorem below is independent of the concrete topology.

theorem freeProCZCCompletedFoxSemidirectStageMap_identity_basis_of_component_bases
    (hrect : HasSemidirectRectangularIdentityNeighbourhoods
      (X := X) (H := H) ProC.finiteQuotientClass)
    (hdir : Directed (· ≤ ·) (id : J → J))
    (stageLeft : ∀ j : J,
      ZCFreeFoxCoordinates ProC.finiteQuotientClass (X := X) (H := H) →+
        finiteFoxStageCoordinateVector (X := X) (Nstage j) (nstage j))
    (stageRight : ∀ j : J, H →* finiteFoxStageTargetQuotient (X := X) (Nstage j))
    (hscalar : ∀ j : J, ∀ (h : H)
      (v : ZCFreeFoxCoordinates ProC.finiteQuotientClass (X := X) (H := H)),
        stageLeft j (zcGroupLike ProC.finiteQuotientClass H h • v) =
          (MonoidAlgebra.of (ModNCompletedCoeff (nstage j))
            (finiteFoxStageTargetQuotient (X := X) (Nstage j)) (stageRight j h)) •
            stageLeft j v)
    (hleft_basis :
      HasAdditiveIdentityQuotientKernelNeighbourhoodBasis
        (A := ZCFreeFoxCoordinates ProC.finiteQuotientClass (X := X) (H := H))
        stageLeft)
    (hright_basis :
      HasIdentityQuotientKernelNeighbourhoodBasis (Y := H) stageRight)
    (hleft_mono : ∀ {i j : J}, i ≤ j →
      ∀ v : ZCFreeFoxCoordinates ProC.finiteQuotientClass (X := X) (H := H),
        stageLeft j v = 0 → stageLeft i v = 0)
    (hright_mono : ∀ {i j : J}, i ≤ j → ∀ h : H,
        stageRight j h = 1 → stageRight i h = 1) :
    HasIdentityQuotientKernelNeighbourhoodBasis
      (Y := ZCCompletedFoxSemidirect ProC.finiteQuotientClass X H)
      (fun j : J =>
        freeProCZCCompletedFoxSemidirectStageMap
          (ProC := ProC) (X := X) (H := H) (Nstage j) (nstage j)
          (stageLeft j) (stageRight j) (hscalar j))

If the coordinate kernels and target kernels are neighborhood bases in the two components, and the finite-stage kernels are monotone along the directed stage system, then the semidirect stage kernels are a neighborhood basis at the identity. This is the topological bridge needed to feed actual finite quotient projections into the completed Fox density theorem.

Show proof
theorem zcFreeFoxCoordinatesBifilteredStageMap_kernel_mono
    (hcoeff_mod : ∀ {i j : J} (hij : i ≤ j),
      ∀ a : ModNCompletedCoeff (zcIndex j).1.modulus,
        modNCompletedCoeffMap
            (n := nstage i) (m := (zcIndex i).1.modulus) (hmod i)
            (modNCompletedCoeffMap
              (n := (zcIndex i).1.modulus) (m := (zcIndex j).1.modulus)
              (hzcIndex hij).1 a) =
          modNCompletedCoeffMap (n := nstage i) (m := nstage j) (hn hij)
            (modNCompletedCoeffMap
              (n := nstage j) (m := (zcIndex j).1.modulus) (hmod j) a))
    (hqmap_transition : ∀ {i j : J} (hij : i ≤ j),
      ∀ q : CompletedGroupAlgebraQuotientInClass H ProC.finiteQuotientClass (zcIndex j).2,
        qmap i
            ((OpenNormalSubgroupInClass.map
              (C := ProC.finiteQuotientClass) (G := H)
              (U := OrderDual.ofDual (zcIndex i).2)
              (V := OrderDual.ofDual (zcIndex j).2)
              (hzcIndex hij).2) q) =
          finiteFoxStageTargetQuotientMap (X := X) (hN hij) (qmap j q))
    {i j : J} (hij : i ≤ j)
    (v : ZCFreeFoxCoordinates ProC.finiteQuotientClass (X := X) (H := H))
    (hv :
      zcFreeFoxCoordinatesBifilteredStageMap
        (ProC := ProC) (X := X) (H := H) Nstage nstage
        (fun k => zcCompletedGroupAlgebraBifilteredStageCoeffMap
          (ProC := ProC) (X := X) (H := H) Nstage nstage zcIndex hmod qmap k)
        j v = 0) :
      zcFreeFoxCoordinatesBifilteredStageMap
        (ProC := ProC) (X := X) (H := H) Nstage nstage
        (fun k => zcCompletedGroupAlgebraBifilteredStageCoeffMap
          (ProC := ProC) (X := X) (H := H) Nstage nstage zcIndex hmod qmap k)
        i v = 0

The left coordinate kernels of the actual \(\mathbb{Z}_C\llbracket H\rrbracket\) bifiltered stage maps are monotone along stage refinement.

Show proof
theorem zcCompletedGroupAlgebraBifilteredStageCoeffMap_kernel_mono
    (hcoeff_mod : ∀ {i j : J} (hij : i ≤ j),
      ∀ a : ModNCompletedCoeff (zcIndex j).1.modulus,
        modNCompletedCoeffMap
            (n := nstage i) (m := (zcIndex i).1.modulus) (hmod i)
            (modNCompletedCoeffMap
              (n := (zcIndex i).1.modulus) (m := (zcIndex j).1.modulus)
              (hzcIndex hij).1 a) =
          modNCompletedCoeffMap (n := nstage i) (m := nstage j) (hn hij)
            (modNCompletedCoeffMap
              (n := nstage j) (m := (zcIndex j).1.modulus) (hmod j) a))
    (hqmap_transition : ∀ {i j : J} (hij : i ≤ j),
      ∀ q : CompletedGroupAlgebraQuotientInClass H ProC.finiteQuotientClass (zcIndex j).2,
        qmap i
            ((OpenNormalSubgroupInClass.map
              (C := ProC.finiteQuotientClass) (G := H)
              (U := OrderDual.ofDual (zcIndex i).2)
              (V := OrderDual.ofDual (zcIndex j).2)
              (hzcIndex hij).2) q) =
          finiteFoxStageTargetQuotientMap (X := X) (hN hij) (qmap j q))
    {i j : J} (hij : i ≤ j)
    (a : ZCCompletedGroupAlgebra ProC.finiteQuotientClass H)
    (ha :
      zcCompletedGroupAlgebraBifilteredStageCoeffMap
        (ProC := ProC) (X := X) (H := H) Nstage nstage zcIndex hmod qmap j a = 0) :
      zcCompletedGroupAlgebraBifilteredStageCoeffMap
        (ProC := ProC) (X := X) (H := H) Nstage nstage zcIndex hmod qmap i a = 0

The coefficient kernels of actual \(\mathbb{Z}_C\llbracket H\rrbracket\) bifiltered finite-stage maps are monotone along stage refinement.

Show proof
theorem zcFreeFoxCoordinatesBifilteredStageMap_additive_basis_of_coeff_basis
    [Fintype X] [Nonempty J]
    (hcoord_rect :
      HasFiniteCoordinateZeroRectangularNeighbourhoods
        (A := ZCCompletedGroupAlgebra ProC.finiteQuotientClass H) (X := X))
    (hdir : Directed (· ≤ ·) (id : J → J))
    (hcoeff_mod : ∀ {i j : J} (hij : i ≤ j),
      ∀ a : ModNCompletedCoeff (zcIndex j).1.modulus,
        modNCompletedCoeffMap
            (n := nstage i) (m := (zcIndex i).1.modulus) (hmod i)
            (modNCompletedCoeffMap
              (n := (zcIndex i).1.modulus) (m := (zcIndex j).1.modulus)
              (hzcIndex hij).1 a) =
          modNCompletedCoeffMap (n := nstage i) (m := nstage j) (hn hij)
            (modNCompletedCoeffMap
              (n := nstage j) (m := (zcIndex j).1.modulus) (hmod j) a))
    (hqmap_transition : ∀ {i j : J} (hij : i ≤ j),
      ∀ q : CompletedGroupAlgebraQuotientInClass H ProC.finiteQuotientClass (zcIndex j).2,
        qmap i
            ((OpenNormalSubgroupInClass.map
              (C := ProC.finiteQuotientClass) (G := H)
              (U := OrderDual.ofDual (zcIndex i).2)
              (V := OrderDual.ofDual (zcIndex j).2)
              (hzcIndex hij).2) q) =
          finiteFoxStageTargetQuotientMap (X := X) (hN hij) (qmap j q))
    (hcoeff_basis :
      HasAdditiveIdentityQuotientKernelNeighbourhoodBasis
        (A := ZCCompletedGroupAlgebra ProC.finiteQuotientClass H)
        (fun j : J =>
          (zcCompletedGroupAlgebraBifilteredStageCoeffMap
            (ProC := ProC) (X := X) (H := H) Nstage nstage zcIndex hmod qmap j).toAddMonoidHom)) :
    HasAdditiveIdentityQuotientKernelNeighbourhoodBasis
      (A := ZCFreeFoxCoordinates ProC.finiteQuotientClass (X := X) (H := H))
      (fun j : J =>
        zcFreeFoxCoordinatesBifilteredStageMap
          (ProC := ProC) (X := X) (H := H) Nstage nstage
          (fun k => zcCompletedGroupAlgebraBifilteredStageCoeffMap
            (ProC := ProC) (X := X) (H := H) Nstage nstage zcIndex hmod qmap k) j)

Additive kernel basis for completed Fox-coordinate projections, reduced to the coefficient ring projections. This is the next component-level target after semidirect kernel bases: prove that the coefficient maps \(\mathbb{Z}_C\llbracket H\rrbracket \to (\mathbb{Z}/n_j\mathbb{Z})[F/N_j]\) have a kernel-neighborhood basis, and the coordinate result follows for finite \(X\).

Show proof
theorem zcCompletedGroupAlgebraBifilteredStageRightMap_kernel_mono
    (hqmap_transition : ∀ {i j : J} (hij : i ≤ j),
      ∀ q : CompletedGroupAlgebraQuotientInClass H ProC.finiteQuotientClass (zcIndex j).2,
        qmap i
            ((OpenNormalSubgroupInClass.map
              (C := ProC.finiteQuotientClass) (G := H)
              (U := OrderDual.ofDual (zcIndex i).2)
              (V := OrderDual.ofDual (zcIndex j).2)
              (hzcIndex hij).2) q) =
          finiteFoxStageTargetQuotientMap (X := X) (hN hij) (qmap j q))
    {i j : J} (hij : i ≤ j) (h : H)
    (hh :
      zcCompletedGroupAlgebraBifilteredStageRightMap
        (ProC := ProC) (X := X) (H := H) Nstage zcIndex qmap j h = 1) :
      zcCompletedGroupAlgebraBifilteredStageRightMap
        (ProC := ProC) (X := X) (H := H) Nstage zcIndex qmap i h = 1

The right kernels of the automatically defined bifiltered stage maps are monotone along stage refinement.

Show proof
theorem freeProCZCFoxSemiZCBifilteredStageMap_identity_basis_of_component_bases
    (hrect : HasSemidirectRectangularIdentityNeighbourhoods
      (X := X) (H := H) ProC.finiteQuotientClass)
    (hdir : Directed (· ≤ ·) (id : J → J))
    (hcoeff_mod : ∀ {i j : J} (hij : i ≤ j),
      ∀ a : ModNCompletedCoeff (zcIndex j).1.modulus,
        modNCompletedCoeffMap
            (n := nstage i) (m := (zcIndex i).1.modulus) (hmod i)
            (modNCompletedCoeffMap
              (n := (zcIndex i).1.modulus) (m := (zcIndex j).1.modulus)
              (hzcIndex hij).1 a) =
          modNCompletedCoeffMap (n := nstage i) (m := nstage j) (hn hij)
            (modNCompletedCoeffMap
              (n := nstage j) (m := (zcIndex j).1.modulus) (hmod j) a))
    (hqmap_transition : ∀ {i j : J} (hij : i ≤ j),
      ∀ q : CompletedGroupAlgebraQuotientInClass H ProC.finiteQuotientClass (zcIndex j).2,
        qmap i
            ((OpenNormalSubgroupInClass.map
              (C := ProC.finiteQuotientClass) (G := H)
              (U := OrderDual.ofDual (zcIndex i).2)
              (V := OrderDual.ofDual (zcIndex j).2)
              (hzcIndex hij).2) q) =
          finiteFoxStageTargetQuotientMap (X := X) (hN hij) (qmap j q))
    (hleft_basis :
      HasAdditiveIdentityQuotientKernelNeighbourhoodBasis
        (A := ZCFreeFoxCoordinates ProC.finiteQuotientClass (X := X) (H := H))
        (fun j : J =>
          zcFreeFoxCoordinatesBifilteredStageMap
            (ProC := ProC) (X := X) (H := H) Nstage nstage
            (fun k => zcCompletedGroupAlgebraBifilteredStageCoeffMap
              (ProC := ProC) (X := X) (H := H) Nstage nstage zcIndex hmod qmap k) j))
    (hright_basis :
      HasIdentityQuotientKernelNeighbourhoodBasis
        (Y := H)
        (fun j : J =>
          zcCompletedGroupAlgebraBifilteredStageRightMap
            (ProC := ProC) (X := X) (H := H) Nstage zcIndex qmap j)) :
    HasIdentityQuotientKernelNeighbourhoodBasis
      (Y := ZCCompletedFoxSemidirect ProC.finiteQuotientClass X H)
      (fun j : J =>
        freeProCZCCompletedFoxSemidirectZCBifilteredStageMap
          (ProC := ProC) (X := X) (H := H) Nstage nstage zcIndex hmod qmap j)

Componentwise zero/identity kernel bases imply the identity-neighborhood kernel basis for the actual \(\mathbb{Z}_C\llbracket H\rrbracket\) bifiltered semidirect stage maps. This removes the need to prove the semidirect kernel basis in one monolithic step: it is enough to prove it for the completed Fox-coordinate projections and for the target quotient maps.

Show proof