Module

InjectiveChainLocalCohomology.lean

Nyll.EtaleFundamentalGroups.Purity.InjectiveChainLocalCohomology
14 declarations indexed from sourceView source ↗

Local cohomology along an injective chain

The cycle--boundary and boundary--homology short exact sequences are constructed directly from the differentials. Their coefficient sequences allow scalar annihilators to be propagated up the chain.

Declarations

EtaleFundamentalGroups.Purity.linearChainCycles

Concrete cycles in a chain complex of modules.

Source context 5 commands

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

noncomputable section
namespace EtaleFundamentalGroups.Purity
universe u
open CategoryTheory Limits
variable {R : Type u} [CommRing R]
def linearChainCycles (K : ChainComplex (ModuleCat.{u} R) ℕ) (n : ℕ) :
    Submodule R (K.X n)
EtaleFundamentalGroups.Purity.linearChainToCycles

The incoming differential with its values restricted to cycles.

Source context 5 commands

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

noncomputable section
namespace EtaleFundamentalGroups.Purity
universe u
open CategoryTheory Limits
variable {R : Type u} [CommRing R]
def linearChainToCycles (K : ChainComplex (ModuleCat.{u} R) ℕ) (n : ℕ) :
    K.X (n + 1) →ₗ[R] linearChainCycles K n
EtaleFundamentalGroups.Purity.linearChainBoundaries

Concrete boundaries as a submodule of cycles.

Source context 5 commands

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

noncomputable section
namespace EtaleFundamentalGroups.Purity
universe u
open CategoryTheory Limits
variable {R : Type u} [CommRing R]
def linearChainBoundaries (K : ChainComplex (ModuleCat.{u} R) ℕ) (n : ℕ) :
    Submodule R (linearChainCycles K n)
EtaleFundamentalGroups.Purity.linearChainBoundaryHomologySequence

The short exact sequence from boundaries to cycles to homology.

Source context 5 commands

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

noncomputable section
namespace EtaleFundamentalGroups.Purity
universe u
open CategoryTheory Limits
variable {R : Type u} [CommRing R]
def linearChainBoundaryHomologySequence
    (K : ChainComplex (ModuleCat.{u} R) ℕ) (n : ℕ) :
    ShortComplex (ModuleCat.{u} R)
EtaleFundamentalGroups.Purity.linearChainBoundaryHomologySequence_shortExact
Source context 5 commands

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

noncomputable section
namespace EtaleFundamentalGroups.Purity
universe u
open CategoryTheory Limits
variable {R : Type u} [CommRing R]
theorem linearChainBoundaryHomologySequence_shortExact
    (K : ChainComplex (ModuleCat.{u} R) ℕ) (n : ℕ) :
    (linearChainBoundaryHomologySequence K n).ShortExact
EtaleFundamentalGroups.Purity.next_chain_nat
Source context 5 commands

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

noncomputable section
namespace EtaleFundamentalGroups.Purity
universe u
open CategoryTheory Limits
variable {R : Type u} [CommRing R]
theorem next_chain_nat (n : ℕ) :
    (ComplexShape.down ℕ).next n = n - 1
EtaleFundamentalGroups.Purity.linearChainHomologyIso

The cycle quotient is the actual homology of the chain complex.

Source context 5 commands

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

noncomputable section
namespace EtaleFundamentalGroups.Purity
universe u
open CategoryTheory Limits
variable {R : Type u} [CommRing R]
def linearChainHomologyIso
    (K : ChainComplex (ModuleCat.{u} R) ℕ) (n : ℕ) :
    K.homology n ≅ (linearChainBoundaryHomologySequence K n).X₃
EtaleFundamentalGroups.Purity.linearChainTopHomologyIso

If the incoming chain term is zero, the cycle quotient has no boundaries, so the homology identifies with the actual cycle submodule.

Source context 5 commands

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

noncomputable section
namespace EtaleFundamentalGroups.Purity
universe u
open CategoryTheory Limits
variable {R : Type u} [CommRing R]
def linearChainTopHomologyIso
    (K : ChainComplex (ModuleCat.{u} R) ℕ) (n : ℕ)
    (hz : IsZero (K.X (n + 1))) :
    K.homology n ≅ ModuleCat.of R (linearChainCycles K n)
EtaleFundamentalGroups.Purity.linearChainCycleBoundary_comp_eq_zero
Source context 5 commands

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

noncomputable section
namespace EtaleFundamentalGroups.Purity
universe u
open CategoryTheory Limits
variable {R : Type u} [CommRing R]
theorem linearChainCycleBoundary_comp_eq_zero
    (K : ChainComplex (ModuleCat.{u} R) ℕ) (n : ℕ) :
    (linearChainToCycles K n).rangeRestrict.comp (linearChainCycles K (n + 1)).subtype = 0
EtaleFundamentalGroups.Purity.linearChainCycleBoundarySequence

The short exact sequence from cycles to a chain term to the preceding boundaries.

Source context 5 commands

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

noncomputable section
namespace EtaleFundamentalGroups.Purity
universe u
open CategoryTheory Limits
variable {R : Type u} [CommRing R]
def linearChainCycleBoundarySequence
    (K : ChainComplex (ModuleCat.{u} R) ℕ) (n : ℕ) :
    ShortComplex (ModuleCat.{u} R)
EtaleFundamentalGroups.Purity.linearChainCycleBoundarySequence_shortExact
Source context 5 commands

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

noncomputable section
namespace EtaleFundamentalGroups.Purity
universe u
open CategoryTheory Limits
variable {R : Type u} [CommRing R]
theorem linearChainCycleBoundarySequence_shortExact
    (K : ChainComplex (ModuleCat.{u} R) ℕ) (n : ℕ) :
    (linearChainCycleBoundarySequence K n).ShortExact
EtaleFundamentalGroups.Purity.linearChainCycleBoundary_zero_surjective
Source context 5 commands

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

noncomputable section
namespace EtaleFundamentalGroups.Purity
universe u
open CategoryTheory Limits
variable {R : Type u} [CommRing R]
theorem linearChainCycleBoundary_zero_surjective
    (I : Ideal R) (K : ChainComplex (ModuleCat.{u} R) ℕ)
    (hΓ : Function.Surjective ((idealPowerTorsionFunctor I).map (K.d 1 0))) :
    Function.Surjective (derivedLocalCohomologyModuleCoefficientsSecondMap I
      (linearChainCycleBoundarySequence_shortExact K 0) 0)
EtaleFundamentalGroups.Purity.linearChainCycles_localCohomology_one_eq_zero
Source context 5 commands

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

noncomputable section
namespace EtaleFundamentalGroups.Purity
universe u
open CategoryTheory Limits
variable {R : Type u} [CommRing R]
theorem linearChainCycles_localCohomology_one_eq_zero
    (I : Ideal R) (K : ChainComplex (ModuleCat.{u} R) ℕ)
    [Module.Injective R (K.X 1)]
    (hΓ : Function.Surjective ((idealPowerTorsionFunctor I).map (K.d 1 0)))
    (z : derivedLocalCohomologyModule I (ModuleCat.of R (linearChainCycles K 1)) 1) :
    z = 0
EtaleFundamentalGroups.Purity.linearChainCycles_localCohomology_pow_smul_eq_zero

The lower homology annihilator propagates along an injective chain. Surjectivity of the initial differential on ideal-power torsion supplies the degree-one base case; each subsequent homology term contributes one factor of the scalar.

Source context 5 commands

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

noncomputable section
namespace EtaleFundamentalGroups.Purity
universe u
open CategoryTheory Limits
variable {R : Type u} [CommRing R]
theorem linearChainCycles_localCohomology_pow_smul_eq_zero
    (I : Ideal R) (K : ChainComplex (ModuleCat.{u} R) ℕ)
    [∀ j : ℕ, Module.Injective R (K.X j)]
    (hΓ : Function.Surjective ((idealPowerTorsionFunctor I).map (K.d 1 0)))
    (a : R) (n : ℕ)
    (ha : ∀ i : ℕ, i < n → ∀ h : K.homology (i + 1), a • h = 0)
    (z : derivedLocalCohomologyModule I
      (ModuleCat.of R (linearChainCycles K (n + 1))) (n + 1)) :
    a ^ n • z = 0