ProCGroups.FoxDifferential.Completed.FiniteStage.BoundaryQuotient
The principal declarations in this module are:
foxAlgebraicStageCoordinateModuloRelationsFinite coordinate vectors modulo the submodule generated by finite relation boundaries. -foxAlgebraicStageBoundaryModuloRelationsThe finite Fox boundary descends to the quotient by relation boundaries. -foxAlgebraicStageBoundaryModuloRelations_mkThe finite Fox boundary on the quotient by relation boundaries is evaluated by applying the ordinary finite-stage boundary to a representative. -foxAlgebraicStageCoordinateModuloRelations_mk_eq_zero_of_cycleA boundary cycle represents zero in the relation quotient when module-level finite exactness holds.
abbrev foxAlgebraicStageCoordinateModuloRelations : Type u :=
foxAlgebraicStageCoordinateVector (X := X) N n ⧸
foxAlgebraicStageRelationBoundarySubmodule (X := X) N nFinite coordinate vectors modulo the submodule generated by finite relation boundaries.
def foxAlgebraicStageBoundaryModuloRelations [Fintype X] :
foxAlgebraicStageCoordinateModuloRelations (X := X) N n →ₗ[
foxAlgebraicStageTargetGroupAlgebra (X := X) N n]
foxAlgebraicStageTargetGroupAlgebra (X := X) N n :=
Submodule.liftQ (foxAlgebraicStageRelationBoundarySubmodule (X := X) N n)
(foxAlgebraicStageFoxBoundary (X := X) N n)
(foxAlgebraicStageRelationBoundarySubmodule_le_boundaryCycleSubmodule (X := X) N n)The finite Fox boundary descends to the quotient by relation boundaries.
@[simp]
theorem foxAlgebraicStageBoundaryModuloRelations_mk
[Fintype X] (v : foxAlgebraicStageCoordinateVector (X := X) N n) :
foxAlgebraicStageBoundaryModuloRelations (X := X) N n
(Submodule.Quotient.mk v : foxAlgebraicStageCoordinateModuloRelations (X := X) N n) =
foxAlgebraicStageFoxBoundary (X := X) N n vThe finite Fox boundary on the quotient by relation boundaries is evaluated by applying the ordinary finite-stage boundary to a representative.
Show Lean proof
by
rfl
theorem foxAlgebraicStageCoordinateModuloRelations_mk_eq_zero_of_cycle
[Fintype X]
(hexact : foxAlgebraicStageRelationBoundaryModuleExact (X := X) N n)
{v : foxAlgebraicStageCoordinateVector (X := X) N n}
(hv : v ∈ foxAlgebraicStageBoundaryCycleSubmodule (X := X) N n) :
(Submodule.Quotient.mk v : foxAlgebraicStageCoordinateModuloRelations (X := X) N n) = 0A boundary cycle represents zero in the relation quotient when module-level finite exactness holds.
Show Lean proof
by
exact (Submodule.Quotient.mk_eq_zero
(p := foxAlgebraicStageRelationBoundarySubmodule (X := X) N n) (x := v)).2
(hexact hv)
Theorem
FoxDifferential.foxAlgebraicStageBoundaryModuloRelations_injective_of_relationBoundaryModuleExact
theorem foxAlgebraicStageBoundaryModuloRelations_injective_of_relationBoundaryModuleExact
[Fintype X]
(hexact : foxAlgebraicStageRelationBoundaryModuleExact (X := X) N n) :
Function.Injective (foxAlgebraicStageBoundaryModuloRelations (X := X) N n)If module-level finite exactness holds, the descended finite boundary has trivial kernel.
Show Lean proof
by
have hker : ∀ q : foxAlgebraicStageCoordinateModuloRelations (X := X) N n,
foxAlgebraicStageBoundaryModuloRelations (X := X) N n q = 0 → q = 0 := by
intro q
refine Submodule.Quotient.induction_on
(p := foxAlgebraicStageRelationBoundarySubmodule (X := X) N n) q ?_
intro v hv
rw [foxAlgebraicStageBoundaryModuloRelations_mk] at hv
have hvcycle : v ∈ foxAlgebraicStageBoundaryCycleSubmodule (X := X) N n := hv
exact foxAlgebraicStageCoordinateModuloRelations_mk_eq_zero_of_cycle
(X := X) N n hexact hvcycle
intro x y hxy
have hsub : foxAlgebraicStageBoundaryModuloRelations (X := X) N n (x - y) = 0 := by
rw [map_sub, hxy, sub_self]
exact sub_eq_zero.mp (hker (x - y) hsub)
Theorem
FoxDifferential.foxAlgebraicStageRelationBoundaryModuleExact_of_boundaryModuloRelations_injective
theorem foxAlgebraicStageRelationBoundaryModuleExact_of_boundaryModuloRelations_injective
[Fintype X]
(hinj : Function.Injective (foxAlgebraicStageBoundaryModuloRelations (X := X) N n)) :
foxAlgebraicStageRelationBoundaryModuleExact (X := X) N nInjectivity of the descended finite boundary implies module-level finite exactness.
Show Lean proof
by
intro v hv
have hq :
(Submodule.Quotient.mk v : foxAlgebraicStageCoordinateModuloRelations (X := X) N n) = 0 := by
apply hinj
calc
foxAlgebraicStageBoundaryModuloRelations (X := X) N n
(Submodule.Quotient.mk v : foxAlgebraicStageCoordinateModuloRelations (X := X) N n) =
foxAlgebraicStageFoxBoundary (X := X) N n v := by
rw [foxAlgebraicStageBoundaryModuloRelations_mk]
_ = 0 := hv
_ = foxAlgebraicStageBoundaryModuloRelations (X := X) N n
(0 : foxAlgebraicStageCoordinateModuloRelations (X := X) N n) := by
simp only [map_zero]
exact (Submodule.Quotient.mk_eq_zero
(p := foxAlgebraicStageRelationBoundarySubmodule (X := X) N n) (x := v)).1 hq