Module

BoundaryCycles.lean

Nyll.ProCGroups.FoxDifferential.Completed.FiniteStage.BoundaryCycles
13 declarations indexed from sourceView source ↗

Fox differential: completed — finite stage — boundary cycles

The principal declarations in this module are:

  • foxAlgebraicStageBoundaryCycleSubmodule

The finite-stage Fox boundary-cycle submodule \(\ker \partial\).

  • foxAlgebraicStageSourceKernelDerivativeSet

Quotient-level source-kernel derivatives in the finite stage. These are the finite-stage relation cycles coming from the kernel of \(F/[N,N]N^n \to F/N\).

  • mem_foxAlgebraicStageBoundaryCycleSubmodule

Membership in the finite-stage boundary-cycle object is characterized by the corresponding boundary-vanishing condition.

  • foxAlgebraicStageCoefficient_eq_one_of_mem

A word lying in the normal subgroup \(N\) has finite-stage coefficient equal to \(1\) in the quotient by \(N\).

Declarations

FoxDifferential.foxAlgebraicStageBoundaryCycleSubmodule

The finite-stage Fox boundary-cycle submodule \(\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 : ℕ)
def foxAlgebraicStageBoundaryCycleSubmodule [Fintype X] :
    Submodule (foxAlgebraicStageTargetGroupAlgebra (X := X) N n)
      (foxAlgebraicStageCoordinateVector (X := X) N n)
FoxDifferential.mem_foxAlgebraicStageBoundaryCycleSubmodule

Membership in the finite-stage boundary-cycle object is characterized by the corresponding boundary-vanishing condition.

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 mem_foxAlgebraicStageBoundaryCycleSubmodule [Fintype X]
    {N : Subgroup (FreeGroup X)} [N.Normal] {n : ℕ}
    {v : foxAlgebraicStageCoordinateVector (X := X) N n} :
    v ∈ foxAlgebraicStageBoundaryCycleSubmodule (X := X) N n ↔
      foxAlgebraicStageFoxBoundary (X := X) N n v = 0
FoxDifferential.foxAlgebraicStageSourceKernelDerivativeSet

Quotient-level source-kernel derivatives in the finite stage. These are the finite-stage relation cycles coming from the kernel of \(F/[N,N]N^n \to F/N\).

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 foxAlgebraicStageSourceKernelDerivativeSet :
    Set (foxAlgebraicStageCoordinateVector (X := X) N n)
FoxDifferential.foxAlgebraicStageKernelWordDerivativeSet

Word-level kernel derivatives in the finite stage. This is the algebraic form obtained from actual relation words w \(\in\) N.

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 foxAlgebraicStageKernelWordDerivativeSet :
    Set (foxAlgebraicStageCoordinateVector (X := X) N n)
FoxDifferential.foxAlgebraicStageCoefficient_eq_one_of_mem

A word lying in the normal subgroup \(N\) has finite-stage coefficient equal to \(1\) in the quotient by \(N\).

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 foxAlgebraicStageCoefficient_eq_one_of_mem
    {w : FreeGroup X} (hw : w ∈ N) :
    foxAlgebraicStageCoefficient (X := X) N n w = 1
FoxDifferential.foxAlgebraicStageQuotientCoefficient_eq_one_of_kernel

For a kernel element, the finite Fox-stage quotient coefficient evaluates to one after coefficient change.

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_eq_one_of_kernel
    {q : FreeGroup X ⧸ foxCommutatorPowerSubgroup (F := FreeGroup X) N n}
    (hq : foxCommutatorPowerQuotientMapToNormalQuotient (F := FreeGroup X) N n q = 1) :
    foxAlgebraicStageQuotientCoefficient (X := X) N n q = 1
FoxDifferential.foxAlgebraicStageSourceKernelDerivativeAddSubgroup

Source-kernel derivatives form 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 foxAlgebraicStageSourceKernelDerivativeAddSubgroup :
    AddSubgroup (foxAlgebraicStageCoordinateVector (X := X) N n) where
  carrier := foxAlgebraicStageSourceKernelDerivativeSet (X := X) N n
  zero_mem' := by
    refine ⟨1, ?_, ?_⟩
    · simp only [map_one]
    · exact ScalarCrossedHom.map_one
        (foxAlgebraicStageQuotientDerivativeVector (X := X) N n)
  add_mem' := by
    intro a b ha hb
    rcases ha with ⟨q, hq, hqa⟩
    rcases hb with ⟨r, hr, hrb⟩
    refine ⟨q * r, ?_, ?_⟩
    · rw [map_mul, hq, hr, one_mul]
    · rw [ScalarCrossedHom.map_mul
          (foxAlgebraicStageQuotientDerivativeVector (X := X) N n)]
      rw [foxAlgebraicStageQuotientCoefficient_eq_one_of_kernel (X := X) N n hq]
      simp only [hqa, hrb, one_smul]
  neg_mem' := by
    intro a ha
    rcases ha with ⟨q, hq, hqa⟩
    refine ⟨q⁻¹, ?_, ?_⟩
    · rw [map_inv, hq]
      simp only [inv_one]
    · rw [ScalarCrossedHom.map_inv
          (foxAlgebraicStageQuotientDerivativeVector (X := X) N n)]
      have hcoeff :
          foxAlgebraicStageQuotientCoefficient (X := X) N n q⁻¹ = 1 := by
        apply foxAlgebraicStageQuotientCoefficient_eq_one_of_kernel (X := X) N n
        rw [map_inv, hq]
        simp only [inv_one]
      rw [hcoeff]
      simp only [hqa, one_smul]
FoxDifferential.foxAlgebraicStageSourceKernelDerivativeAddSubgroup_coe

The finite-stage source-kernel derivative additive subgroup coerces to its defining carrier.

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 foxAlgebraicStageSourceKernelDerivativeAddSubgroup_coe :
    ((foxAlgebraicStageSourceKernelDerivativeAddSubgroup (X := X) N n :
        AddSubgroup (foxAlgebraicStageCoordinateVector (X := X) N n)) :
          Set (foxAlgebraicStageCoordinateVector (X := X) N n)) =
      foxAlgebraicStageSourceKernelDerivativeSet (X := X) N n
FoxDifferential.foxAlgebraicStageSourceKernelDerivativeSet_eq_kernelWordDerivativeSet

The quotient-level and word-level descriptions of finite-stage source-kernel derivatives coincide.

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 foxAlgebraicStageSourceKernelDerivativeSet_eq_kernelWordDerivativeSet :
    foxAlgebraicStageSourceKernelDerivativeSet (X := X) N n =
      foxAlgebraicStageKernelWordDerivativeSet (X := X) N n
FoxDifferential.foxAlgebraicStageSourceKernelDerivativeSet_subset_boundaryCycleSubmodule

Every finite-stage source-kernel derivative is a finite Fox boundary cycle.

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 foxAlgebraicStageSourceKernelDerivativeSet_subset_boundaryCycleSubmodule
    [Fintype X] :
    foxAlgebraicStageSourceKernelDerivativeSet (X := X) N n ⊆
      (foxAlgebraicStageBoundaryCycleSubmodule (X := X) N n :
        Set (foxAlgebraicStageCoordinateVector (X := X) N n))
FoxDifferential.foxAlgebraicStageBoundaryCyclesCoveredBySourceKernel

The finite-stage exactness target: every finite Fox boundary cycle is represented by a source-kernel derivative in \(F/[N,N]N^n\).

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 foxAlgebraicStageBoundaryCyclesCoveredBySourceKernel [Fintype X] : Prop
FoxDifferential.foxAlgebraicStageBoundaryCyclesCoveredBySourceKernel_iff_words

The finite-stage exactness target is equivalent to the formulation using actual kernel words.

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_iff_words
    {N : Subgroup (FreeGroup X)} [N.Normal] {n : ℕ} [Fintype X] :
    foxAlgebraicStageBoundaryCyclesCoveredBySourceKernel (X := X) N n ↔
      (foxAlgebraicStageBoundaryCycleSubmodule (X := X) N n :
          Set (foxAlgebraicStageCoordinateVector (X := X) N n)) ⊆
        foxAlgebraicStageKernelWordDerivativeSet (X := X) N n
FoxDifferential.foxAlgebraicStageSourceKernelDerivativeSet_eq_boundaryCycleSubmodule_iff

The finite-stage source-kernel derivative set is equal to \(\ker \partial\) exactly when the reverse coverage inclusion holds.

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 foxAlgebraicStageSourceKernelDerivativeSet_eq_boundaryCycleSubmodule_iff
    {N : Subgroup (FreeGroup X)} [N.Normal] {n : ℕ} [Fintype X] :
    foxAlgebraicStageSourceKernelDerivativeSet (X := X) N n =
        (foxAlgebraicStageBoundaryCycleSubmodule (X := X) N n :
          Set (foxAlgebraicStageCoordinateVector (X := X) N n)) ↔
      foxAlgebraicStageBoundaryCyclesCoveredBySourceKernel (X := X) N n