FoxDifferential.Completed.FiniteStage.BoundaryCycleHom

5 Theorem | 2 Definition | 1 Abbreviation

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

abbrev finiteFoxStageSourceKernel : Type u :=
  (finiteFoxCommutatorPowerQuotientMapToNormalQuotient
    (F := FreeGroup X) N n).ker

The kernel of the finite source-to-target quotient \(F/[N,N]N^n \to F/N\).

def finiteFoxStageSourceKernelDerivativeAddHom :
    Additive (finiteFoxStageSourceKernel (X := X) N n) →+
      finiteFoxStageCoordinateVector (X := X) N n where
  toFun q :=
    finiteFoxStageQuotientDerivativeVector (X := X) N n (Additive.toMul q).1
  map_zero' := by
    change finiteFoxStageQuotientDerivativeVector (X := X) N n
      (1 : FreeGroup X ⧸ finiteFoxCommutatorPowerSubgroup (F := FreeGroup X) N n) = 0
    simp only [finiteFoxStageQuotientDerivativeVector_one]
  map_add' := by
    intro q r
    change finiteFoxStageQuotientDerivativeVector (X := X) N n
        ((Additive.toMul q).1 * (Additive.toMul r).1) =
      finiteFoxStageQuotientDerivativeVector (X := X) N n (Additive.toMul q).1 +
        finiteFoxStageQuotientDerivativeVector (X := X) N n (Additive.toMul r).1
    rw [finiteFoxStageQuotientDerivativeVector_mul]
    have hqcoeff :
        finiteFoxStageQuotientCoefficient (X := X) N n (Additive.toMul q).1 = 1 :=
      finiteFoxStageQuotientCoefficient_eq_one_of_kernel (X := X) N n
        (Additive.toMul q).2
    rw [hqcoeff]
    simp only [one_smul]

@[simp]

The descended finite-stage Fox derivative, restricted to the source quotient kernel, is an additive homomorphism.

theorem finiteFoxStageSourceKernelDerivativeAddHom_of
    (q : finiteFoxStageSourceKernel (X := X) N n) :
    finiteFoxStageSourceKernelDerivativeAddHom (X := X) N n (Additive.ofMul q) =
      finiteFoxStageQuotientDerivativeVector (X := X) N n q.1

The finite-stage boundary or derivative construction defines the corresponding additive homomorphism.

Show proof
theorem finiteFoxStageSourceKernelDerivativeAddHom_range_eq :
    AddMonoidHom.range (finiteFoxStageSourceKernelDerivativeAddHom (X := X) N n) =
      finiteFoxStageSourceKernelDerivativeAddSubgroup (X := X) N n

The range of the additive source-kernel derivative map is exactly the source-kernel derivative additive subgroup already used in the finite-stage density target.

Show proof
def finiteFoxStageSourceKernelDerivativeToBoundaryCycles [Fintype X] :
    Additive (finiteFoxStageSourceKernel (X := X) N n) →+
      finiteFoxStageBoundaryCycleSubmodule (X := X) N n where
  toFun q :=
    ⟨finiteFoxStageQuotientDerivativeVector (X := X) N n (Additive.toMul q).1,
      finiteFoxStageSourceKernelDerivativeSet_subset_boundaryCycleSubmodule (X := X) N n
        ⟨(Additive.toMul q).1, (Additive.toMul q).2, rfl⟩⟩
  map_zero' := by
    apply Subtype.ext
    change finiteFoxStageQuotientDerivativeVector (X := X) N n
      (1 : FreeGroup X ⧸ finiteFoxCommutatorPowerSubgroup (F := FreeGroup X) N n) = 0
    simp only [finiteFoxStageQuotientDerivativeVector_one]
  map_add' := by
    intro q r
    apply Subtype.ext
    change finiteFoxStageQuotientDerivativeVector (X := X) N n
        ((Additive.toMul q).1 * (Additive.toMul r).1) =
      finiteFoxStageQuotientDerivativeVector (X := X) N n (Additive.toMul q).1 +
        finiteFoxStageQuotientDerivativeVector (X := X) N n (Additive.toMul r).1
    rw [finiteFoxStageQuotientDerivativeVector_mul]
    have hqcoeff :
        finiteFoxStageQuotientCoefficient (X := X) N n (Additive.toMul q).1 = 1 :=
      finiteFoxStageQuotientCoefficient_eq_one_of_kernel (X := X) N n
        (Additive.toMul q).2
    rw [hqcoeff]
    simp only [one_smul]

@[simp]

The source-kernel derivative map, with codomain restricted to finite Fox boundary cycles.

theorem finiteFoxStageSourceKernelDerivativeToBoundaryCycles_val
    [Fintype X] (q : finiteFoxStageSourceKernel (X := X) N n) :
    (finiteFoxStageSourceKernelDerivativeToBoundaryCycles (X := X) N n
      (Additive.ofMul q) : finiteFoxStageCoordinateVector (X := X) N n) =
      finiteFoxStageQuotientDerivativeVector (X := X) N n q.1

The map from the finite source kernel to boundary cycles has coordinates given by the finite-stage quotient derivative vector.

Show proof
theorem finiteFoxStageBoundaryCyclesCovered_iff_surj_derivativeToBoundaryCycles
    [Fintype X] :
    finiteFoxStageBoundaryCyclesCoveredBySourceKernel (X := X) N n ↔
      Function.Surjective
        (finiteFoxStageSourceKernelDerivativeToBoundaryCycles (X := X) N n)

The finite-stage coverage statement is precisely surjectivity of the source-kernel derivative map onto the boundary-cycle subgroup.

Show proof
theorem finiteFoxStageSourceKernelDerivativeSet_eq_boundaryCycleSubmodule_of_surjective
    [Fintype X]
    (hsurj : Function.Surjective
      (finiteFoxStageSourceKernelDerivativeToBoundaryCycles (X := X) N n)) :
    finiteFoxStageSourceKernelDerivativeSet (X := X) N n =
      (finiteFoxStageBoundaryCycleSubmodule (X := X) N n :
        Set (finiteFoxStageCoordinateVector (X := X) N n))

If the restricted source-kernel derivative map is surjective, then the source-kernel image is all of the finite boundary-cycle subgroup.

Show proof