FoxDifferential.Completed.FreeProC.ProCIntegerStageCoeffProjection

10 Theorem | 2 Definition

This module develops the Fox-differential part of the theory. It records the formulas that connect generators, boundaries, Jacobians, and completed coordinates.

import
Imported by

Declarations

def zcCompletedGroupAlgebraStageToFiniteFoxStage
    (hmod : n ∣ i.1.modulus)
    (qmap : CompletedGroupAlgebraQuotientInClass H ProC.finiteQuotientClass i.2 →*
      finiteFoxStageTargetQuotient (X := X) N) :
    ZCCompletedGroupAlgebraStage ProC.finiteQuotientClass H i →+*
      finiteFoxStageTargetGroupAlgebra (X := X) N n := by
  letI : Fact (0 < i.1.modulus) := ⟨i.1.positive⟩
  letI : Algebra (ModNCompletedCoeff i.1.modulus) (ModNCompletedCoeff n) :=
    ZMod.algebra' (R := ModNCompletedCoeff n) (m := n) (n := i.1.modulus) hmod
  letI : Algebra (ModNCompletedCoeff i.1.modulus)
      (finiteFoxStageTargetGroupAlgebra (X := X) N n) := inferInstance
  exact
    (MonoidAlgebra.lift (ModNCompletedCoeff i.1.modulus)
      (finiteFoxStageTargetGroupAlgebra (X := X) N n)
      (CompletedGroupAlgebraQuotientInClass H ProC.finiteQuotientClass i.2)
      ((MonoidAlgebra.of (ModNCompletedCoeff n)
        (finiteFoxStageTargetQuotient (X := X) N)).comp qmap)).toRingHom

A finite stage of \(\mathbb{Z}_C\llbracket H\rrbracket\) maps to a finite Fox target group algebra once its coefficient modulus dominates \(n\) and its finite quotient maps to \(F/N\).

theorem zcCompletedGroupAlgebraStageToFiniteFoxStage_of
    (hmod : n ∣ i.1.modulus)
    (qmap : CompletedGroupAlgebraQuotientInClass H ProC.finiteQuotientClass i.2 →*
      finiteFoxStageTargetQuotient (X := X) N)
    (q : CompletedGroupAlgebraQuotientInClass H ProC.finiteQuotientClass i.2) :
    zcCompletedGroupAlgebraStageToFiniteFoxStage
        (ProC := ProC) (X := X) (H := H) N n i hmod qmap
        (MonoidAlgebra.of (ModNCompletedCoeff i.1.modulus)
          (CompletedGroupAlgebraQuotientInClass H ProC.finiteQuotientClass i.2) q) =
      MonoidAlgebra.of (ModNCompletedCoeff n)
        (finiteFoxStageTargetQuotient (X := X) N) (qmap q)

Evaluation on a completed group-algebra stage basis element.

Show proof
theorem zcCompletedGroupAlgebraStageToFiniteFoxStage_single
    (hmod : n ∣ i.1.modulus)
    (qmap : CompletedGroupAlgebraQuotientInClass H ProC.finiteQuotientClass i.2 →*
      finiteFoxStageTargetQuotient (X := X) N)
    (q : CompletedGroupAlgebraQuotientInClass H ProC.finiteQuotientClass i.2)
    (a : ModNCompletedCoeff i.1.modulus) :
    zcCompletedGroupAlgebraStageToFiniteFoxStage
        (ProC := ProC) (X := X) (H := H) N n i hmod qmap
        (MonoidAlgebra.single q a) =
      MonoidAlgebra.single (qmap q)
        (modNCompletedCoeffMap (n := n) (m := i.1.modulus) hmod a)

Evaluation on a single coefficient at a stage quotient element.

Show proof
theorem zcCompletedGroupAlgebraStageToFiniteFoxStage_self_injective
    (qmap : CompletedGroupAlgebraQuotientInClass H ProC.finiteQuotientClass i.2 →*
      finiteFoxStageTargetQuotient (X := X) N)
    (hqmap : Function.Injective qmap) :
    Function.Injective
      (zcCompletedGroupAlgebraStageToFiniteFoxStage
        (ProC := ProC) (X := X) (H := H) N i.1.modulus i dvd_rfl qmap)

If no coefficient reduction is taken and the target quotient comparison is injective, then the finite-stage map from the completed group-algebra stage to the finite Fox target group algebra is injective.

Show proof
def zcCompletedGroupAlgebraFiniteFoxStageCoeffMap
    (hmod : n ∣ i.1.modulus)
    (qmap : CompletedGroupAlgebraQuotientInClass H ProC.finiteQuotientClass i.2 →*
      finiteFoxStageTargetQuotient (X := X) N) :
    ZCCompletedGroupAlgebra ProC.finiteQuotientClass H →+*
      finiteFoxStageTargetGroupAlgebra (X := X) N n :=
  (zcCompletedGroupAlgebraStageToFiniteFoxStage
    (ProC := ProC) (X := X) (H := H) N n i hmod qmap).comp
    (zcCompletedGroupAlgebraProjectionRingHom ProC.finiteQuotientClass H i)

The resulting completed-to-finite coefficient map.

theorem zcCompletedGroupAlgebraFiniteFoxStageCoeffMap_apply
    (hmod : n ∣ i.1.modulus)
    (qmap : CompletedGroupAlgebraQuotientInClass H ProC.finiteQuotientClass i.2 →*
      finiteFoxStageTargetQuotient (X := X) N)
    (a : ZCCompletedGroupAlgebra ProC.finiteQuotientClass H) :
    zcCompletedGroupAlgebraFiniteFoxStageCoeffMap
        (ProC := ProC) (X := X) (H := H) N n i hmod qmap a =
      zcCompletedGroupAlgebraStageToFiniteFoxStage
        (ProC := ProC) (X := X) (H := H) N n i hmod qmap
        (zcCompletedGroupAlgebraProjection ProC.finiteQuotientClass H i a)

The coefficient-change map is evaluated coordinatewise: the support in the finite quotient is unchanged and every coefficient is carried through the given ring homomorphism.

Show proof
theorem zcCompletedGroupAlgebraFiniteFoxStageCoeffMap_groupLike
    (hmod : n ∣ i.1.modulus)
    (qmap : CompletedGroupAlgebraQuotientInClass H ProC.finiteQuotientClass i.2 →*
      finiteFoxStageTargetQuotient (X := X) N)
    (h : H) :
    zcCompletedGroupAlgebraFiniteFoxStageCoeffMap
        (ProC := ProC) (X := X) (H := H) N n i hmod qmap
        (zcGroupLike ProC.finiteQuotientClass H h) =
      MonoidAlgebra.of (ModNCompletedCoeff n)
        (finiteFoxStageTargetQuotient (X := X) N)
        (qmap (QuotientGroup.mk h))

Group-like formula for the completed-to-finite coefficient map.

Show proof
theorem zcCompletedGroupAlgebraFiniteFoxStageCoeffMap_groupLike_eq_stageRight
    (hmod : n ∣ i.1.modulus)
    (qmap : CompletedGroupAlgebraQuotientInClass H ProC.finiteQuotientClass i.2 →*
      finiteFoxStageTargetQuotient (X := X) N)
    (stageRight : H →* finiteFoxStageTargetQuotient (X := X) N)
    (hqmap : ∀ h : H, qmap (QuotientGroup.mk h) = stageRight h)
    (h : H) :
    zcCompletedGroupAlgebraFiniteFoxStageCoeffMap
        (ProC := ProC) (X := X) (H := H) N n i hmod qmap
        (zcGroupLike ProC.finiteQuotientClass H h) =
      MonoidAlgebra.of (ModNCompletedCoeff n)
        (finiteFoxStageTargetQuotient (X := X) N) (stageRight h)

Group-like formula rewritten through a named finite right quotient map.

Show proof
theorem finiteFoxStageTargetGroupAlgebraMap_single_apply
    (q : finiteFoxStageTargetQuotient (X := X) N)
    (a : ModNCompletedCoeff n) :
    finiteFoxStageTargetGroupAlgebraMap (X := X) hNM n
        (MonoidAlgebra.single q a) =
      MonoidAlgebra.single (finiteFoxStageTargetQuotientMap (X := X) hNM q) a

Target quotient maps send a single group-algebra coefficient to the mapped basis element.

Show proof
theorem finiteFoxStageBifilteredTargetGroupAlgebraMap_single_apply
    (q : finiteFoxStageTargetQuotient (X := X) N)
    (a : ModNCompletedCoeff m) :
    finiteFoxStageBifilteredTargetGroupAlgebraMap (X := X) hNM hnm
        (MonoidAlgebra.single q a) =
      MonoidAlgebra.single (finiteFoxStageTargetQuotientMap (X := X) hNM q)
        (modNCompletedCoeffMap (n := n) (m := m) hnm a)

The bifiltered target transition on a single group-algebra coefficient.

Show proof
theorem zcCompletedGroupAlgebraStageToFiniteFoxStage_transition
    (hmod_i : n ∣ i.1.modulus)
    (hmod_j : m ∣ j.1.modulus)
    (hcoeff : ∀ a : ModNCompletedCoeff j.1.modulus,
      modNCompletedCoeffMap (n := n) (m := i.1.modulus) hmod_i
          (modNCompletedCoeffMap (n := i.1.modulus) (m := j.1.modulus) hij.1 a) =
        modNCompletedCoeffMap (n := n) (m := m) hnm
          (modNCompletedCoeffMap (n := m) (m := j.1.modulus) hmod_j a))
    (qmap_i : CompletedGroupAlgebraQuotientInClass H ProC.finiteQuotientClass i.2 →*
      finiteFoxStageTargetQuotient (X := X) M)
    (qmap_j : CompletedGroupAlgebraQuotientInClass H ProC.finiteQuotientClass j.2 →*
      finiteFoxStageTargetQuotient (X := X) N)
    (hqmap : ∀ q : CompletedGroupAlgebraQuotientInClass H ProC.finiteQuotientClass j.2,
      qmap_i
          ((OpenNormalSubgroupInClass.map
            (C := ProC.finiteQuotientClass) (G := H)
            (U := OrderDual.ofDual i.2) (V := OrderDual.ofDual j.2) hij.2) q) =
        finiteFoxStageTargetQuotientMap (X := X) hNM (qmap_j q))
    (x : ZCCompletedGroupAlgebraStage ProC.finiteQuotientClass H j) :
    finiteFoxStageBifilteredTargetGroupAlgebraMap (X := X) hNM hnm
        (zcCompletedGroupAlgebraStageToFiniteFoxStage
          (ProC := ProC) (X := X) (H := H) N m j hmod_j qmap_j x) =
      zcCompletedGroupAlgebraStageToFiniteFoxStage
        (ProC := ProC) (X := X) (H := H) M n i hmod_i qmap_i
        (zcCompletedGroupAlgebraTransition ProC.finiteQuotientClass H hij x)

Stage-to-finite maps commute with completed-group-algebra transitions when the coefficient reductions and quotient maps commute.

Show proof
theorem zcCompletedGroupAlgebraFiniteFoxStageCoeffMap_transition
    (hmod_i : n ∣ i.1.modulus)
    (hmod_j : m ∣ j.1.modulus)
    (hcoeff : ∀ a : ModNCompletedCoeff j.1.modulus,
      modNCompletedCoeffMap (n := n) (m := i.1.modulus) hmod_i
          (modNCompletedCoeffMap (n := i.1.modulus) (m := j.1.modulus) hij.1 a) =
        modNCompletedCoeffMap (n := n) (m := m) hnm
          (modNCompletedCoeffMap (n := m) (m := j.1.modulus) hmod_j a))
    (qmap_i : CompletedGroupAlgebraQuotientInClass H ProC.finiteQuotientClass i.2 →*
      finiteFoxStageTargetQuotient (X := X) M)
    (qmap_j : CompletedGroupAlgebraQuotientInClass H ProC.finiteQuotientClass j.2 →*
      finiteFoxStageTargetQuotient (X := X) N)
    (hqmap : ∀ q : CompletedGroupAlgebraQuotientInClass H ProC.finiteQuotientClass j.2,
      qmap_i
          ((OpenNormalSubgroupInClass.map
            (C := ProC.finiteQuotientClass) (G := H)
            (U := OrderDual.ofDual i.2) (V := OrderDual.ofDual j.2) hij.2) q) =
        finiteFoxStageTargetQuotientMap (X := X) hNM (qmap_j q))
    (a : ZCCompletedGroupAlgebra ProC.finiteQuotientClass H) :
    finiteFoxStageBifilteredTargetGroupAlgebraMap (X := X) hNM hnm
        (zcCompletedGroupAlgebraFiniteFoxStageCoeffMap
          (ProC := ProC) (X := X) (H := H) N m j hmod_j qmap_j a) =
      zcCompletedGroupAlgebraFiniteFoxStageCoeffMap
        (ProC := ProC) (X := X) (H := H) M n i hmod_i qmap_i a

The completed coefficient maps built from stage projections are compatible on completed points once the underlying finite-stage maps commute with transitions.

Show proof