Module

DerivedLocalCohomologyModuleRadical.lean

Nyll.EtaleFundamentalGroups.Purity.DerivedLocalCohomologyModuleRadical
8 declarations indexed from sourceView source ↗

Linear radical invariance of local cohomology

Ideals with the same radical define the same torsion submodule. Comparing these submodules before applying a common injective resolution gives an isomorphism on homology that retains its scalar action.

Declarations

EtaleFundamentalGroups.Purity.primaryComponent_le_of_pow_le
Source context 6 commands

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

noncomputable section
namespace EtaleFundamentalGroups.Purity
universe u
open CategoryTheory
variable {R : Type u} [CommRing R] [IsNoetherianRing R]
omit [IsNoetherianRing R] in
theorem primaryComponent_le_of_pow_le
    (M : ModuleCat.{u} R) {I J : Ideal R} {k : ℕ} (hk : J ^ k ≤ I) :
    Ideal.primaryComponent M I ≤ Ideal.primaryComponent M J
EtaleFundamentalGroups.Purity.primaryComponent_eq_of_sameRadical

Power torsion agrees as a submodule for ideals with the same radical.

Source context 5 commands

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

noncomputable section
namespace EtaleFundamentalGroups.Purity
universe u
open CategoryTheory
variable {R : Type u} [CommRing R] [IsNoetherianRing R]
theorem primaryComponent_eq_of_sameRadical
    (M : ModuleCat.{u} R) {I J : Ideal R} (hIJ : I.radical = J.radical) :
    Ideal.primaryComponent M I = Ideal.primaryComponent M J
EtaleFundamentalGroups.Purity.submoduleEqualityIso
Source context 5 commands

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

noncomputable section
namespace EtaleFundamentalGroups.Purity
universe u
open CategoryTheory
variable {R : Type u} [CommRing R] [IsNoetherianRing R]
def submoduleEqualityIso (M : ModuleCat.{u} R)
    (N P : Submodule R M) (h : N = P) : ModuleCat.of R N ≅ ModuleCat.of R P where
  hom := ModuleCat.ofHom (Submodule.inclusion h.le)
  inv := ModuleCat.ofHom (Submodule.inclusion h.ge)
  hom_inv_id := by
    ext z
    rfl
  inv_hom_id := by
    ext z
    rfl
EtaleFundamentalGroups.Purity.primaryComponentIsoOfSameRadical
Source context 5 commands

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

noncomputable section
namespace EtaleFundamentalGroups.Purity
universe u
open CategoryTheory
variable {R : Type u} [CommRing R] [IsNoetherianRing R]
def primaryComponentIsoOfSameRadical
    (M : ModuleCat.{u} R) {I J : Ideal R} (hIJ : I.radical = J.radical) :
    ModuleCat.of R (Ideal.primaryComponent M I) ≅
      ModuleCat.of R (Ideal.primaryComponent M J)
EtaleFundamentalGroups.Purity.submoduleEqualityIso_naturality
Source context 6 commands

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

noncomputable section
namespace EtaleFundamentalGroups.Purity
universe u
open CategoryTheory
variable {R : Type u} [CommRing R] [IsNoetherianRing R]
omit [IsNoetherianRing R] in
theorem submoduleEqualityIso_naturality
    (M N : ModuleCat.{u} R) (A B : Submodule R M) (C D : Submodule R N)
    (hAB : A = B) (hCD : C = D) (f : M →ₗ[R] N)
    (hAC : ∀ z : A, f z ∈ C) (hBD : ∀ z : B, f z ∈ D) :
    ModuleCat.ofHom ((f.domRestrict A).codRestrict C hAC) ≫
        (submoduleEqualityIso N C D hCD).hom =
      (submoduleEqualityIso M A B hAB).hom ≫
        ModuleCat.ofHom ((f.domRestrict B).codRestrict D hBD)
EtaleFundamentalGroups.Purity.idealPowerTorsionFunctorIsoOfSameRadical

The identity on torsion elements gives a natural linear comparison.

Source context 5 commands

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

noncomputable section
namespace EtaleFundamentalGroups.Purity
universe u
open CategoryTheory
variable {R : Type u} [CommRing R] [IsNoetherianRing R]
def idealPowerTorsionFunctorIsoOfSameRadical
    {I J : Ideal R} (hIJ : I.radical = J.radical) :
    idealPowerTorsionFunctor I ≅ idealPowerTorsionFunctor J
EtaleFundamentalGroups.Purity.idealPowerTorsionComplexIsoOfSameRadical

Comparing torsion term by term gives an actual isomorphism of complexes.

Source context 5 commands

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

noncomputable section
namespace EtaleFundamentalGroups.Purity
universe u
open CategoryTheory
variable {R : Type u} [CommRing R] [IsNoetherianRing R]
def idealPowerTorsionComplexIsoOfSameRadical
    {I J : Ideal R} (hIJ : I.radical = J.radical)
    (K : CochainComplex (ModuleCat.{u} R) ℕ) :
    idealPowerTorsionComplex I K ≅ idealPowerTorsionComplex J K
EtaleFundamentalGroups.Purity.derivedLocalCohomologyModuleLinearEquivOfSameRadical

Radical invariance for the canonical local-cohomology module, retaining its full linear structure.

Source context 5 commands

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

noncomputable section
namespace EtaleFundamentalGroups.Purity
universe u
open CategoryTheory
variable {R : Type u} [CommRing R] [IsNoetherianRing R]
def derivedLocalCohomologyModuleLinearEquivOfSameRadical
    {I J : Ideal R} (hIJ : I.radical = J.radical)
    (M : ModuleCat.{u} R) (n : ℕ) :
    derivedLocalCohomologyModule I M n ≃ₗ[R] derivedLocalCohomologyModule J M n