FoxDifferential.Completed.Continuous.ChainRule.Basic

12 Theorem | 5 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 allFiniteProC_freeProCZCCompletedFoxPullbackGenerator
    {κ : Y → F'}
    (hκ : ProCGroups.FreeProC.IsFreeProCGroup
      (ProC := ProCGroups.ProC.allFiniteProC) κ)
    (η : F →* F') (φ : Y → H) (ι : X → F) : X → H :=
  fun x =>
    freeProCZCCompletedFoxRightHom
      (ProC := ProCGroups.ProC.allFiniteProC) hκ
      (allFiniteProC_zcCompletedFoxSemidirect ProCGroups.ProC.allFiniteProC.finiteQuotientClass Y H) φ
      (continuous_freeProCZCCompletedFoxSemidirectGenerator_of_discrete (ProC := ProCGroups.ProC.allFiniteProC) Y H φ)
      (η (ι x))

The target generator map pulled back along a continuous homomorphism of free pro-\(C\) sources.

def allFiniteProC_freeProCZCCompletedFoxJacobian
    {κ : Y → F'}
    (hκ : ProCGroups.FreeProC.IsFreeProCGroup
      (ProC := ProCGroups.ProC.allFiniteProC) κ)
    (η : F →* F') (φ : Y → H) (ι : X → F) :
    X → ZCFreeFoxCoordinates ProCGroups.ProC.allFiniteProC.finiteQuotientClass (X := Y) (H := H) :=
  fun x =>
    freeProCZCCompletedFoxDerivativeVector
      (ProC := ProCGroups.ProC.allFiniteProC) hκ
      (allFiniteProC_zcCompletedFoxSemidirect ProCGroups.ProC.allFiniteProC.finiteQuotientClass Y H) φ
      (continuous_freeProCZCCompletedFoxSemidirectGenerator_of_discrete (ProC := ProCGroups.ProC.allFiniteProC) Y H φ)
      (η (ι x))

The completed Fox-Jacobian family of a continuous homomorphism between free pro-\(C\) sources.

def allFiniteProC_freeProCZCCompletedFoxJacobianLinearMap
    {κ : Y → F'}
    (hκ : ProCGroups.FreeProC.IsFreeProCGroup
      (ProC := ProCGroups.ProC.allFiniteProC) κ)
    (η : F →* F') (φ : Y → H) (ι : X → F) :
    ZCFreeFoxCoordinates
        ProCGroups.ProC.allFiniteProC.finiteQuotientClass (X := X) (H := H) →ₗ[
          ZCCompletedGroupAlgebra ProCGroups.ProC.allFiniteProC.finiteQuotientClass H]
      ZCFreeFoxCoordinates ProCGroups.ProC.allFiniteProC.finiteQuotientClass (X := Y) (H := H) :=
  foxJacobianLinearMap
    (allFiniteProC_freeProCZCCompletedFoxJacobian (X := X) (F := F) hκ η φ ι)

The completed Fox-Jacobian family is bundled into a finite linear map on completed coordinate vectors.

def allFiniteProC_freeProCZCCompletedFoxJacobianMatrix
    {κ : Y → F'}
    (hκ : ProCGroups.FreeProC.IsFreeProCGroup
      (ProC := ProCGroups.ProC.allFiniteProC) κ)
    (η : F →* F') (φ : Y → H) (ι : X → F) :
    Matrix X Y (ZCCompletedGroupAlgebra ProCGroups.ProC.allFiniteProC.finiteQuotientClass H) :=
  foxJacobianMatrix
    (allFiniteProC_freeProCZCCompletedFoxJacobian (X := X) (F := F) hκ η φ ι)

The completed Fox-Jacobian is packaged as a matrix.

def allFiniteProC_freeProCZCCompletedFoxJacobianMatrixStage
    {κ : Y → F'}
    (hκ : ProCGroups.FreeProC.IsFreeProCGroup
      (ProC := ProCGroups.ProC.allFiniteProC) κ)
    (η : F →* F') (φ : Y → H) (ι : X → F)
    (j : ZCCompletedGroupAlgebraIndex ProCGroups.ProC.allFiniteProC.finiteQuotientClass H) :
    Matrix X Y (ZCCompletedGroupAlgebraStage ProCGroups.ProC.allFiniteProC.finiteQuotientClass H j) :=
  fun x y =>
    zcCompletedGroupAlgebraProjection ProCGroups.ProC.allFiniteProC.finiteQuotientClass H j
      (allFiniteProC_freeProCZCCompletedFoxJacobianMatrix
        (X := X) (F := F) hκ η φ ι x y)

A finite-stage projection of the completed Fox-Jacobian matrix.

theorem allFiniteProC_freeProCZCCompletedFoxJacobianMatrix_apply
    {κ : Y → F'}
    (hκ : ProCGroups.FreeProC.IsFreeProCGroup
      (ProC := ProCGroups.ProC.allFiniteProC) κ)
    (η : F →* F') (φ : Y → H) (ι : X → F)
    (x : X) (y : Y) :
    allFiniteProC_freeProCZCCompletedFoxJacobianMatrix
        (X := X) (F := F) hκ η φ ι x y =
      allFiniteProC_freeProCZCCompletedFoxJacobian
        (X := X) (F := F) hκ η φ ι x y

The matrix evaluation is componentwise the completed Fox-Jacobian family.

Show proof
theorem allFiniteProC_freeProCZCCompletedFoxJacobianMatrixStage_apply
    {κ : Y → F'}
    (hκ : ProCGroups.FreeProC.IsFreeProCGroup
      (ProC := ProCGroups.ProC.allFiniteProC) κ)
    (η : F →* F') (φ : Y → H) (ι : X → F)
    (j : ZCCompletedGroupAlgebraIndex ProCGroups.ProC.allFiniteProC.finiteQuotientClass H) (x : X) (y : Y) :
    allFiniteProC_freeProCZCCompletedFoxJacobianMatrixStage
        (X := X) (F := F) hκ η φ ι j x y =
      zcCompletedGroupAlgebraProjection ProCGroups.ProC.allFiniteProC.finiteQuotientClass H j
        (allFiniteProC_freeProCZCCompletedFoxJacobianMatrix
          (X := X) (F := F) hκ η φ ι x y)

Evaluation of the finite-stage completed Fox-Jacobian matrix.

Show proof
theorem allFiniteProC_freeProCZCCompletedFoxJacobianLinearMap_apply
    {κ : Y → F'}
    (hκ : ProCGroups.FreeProC.IsFreeProCGroup
      (ProC := ProCGroups.ProC.allFiniteProC) κ)
    (η : F →* F') (φ : Y → H) (ι : X → F)
    (v : ZCFreeFoxCoordinates ProCGroups.ProC.allFiniteProC.finiteQuotientClass (X := X) (H := H)) (y : Y) :
    allFiniteProC_freeProCZCCompletedFoxJacobianLinearMap
        (X := X) (F := F) hκ η φ ι v y =
      ∑ x : X,
        v x * allFiniteProC_freeProCZCCompletedFoxJacobian
          (X := X) (F := F) hκ η φ ι x y

The all-finite pro-\(C\) completed Fox-Jacobian linear map is evaluated coordinatewise at each finite quotient stage.

Show proof
theorem allFiniteProC_freeProCZCCompletedFoxJacobianLinearMap_eq_vecMul
    {κ : Y → F'}
    (hκ : ProCGroups.FreeProC.IsFreeProCGroup
      (ProC := ProCGroups.ProC.allFiniteProC) κ)
    (η : F →* F') (φ : Y → H) (ι : X → F)
    (v : ZCFreeFoxCoordinates ProCGroups.ProC.allFiniteProC.finiteQuotientClass (X := X) (H := H)) :
    allFiniteProC_freeProCZCCompletedFoxJacobianLinearMap
        (X := X) (F := F) hκ η φ ι v =
      Matrix.vecMul v
        (allFiniteProC_freeProCZCCompletedFoxJacobianMatrix
          (X := X) (F := F) hκ η φ ι)

The completed Fox-Jacobian linear map is row-vector multiplication by its matrix.

Show proof
theorem allFiniteProC_freeProCZCCompletedFoxRightHom_comp
    {ι : X → F} {κ : Y → F'}
    (hι : ProCGroups.FreeProC.IsFreeProCGroup
      (ProC := ProCGroups.ProC.allFiniteProC) ι)
    (hκ : ProCGroups.FreeProC.IsFreeProCGroup
      (ProC := ProCGroups.ProC.allFiniteProC) κ)
    (η : F →* F') (hη_continuous : Continuous η) (φ : Y → H) :
    freeProCZCCompletedFoxRightHom
        (ProC := ProCGroups.ProC.allFiniteProC) hι
        (allFiniteProC_zcCompletedFoxSemidirect ProCGroups.ProC.allFiniteProC.finiteQuotientClass X H)
        (allFiniteProC_freeProCZCCompletedFoxPullbackGenerator
          (X := X) (F := F) hκ η φ ι)
        (continuous_freeProCZCCompletedFoxSemidirectGenerator_of_discrete (ProC := ProCGroups.ProC.allFiniteProC) X H
          (allFiniteProC_freeProCZCCompletedFoxPullbackGenerator
            (X := X) (F := F) hκ η φ ι)) =
      (freeProCZCCompletedFoxRightHom
        (ProC := ProCGroups.ProC.allFiniteProC) hκ
        (allFiniteProC_zcCompletedFoxSemidirect ProCGroups.ProC.allFiniteProC.finiteQuotientClass Y H) φ
        (continuous_freeProCZCCompletedFoxSemidirectGenerator_of_discrete (ProC := ProCGroups.ProC.allFiniteProC) Y H φ)).comp η

The canonical right homomorphism for the pulled-back generator map is the composite of the target right homomorphism with the source homomorphism.

Show proof
theorem allFiniteProC_freeProCZCCompletedFoxDerivativeVector_comp
    {ι : X → F} {κ : Y → F'}
    (hι : ProCGroups.FreeProC.IsFreeProCGroup
      (ProC := ProCGroups.ProC.allFiniteProC) ι)
    (hκ : ProCGroups.FreeProC.IsFreeProCGroup
      (ProC := ProCGroups.ProC.allFiniteProC) κ)
    (η : F →* F') (hη_continuous : Continuous η) (φ : Y → H) (g : F) :
    freeProCZCCompletedFoxDerivativeVector
        (ProC := ProCGroups.ProC.allFiniteProC) hκ
        (allFiniteProC_zcCompletedFoxSemidirect ProCGroups.ProC.allFiniteProC.finiteQuotientClass Y H) φ
        (continuous_freeProCZCCompletedFoxSemidirectGenerator_of_discrete (ProC := ProCGroups.ProC.allFiniteProC) Y H φ) (η g) =
      allFiniteProC_freeProCZCCompletedFoxJacobianLinearMap
        (X := X) (F := F) hκ η φ ι
        (freeProCZCCompletedFoxDerivativeVector
          (ProC := ProCGroups.ProC.allFiniteProC) hι
          (allFiniteProC_zcCompletedFoxSemidirect ProCGroups.ProC.allFiniteProC.finiteQuotientClass X H)
          (allFiniteProC_freeProCZCCompletedFoxPullbackGenerator
            (X := X) (F := F) hκ η φ ι)
          (continuous_freeProCZCCompletedFoxSemidirectGenerator_of_discrete (ProC := ProCGroups.ProC.allFiniteProC) X H
            (allFiniteProC_freeProCZCCompletedFoxPullbackGenerator
              (X := X) (F := F) hκ η φ ι)) g)

Completed pro-\(C\) Fox chain rule in vector form.

Show proof
theorem allFiniteProC_freeProCZCCompletedFoxDerivativeVector_comp_apply
    {ι : X → F} {κ : Y → F'}
    (hι : ProCGroups.FreeProC.IsFreeProCGroup
      (ProC := ProCGroups.ProC.allFiniteProC) ι)
    (hκ : ProCGroups.FreeProC.IsFreeProCGroup
      (ProC := ProCGroups.ProC.allFiniteProC) κ)
    (η : F →* F') (hη_continuous : Continuous η) (φ : Y → H) (g : F) (y : Y) :
    freeProCZCCompletedFoxDerivativeVector
        (ProC := ProCGroups.ProC.allFiniteProC) hκ
        (allFiniteProC_zcCompletedFoxSemidirect ProCGroups.ProC.allFiniteProC.finiteQuotientClass Y H) φ
        (continuous_freeProCZCCompletedFoxSemidirectGenerator_of_discrete (ProC := ProCGroups.ProC.allFiniteProC) Y H φ) (η g) y =
      ∑ x : X,
        freeProCZCCompletedFoxDerivativeVector
            (ProC := ProCGroups.ProC.allFiniteProC) hι
            (allFiniteProC_zcCompletedFoxSemidirect ProCGroups.ProC.allFiniteProC.finiteQuotientClass X H)
            (allFiniteProC_freeProCZCCompletedFoxPullbackGenerator
              (X := X) (F := F) hκ η φ ι)
            (continuous_freeProCZCCompletedFoxSemidirectGenerator_of_discrete (ProC := ProCGroups.ProC.allFiniteProC) X H
              (allFiniteProC_freeProCZCCompletedFoxPullbackGenerator
                (X := X) (F := F) hκ η φ ι)) g x *
          allFiniteProC_freeProCZCCompletedFoxJacobian
            (X := X) (F := F) hκ η φ ι x y

Completed pro-\(C\) Fox chain rule in component form.

Show proof
theorem allFiniteProC_freeProCZCCompletedFoxDerivativeVector_comp_matrix
    {ι : X → F} {κ : Y → F'}
    (hι : ProCGroups.FreeProC.IsFreeProCGroup
      (ProC := ProCGroups.ProC.allFiniteProC) ι)
    (hκ : ProCGroups.FreeProC.IsFreeProCGroup
      (ProC := ProCGroups.ProC.allFiniteProC) κ)
    (η : F →* F') (hη_continuous : Continuous η) (φ : Y → H) (g : F) :
    freeProCZCCompletedFoxDerivativeVector
        (ProC := ProCGroups.ProC.allFiniteProC) hκ
        (allFiniteProC_zcCompletedFoxSemidirect ProCGroups.ProC.allFiniteProC.finiteQuotientClass Y H) φ
        (continuous_freeProCZCCompletedFoxSemidirectGenerator_of_discrete (ProC := ProCGroups.ProC.allFiniteProC) Y H φ) (η g) =
      Matrix.vecMul
        (freeProCZCCompletedFoxDerivativeVector
          (ProC := ProCGroups.ProC.allFiniteProC) hι
          (allFiniteProC_zcCompletedFoxSemidirect ProCGroups.ProC.allFiniteProC.finiteQuotientClass X H)
          (allFiniteProC_freeProCZCCompletedFoxPullbackGenerator
            (X := X) (F := F) hκ η φ ι)
          (continuous_freeProCZCCompletedFoxSemidirectGenerator_of_discrete (ProC := ProCGroups.ProC.allFiniteProC) X H
            (allFiniteProC_freeProCZCCompletedFoxPullbackGenerator
              (X := X) (F := F) hκ η φ ι)) g)
        (allFiniteProC_freeProCZCCompletedFoxJacobianMatrix
          (X := X) (F := F) hκ η φ ι)

The completed pro-\(C\) Fox chain rule in matrix form.

Show proof
theorem allFiniteProC_freeProCZCCompletedFoxRightHom_comp_continuousMonoidHom
    {ι : X → F} {κ : Y → F'}
    (hι : ProCGroups.FreeProC.IsFreeProCGroup
      (ProC := ProCGroups.ProC.allFiniteProC) ι)
    (hκ : ProCGroups.FreeProC.IsFreeProCGroup
      (ProC := ProCGroups.ProC.allFiniteProC) κ)
    (η : F →ₜ* F') (φ : Y → H) :
    freeProCZCCompletedFoxRightHom
        (ProC := ProCGroups.ProC.allFiniteProC) hι
        (allFiniteProC_zcCompletedFoxSemidirect
          ProCGroups.ProC.allFiniteProC.finiteQuotientClass X H)
        (allFiniteProC_freeProCZCCompletedFoxPullbackGenerator
          (X := X) (F := F) hκ η.toMonoidHom φ ι)
        (continuous_freeProCZCCompletedFoxSemidirectGenerator_of_discrete
          (ProC := ProCGroups.ProC.allFiniteProC) X H
          (allFiniteProC_freeProCZCCompletedFoxPullbackGenerator
            (X := X) (F := F) hκ η.toMonoidHom φ ι)) =
      (freeProCZCCompletedFoxRightHom
        (ProC := ProCGroups.ProC.allFiniteProC) hκ
        (allFiniteProC_zcCompletedFoxSemidirect
          ProCGroups.ProC.allFiniteProC.finiteQuotientClass Y H) φ
        (continuous_freeProCZCCompletedFoxSemidirectGenerator_of_discrete
          (ProC := ProCGroups.ProC.allFiniteProC) Y H φ)).comp η.toMonoidHom

Continuous-homomorphism form of the right-homomorphism chain rule.

Show proof
theorem allFiniteProC_freeProCZCCompletedFoxDerivativeVector_comp_continuousMonoidHom
    {ι : X → F} {κ : Y → F'}
    (hι : ProCGroups.FreeProC.IsFreeProCGroup
      (ProC := ProCGroups.ProC.allFiniteProC) ι)
    (hκ : ProCGroups.FreeProC.IsFreeProCGroup
      (ProC := ProCGroups.ProC.allFiniteProC) κ)
    (η : F →ₜ* F') (φ : Y → H) (g : F) :
    freeProCZCCompletedFoxDerivativeVector
        (ProC := ProCGroups.ProC.allFiniteProC) hκ
        (allFiniteProC_zcCompletedFoxSemidirect
          ProCGroups.ProC.allFiniteProC.finiteQuotientClass Y H) φ
        (continuous_freeProCZCCompletedFoxSemidirectGenerator_of_discrete
          (ProC := ProCGroups.ProC.allFiniteProC) Y H φ) (η g) =
      allFiniteProC_freeProCZCCompletedFoxJacobianLinearMap
        (X := X) (F := F) hκ η.toMonoidHom φ ι
        (freeProCZCCompletedFoxDerivativeVector
          (ProC := ProCGroups.ProC.allFiniteProC) hι
          (allFiniteProC_zcCompletedFoxSemidirect
            ProCGroups.ProC.allFiniteProC.finiteQuotientClass X H)
          (allFiniteProC_freeProCZCCompletedFoxPullbackGenerator
            (X := X) (F := F) hκ η.toMonoidHom φ ι)
          (continuous_freeProCZCCompletedFoxSemidirectGenerator_of_discrete
            (ProC := ProCGroups.ProC.allFiniteProC) X H
            (allFiniteProC_freeProCZCCompletedFoxPullbackGenerator
              (X := X) (F := F) hκ η.toMonoidHom φ ι)) g)

Continuous-homomorphism form of the completed pro-\(C\) Fox chain rule in vector form.

Show proof
theorem allFiniteProC_freeProCZCCompletedFoxDerivativeVector_comp_apply_continuousMonoidHom
    {ι : X → F} {κ : Y → F'}
    (hι : ProCGroups.FreeProC.IsFreeProCGroup
      (ProC := ProCGroups.ProC.allFiniteProC) ι)
    (hκ : ProCGroups.FreeProC.IsFreeProCGroup
      (ProC := ProCGroups.ProC.allFiniteProC) κ)
    (η : F →ₜ* F') (φ : Y → H) (g : F) (y : Y) :
    freeProCZCCompletedFoxDerivativeVector
        (ProC := ProCGroups.ProC.allFiniteProC) hκ
        (allFiniteProC_zcCompletedFoxSemidirect
          ProCGroups.ProC.allFiniteProC.finiteQuotientClass Y H) φ
        (continuous_freeProCZCCompletedFoxSemidirectGenerator_of_discrete
          (ProC := ProCGroups.ProC.allFiniteProC) Y H φ) (η g) y =
      ∑ x : X,
        freeProCZCCompletedFoxDerivativeVector
            (ProC := ProCGroups.ProC.allFiniteProC) hι
            (allFiniteProC_zcCompletedFoxSemidirect
              ProCGroups.ProC.allFiniteProC.finiteQuotientClass X H)
            (allFiniteProC_freeProCZCCompletedFoxPullbackGenerator
              (X := X) (F := F) hκ η.toMonoidHom φ ι)
            (continuous_freeProCZCCompletedFoxSemidirectGenerator_of_discrete
              (ProC := ProCGroups.ProC.allFiniteProC) X H
              (allFiniteProC_freeProCZCCompletedFoxPullbackGenerator
                (X := X) (F := F) hκ η.toMonoidHom φ ι)) g x *
          allFiniteProC_freeProCZCCompletedFoxJacobian
            (X := X) (F := F) hκ η.toMonoidHom φ ι x y

Continuous-homomorphism form of the completed pro-\(C\) Fox chain rule in component form.

Show proof
theorem allFiniteProC_freeProCZCCompletedFoxDerivativeVector_comp_matrix_continuousMonoidHom
    {ι : X → F} {κ : Y → F'}
    (hι : ProCGroups.FreeProC.IsFreeProCGroup
      (ProC := ProCGroups.ProC.allFiniteProC) ι)
    (hκ : ProCGroups.FreeProC.IsFreeProCGroup
      (ProC := ProCGroups.ProC.allFiniteProC) κ)
    (η : F →ₜ* F') (φ : Y → H) (g : F) :
    freeProCZCCompletedFoxDerivativeVector
        (ProC := ProCGroups.ProC.allFiniteProC) hκ
        (allFiniteProC_zcCompletedFoxSemidirect
          ProCGroups.ProC.allFiniteProC.finiteQuotientClass Y H) φ
        (continuous_freeProCZCCompletedFoxSemidirectGenerator_of_discrete
          (ProC := ProCGroups.ProC.allFiniteProC) Y H φ) (η g) =
      Matrix.vecMul
        (freeProCZCCompletedFoxDerivativeVector
          (ProC := ProCGroups.ProC.allFiniteProC) hι
          (allFiniteProC_zcCompletedFoxSemidirect
            ProCGroups.ProC.allFiniteProC.finiteQuotientClass X H)
          (allFiniteProC_freeProCZCCompletedFoxPullbackGenerator
            (X := X) (F := F) hκ η.toMonoidHom φ ι)
          (continuous_freeProCZCCompletedFoxSemidirectGenerator_of_discrete
            (ProC := ProCGroups.ProC.allFiniteProC) X H
            (allFiniteProC_freeProCZCCompletedFoxPullbackGenerator
              (X := X) (F := F) hκ η.toMonoidHom φ ι)) g)
        (allFiniteProC_freeProCZCCompletedFoxJacobianMatrix
          (X := X) (F := F) hκ η.toMonoidHom φ ι)

The continuous-homomorphism form of the completed pro-\(C\) Fox chain rule in matrix form.

Show proof