ModuleBasic.lean
Nyll.ProCGroups.CrowellExactSequence.Basic
13 declarations indexed from sourceView source ↗ Module documentation
ProCGroups.CrowellExactSequence.Basic
Crowell exact sequences / Basic.
This module contains the common four-term linear-sequence interface, exactness transport lemmas, and the finite Blanchfield--Lyndon coordinate map used by the discrete and profinite theories.
Declarations
CrowellExactSequence.blanchfieldLyndonFiniteFamilyMap
DocumentationThe Blanchfield--Lyndon finite-family map associated to a chosen boundary-generating family.
Source context 8 commands
Surrounding namespaces, section variables, and local commands at this declaration.
namespace CrowellExactSequence
noncomputable section
open scoped BigOperators
open FoxDifferential
section BlanchfieldLyndonFiniteFamilyMap
variable {R : Type*} [Semiring R]
variable {M : Type*} [AddCommMonoid M] [Module R M]
variable {X : Type*} [Fintype X] [DecidableEq X]
CrowellExactSequence.blanchfieldLyndonFiniteFamilyMap_apply
DocumentationThe Blanchfield--Lyndon finite-family boundary map is evaluated on the canonical generators and then extended linearly to the coordinate module.
Source context 9 commands
Surrounding namespaces, section variables, and local commands at this declaration.
namespace CrowellExactSequence
noncomputable section
open scoped BigOperators
open FoxDifferential
section BlanchfieldLyndonFiniteFamilyMap
variable {R : Type*} [Semiring R]
variable {M : Type*} [AddCommMonoid M] [Module R M]
variable {X : Type*} [Fintype X] [DecidableEq X]
omit [DecidableEq X] in
CrowellExactSequence.blanchfieldLyndonFiniteFamilyMap_single
DocumentationA Blanchfield--Lyndon finite-family map sends a coordinate basis vector to its generator.
Source context 8 commands
Surrounding namespaces, section variables, and local commands at this declaration.
namespace CrowellExactSequence
noncomputable section
open scoped BigOperators
open FoxDifferential
section BlanchfieldLyndonFiniteFamilyMap
variable {R : Type*} [Semiring R]
variable {M : Type*} [AddCommMonoid M] [Module R M]
variable {X : Type*} [Fintype X] [DecidableEq X]
CrowellExactSequence.FourTermLinearSequence
DocumentationA bundled four-term sequence of linear maps. It records the three morphisms and both consecutive-composition equations together. Exactness is imposed separately by FourTermLinearSequence.IsExact, so the same sequence can be constructed before its exactness proof is available.
Source context 4 commands
Surrounding namespaces, section variables, and local commands at this declaration.
namespace CrowellExactSequence
noncomputable section
open scoped BigOperators
open FoxDifferential
CrowellExactSequence.FourTermLinearSequence.IsExact
DocumentationA four-term exact sequence, formulated at the function level. This packages injectivity of \(f\), exactness at the two middle terms, and surjectivity of the final map.
Source context 8 commands
Surrounding namespaces, section variables, and local commands at this declaration.
namespace CrowellExactSequence
noncomputable section
open scoped BigOperators
open FoxDifferential
namespace FourTermLinearSequence
variable {R A B C D : Type*} [Semiring R]
variable [AddCommMonoid A] [AddCommMonoid B] [AddCommMonoid C] [AddCommMonoid D]
variable [Module R A] [Module R B] [Module R C] [Module R D]
CrowellExactSequence.FourTermLinearSequence.ofExact
DocumentationBundle three linear maps once their four exactness assertions are known.
Source context 8 commands
Surrounding namespaces, section variables, and local commands at this declaration.
namespace CrowellExactSequence
noncomputable section
open scoped BigOperators
open FoxDifferential
namespace FourTermLinearSequence
variable {R A B C D : Type*} [Semiring R]
variable [AddCommMonoid A] [AddCommMonoid B] [AddCommMonoid C] [AddCommMonoid D]
variable [Module R A] [Module R B] [Module R C] [Module R D]
CrowellExactSequence.FourTermLinearSequence.ofExact_isExact
DocumentationThe sequence assembled from exact maps retains the supplied injectivity, exactness, and surjectivity witnesses.
Source context 8 commands
Surrounding namespaces, section variables, and local commands at this declaration.
namespace CrowellExactSequence
noncomputable section
open scoped BigOperators
open FoxDifferential
namespace FourTermLinearSequence
variable {R A B C D : Type*} [Semiring R]
variable [AddCommMonoid A] [AddCommMonoid B] [AddCommMonoid C] [AddCommMonoid D]
variable [Module R A] [Module R B] [Module R C] [Module R D]
CrowellExactSequence.Function.Exact.linearEquiv_symm_comp_comp
DocumentationTransport function exactness across a linear equivalence on the middle type.
Source context 10 commands
Surrounding namespaces, section variables, and local commands at this declaration.
namespace CrowellExactSequence
noncomputable section
open scoped BigOperators
open FoxDifferential
section LinearEquivTransport
variable {R : Type*} [Semiring R]
variable {A B B' C D : Type*}
variable [AddCommMonoid B] [Module R B]
variable [AddCommMonoid B'] [Module R B']
variable [Zero C] [Zero D]
CrowellExactSequence.Function.Exact.linearEquiv_symm_comp_comp_iff
DocumentationTransporting exactness through a linear equivalence is equivalent to composing with the equivalence and its inverse.
Source context 10 commands
Surrounding namespaces, section variables, and local commands at this declaration.
namespace CrowellExactSequence
noncomputable section
open scoped BigOperators
open FoxDifferential
section LinearEquivTransport
variable {R : Type*} [Semiring R]
variable {A B B' C D : Type*}
variable [AddCommMonoid B] [Module R B]
variable [AddCommMonoid B'] [Module R B']
variable [Zero C] [Zero D]
CrowellExactSequence.Function.Exact.comp_linearEquiv
DocumentationExactness is preserved when the tail map of an exact pair is composed with a linear equivalence on the middle term.
Source context 11 commands
Surrounding namespaces, section variables, and local commands at this declaration.
namespace CrowellExactSequence
noncomputable section
open scoped BigOperators
open FoxDifferential
section LinearEquivTransport
variable {R : Type*} [Semiring R]
variable {A B B' C D : Type*}
variable [AddCommMonoid B] [Module R B]
variable [AddCommMonoid B'] [Module R B']
variable [Zero C] [Zero D]
omit [Zero C] in
CrowellExactSequence.FourTermLinearSequence.reindexMiddle
DocumentationReindex the first middle object of a bundled four-term sequence along a linear equivalence. Both adjacent maps are transported together, so their composition-zero equations remain part of the resulting object.
Source context 12 commands
Surrounding namespaces, section variables, and local commands at this declaration.
namespace CrowellExactSequence
noncomputable section
open scoped BigOperators
open FoxDifferential
namespace FourTermLinearSequence
variable {R : Type*} [Semiring R]
variable {A B B' C D : Type*}
variable [AddCommMonoid A] [Module R A]
variable [AddCommMonoid B] [Module R B]
variable [AddCommMonoid B'] [Module R B']
variable [AddCommMonoid C] [Module R C]
variable [AddCommMonoid D] [Module R D]
CrowellExactSequence.FourTermLinearSequence.reindexMiddle_isExact
DocumentationExactness is preserved when the first middle object of a bundled sequence is reindexed by a linear equivalence.
Source context 12 commands
Surrounding namespaces, section variables, and local commands at this declaration.
namespace CrowellExactSequence
noncomputable section
open scoped BigOperators
open FoxDifferential
namespace FourTermLinearSequence
variable {R : Type*} [Semiring R]
variable {A B B' C D : Type*}
variable [AddCommMonoid A] [Module R A]
variable [AddCommMonoid B] [Module R B]
variable [AddCommMonoid B'] [Module R B']
variable [AddCommMonoid C] [Module R C]
variable [AddCommMonoid D] [Module R D]
CrowellExactSequence.FourTermLinearSequence.reindexMiddle_isExact_iff
DocumentationReindexing a middle object does not change whether a bundled sequence is exact.
Source context 12 commands
Surrounding namespaces, section variables, and local commands at this declaration.
namespace CrowellExactSequence
noncomputable section
open scoped BigOperators
open FoxDifferential
namespace FourTermLinearSequence
variable {R : Type*} [Semiring R]
variable {A B B' C D : Type*}
variable [AddCommMonoid A] [Module R A]
variable [AddCommMonoid B] [Module R B]
variable [AddCommMonoid B'] [Module R B']
variable [AddCommMonoid C] [Module R C]
variable [AddCommMonoid D] [Module R D]