Module

RelationModule.lean

Nyll.ProCGroups.FoxDifferential.Completed.FiniteStage.RelationModule
14 declarations indexed from sourceView source ↗

Fox differential: completed — finite stage — relation module

The principal declarations in this module are:

  • foxAlgebraicStageRelationGroup

The finite-stage relation group \(\ker(F/[N,N]N^n \to F/N)\). Its elements are exactly finite-stage kernel relations.

  • foxAlgebraicStageRelationBoundaryAddMonoidHom

The finite-stage relation boundary, written additively: \(N/[N,N]N^n \to ((\mathbb{Z}/n\mathbb{Z})[F/N])^X\).

  • foxAlgebraicStageRelationGroup_target_eq_one

Every finite-stage relation group element maps to \(1\) in the target normal quotient.

  • foxAlgebraicStageQuotientCoefficient_relation_eq_one

Every finite-stage relation group element has quotient coefficient equal to \(1\).

Declarations

FoxDifferential.foxAlgebraicStageRelationGroup

The finite-stage relation group \(\ker(F/[N,N]N^n \to F/N)\). Its elements are exactly finite-stage kernel relations.

Source context 7 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace FoxDifferential
noncomputable section
open ProCGroups.InverseSystems
open ProCGroups.ProC
universe u
variable {X : Type u} [DecidableEq X]
variable (N : Subgroup (FreeGroup X)) [N.Normal] (n : ℕ)
abbrev foxAlgebraicStageRelationGroup : Type u
FoxDifferential.foxAlgebraicStageRelationGroup_target_eq_one

Every finite-stage relation group element maps to \(1\) in the target normal quotient.

Source context 8 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace FoxDifferential
noncomputable section
open ProCGroups.InverseSystems
open ProCGroups.ProC
universe u
variable {X : Type u} [DecidableEq X]
variable (N : Subgroup (FreeGroup X)) [N.Normal] (n : ℕ)
omit [DecidableEq X] in
theorem foxAlgebraicStageRelationGroup_target_eq_one
    (q : foxAlgebraicStageRelationGroup (X := X) N n) :
    foxCommutatorPowerQuotientMapToNormalQuotient
      (F := FreeGroup X) N n q.1 = 1
FoxDifferential.foxAlgebraicStageQuotientCoefficient_relation_eq_one

Every finite-stage relation group element has quotient coefficient equal to \(1\).

Source context 8 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace FoxDifferential
noncomputable section
open ProCGroups.InverseSystems
open ProCGroups.ProC
universe u
variable {X : Type u} [DecidableEq X]
variable (N : Subgroup (FreeGroup X)) [N.Normal] (n : ℕ)
omit [DecidableEq X] in
theorem foxAlgebraicStageQuotientCoefficient_relation_eq_one
    (q : foxAlgebraicStageRelationGroup (X := X) N n) :
    foxAlgebraicStageQuotientCoefficient (X := X) N n q.1 = 1
FoxDifferential.foxAlgebraicStageRelationBoundaryAddMonoidHom

The finite-stage relation boundary, written additively: \(N/[N,N]N^n \to ((\mathbb{Z}/n\mathbb{Z})[F/N])^X\).

Source context 7 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace FoxDifferential
noncomputable section
open ProCGroups.InverseSystems
open ProCGroups.ProC
universe u
variable {X : Type u} [DecidableEq X]
variable (N : Subgroup (FreeGroup X)) [N.Normal] (n : ℕ)
def foxAlgebraicStageRelationBoundaryAddMonoidHom :
    Additive (foxAlgebraicStageRelationGroup (X := X) N n) →+
      foxAlgebraicStageCoordinateVector (X := X) N n where
  toFun q := foxAlgebraicStageQuotientDerivativeVector (X := X) N n
    (Additive.toMul q).1
  map_zero' := by
    change foxAlgebraicStageQuotientDerivativeVector (X := X) N n 1 = 0
    exact ScalarCrossedHom.map_one
      (foxAlgebraicStageQuotientDerivativeVector (X := X) N n)
  map_add' := by
    intro q r
    change foxAlgebraicStageQuotientDerivativeVector (X := X) N n
        ((Additive.toMul q).1 * (Additive.toMul r).1) =
      foxAlgebraicStageQuotientDerivativeVector (X := X) N n (Additive.toMul q).1 +
        foxAlgebraicStageQuotientDerivativeVector (X := X) N n (Additive.toMul r).1
    rw [ScalarCrossedHom.map_mul
      (foxAlgebraicStageQuotientDerivativeVector (X := X) N n),
      foxAlgebraicStageQuotientCoefficient_relation_eq_one]
    simp only [one_smul]
FoxDifferential.foxAlgebraicStageRelationBoundaryAddMonoidHom_of

The relation-boundary add monoid homomorphism is evaluated on a finite-stage relation by the defining boundary formula.

Source context 7 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace FoxDifferential
noncomputable section
open ProCGroups.InverseSystems
open ProCGroups.ProC
universe u
variable {X : Type u} [DecidableEq X]
variable (N : Subgroup (FreeGroup X)) [N.Normal] (n : ℕ)
theorem foxAlgebraicStageRelationBoundaryAddMonoidHom_of
    (q : foxAlgebraicStageRelationGroup (X := X) N n) :
    foxAlgebraicStageRelationBoundaryAddMonoidHom (X := X) N n (Additive.ofMul q) =
      foxAlgebraicStageQuotientDerivativeVector (X := X) N n q.1
FoxDifferential.foxAlgebraicStageRelationBoundaryRange

The relation-boundary image, as an additive subgroup of the finite coordinate module.

Source context 7 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace FoxDifferential
noncomputable section
open ProCGroups.InverseSystems
open ProCGroups.ProC
universe u
variable {X : Type u} [DecidableEq X]
variable (N : Subgroup (FreeGroup X)) [N.Normal] (n : ℕ)
def foxAlgebraicStageRelationBoundaryRange :
    AddSubgroup (foxAlgebraicStageCoordinateVector (X := X) N n)
FoxDifferential.foxAlgebraicStageRelationBoundaryRange_coe

The relation-boundary range has the finite-stage source-kernel derivative set as its underlying set.

Source context 7 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace FoxDifferential
noncomputable section
open ProCGroups.InverseSystems
open ProCGroups.ProC
universe u
variable {X : Type u} [DecidableEq X]
variable (N : Subgroup (FreeGroup X)) [N.Normal] (n : ℕ)
theorem foxAlgebraicStageRelationBoundaryRange_coe :
    ((foxAlgebraicStageRelationBoundaryRange (X := X) N n :
        AddSubgroup (foxAlgebraicStageCoordinateVector (X := X) N n)) :
          Set (foxAlgebraicStageCoordinateVector (X := X) N n)) =
      foxAlgebraicStageSourceKernelDerivativeSet (X := X) N n
FoxDifferential.mem_foxAlgebraicStageRelationBoundaryRange_iff

Membership in the finite-stage relation-boundary range is equivalent to the displayed coordinate condition.

Source context 7 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace FoxDifferential
noncomputable section
open ProCGroups.InverseSystems
open ProCGroups.ProC
universe u
variable {X : Type u} [DecidableEq X]
variable (N : Subgroup (FreeGroup X)) [N.Normal] (n : ℕ)
theorem mem_foxAlgebraicStageRelationBoundaryRange_iff
    {N : Subgroup (FreeGroup X)} [N.Normal] {n : ℕ}
    {v : foxAlgebraicStageCoordinateVector (X := X) N n} :
    v ∈ foxAlgebraicStageRelationBoundaryRange (X := X) N n ↔
      ∃ q : Additive (foxAlgebraicStageRelationGroup (X := X) N n),
        foxAlgebraicStageRelationBoundaryAddMonoidHom (X := X) N n q = v
FoxDifferential.foxAlgebraicStageFoxBoundary_relationBoundary_eq_zero

The finite-stage relation boundary lands in finite Fox boundary cycles.

Source context 7 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace FoxDifferential
noncomputable section
open ProCGroups.InverseSystems
open ProCGroups.ProC
universe u
variable {X : Type u} [DecidableEq X]
variable (N : Subgroup (FreeGroup X)) [N.Normal] (n : ℕ)
theorem foxAlgebraicStageFoxBoundary_relationBoundary_eq_zero
    [Fintype X] (q : Additive (foxAlgebraicStageRelationGroup (X := X) N n)) :
    foxAlgebraicStageFoxBoundary (X := X) N n
      (foxAlgebraicStageRelationBoundaryAddMonoidHom (X := X) N n q) = 0
FoxDifferential.foxAlgebraicStageRelationBoundary_range_le_boundaryCycleSubmodule

The relation-boundary range is contained in \(\ker \partial\).

Source context 7 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace FoxDifferential
noncomputable section
open ProCGroups.InverseSystems
open ProCGroups.ProC
universe u
variable {X : Type u} [DecidableEq X]
variable (N : Subgroup (FreeGroup X)) [N.Normal] (n : ℕ)
theorem foxAlgebraicStageRelationBoundary_range_le_boundaryCycleSubmodule
    [Fintype X] :
    foxAlgebraicStageRelationBoundaryRange (X := X) N n ≤
      (foxAlgebraicStageBoundaryCycleSubmodule (X := X) N n).toAddSubgroup
FoxDifferential.foxAlgebraicStageRelationBoundaryExact

Finite-stage exactness at the coordinate module.

Source context 7 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace FoxDifferential
noncomputable section
open ProCGroups.InverseSystems
open ProCGroups.ProC
universe u
variable {X : Type u} [DecidableEq X]
variable (N : Subgroup (FreeGroup X)) [N.Normal] (n : ℕ)
def foxAlgebraicStageRelationBoundaryExact [Fintype X] : Prop
FoxDifferential.foxAlgebraicStageRelationBoundaryExact_iff_boundaryCyclesCoveredBySourceKernel

Finite-stage exactness is equivalent to the coverage statement formulated at the level of finite-stage boundary cycles.

Source context 7 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace FoxDifferential
noncomputable section
open ProCGroups.InverseSystems
open ProCGroups.ProC
universe u
variable {X : Type u} [DecidableEq X]
variable (N : Subgroup (FreeGroup X)) [N.Normal] (n : ℕ)
theorem foxAlgebraicStageRelationBoundaryExact_iff_boundaryCyclesCoveredBySourceKernel
    {N : Subgroup (FreeGroup X)} [N.Normal] {n : ℕ} [Fintype X] :
    foxAlgebraicStageRelationBoundaryExact (X := X) N n ↔
      foxAlgebraicStageBoundaryCyclesCoveredBySourceKernel (X := X) N n
FoxDifferential.foxAlgebraicStageRelationBoundaryExact_of_boundaryCyclesCoveredBySourceKernel

Coverage of finite boundary cycles gives finite-stage exactness in the usual function-level form.

Source context 7 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace FoxDifferential
noncomputable section
open ProCGroups.InverseSystems
open ProCGroups.ProC
universe u
variable {X : Type u} [DecidableEq X]
variable (N : Subgroup (FreeGroup X)) [N.Normal] (n : ℕ)
theorem foxAlgebraicStageRelationBoundaryExact_of_boundaryCyclesCoveredBySourceKernel
    [Fintype X]
    (hcovered : foxAlgebraicStageBoundaryCyclesCoveredBySourceKernel (X := X) N n) :
    foxAlgebraicStageRelationBoundaryExact (X := X) N n
FoxDifferential.foxAlgebraicStageBoundaryCyclesCoveredBySourceKernel_of_relationBoundaryExact

Function-level finite-stage exactness gives the set-level coverage used by the density step.

Source context 7 commands

Surrounding namespaces, section variables, and local commands at this declaration.

namespace FoxDifferential
noncomputable section
open ProCGroups.InverseSystems
open ProCGroups.ProC
universe u
variable {X : Type u} [DecidableEq X]
variable (N : Subgroup (FreeGroup X)) [N.Normal] (n : ℕ)
theorem foxAlgebraicStageBoundaryCyclesCoveredBySourceKernel_of_relationBoundaryExact
    [Fintype X]
    (hexact : foxAlgebraicStageRelationBoundaryExact (X := X) N n) :
    foxAlgebraicStageBoundaryCyclesCoveredBySourceKernel (X := X) N n