Module

DerivedLocalCohomologySimultaneousPowers.lean

Nyll.EtaleFundamentalGroups.Purity.DerivedLocalCohomologySimultaneousPowers
9 declarations indexed from sourceView source ↗

Simultaneous ideal powers and derived local cohomology

The ideal-quotient Mayer--Vietoris diagram uses I ^ n ⊓ J ^ n and I ^ n ⊔ J ^ n, whereas local cohomology is defined from powers of a single ideal. The supremum comparison is elementary. For intersections, Artin--Rees shows that the simultaneous-power filtration is cofinal with the powers of I ⊓ J.

Declarations

EtaleFundamentalGroups.idealInfPowersDiagram

The diagram of simultaneous intersections of powers.

Source context 5 commands

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

noncomputable section
open CategoryTheory Limits Opposite
namespace EtaleFundamentalGroups
universe u
variable {R : Type u} [CommRing R]
def idealInfPowersDiagram (I J : Ideal R) : ℕᵒᵖ ⥤ Ideal R where
  obj n := I ^ unop n ⊓ J ^ unop n
  map f := ⟨⟨inf_le_inf
    (Ideal.pow_le_pow_right f.unop.down.down)
    (Ideal.pow_le_pow_right f.unop.down.down)⟩⟩
EtaleFundamentalGroups.idealSupPowersDiagram

The diagram of simultaneous suprema of powers.

Source context 5 commands

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

noncomputable section
open CategoryTheory Limits Opposite
namespace EtaleFundamentalGroups
universe u
variable {R : Type u} [CommRing R]
def idealSupPowersDiagram (I J : Ideal R) : ℕᵒᵖ ⥤ Ideal R where
  obj n := I ^ unop n ⊔ J ^ unop n
  map f := ⟨⟨sup_le_sup
    (Ideal.pow_le_pow_right f.unop.down.down)
    (Ideal.pow_le_pow_right f.unop.down.down)⟩⟩
EtaleFundamentalGroups.exists_inf_pow_le_inf_pow

Artin--Rees makes the simultaneous intersections of powers cofinal with the powers of the intersection.

Source context 5 commands

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

noncomputable section
open CategoryTheory Limits Opposite
namespace EtaleFundamentalGroups
universe u
variable {R : Type u} [CommRing R]
theorem exists_inf_pow_le_inf_pow (I J : Ideal R) [IsNoetherianRing R]
    (m : ℕ) : ∃ n : ℕ, I ^ n ⊓ J ^ n ≤ (I ⊓ J) ^ m
EtaleFundamentalGroups.idealInfPowersToSelfLERadical

Lift simultaneous intersection powers to the full support category.

Source context 7 commands

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

noncomputable section
open CategoryTheory Limits Opposite
namespace EtaleFundamentalGroups
universe u
variable {R : Type u} [CommRing R]
section Noetherian
variable [IsNoetherianRing R]
def idealInfPowersToSelfLERadical (I J : Ideal R) :
    ℕᵒᵖ ⥤ localCohomology.SelfLERadical (I ⊓ J)
EtaleFundamentalGroups.idealSupPowersToSelfLERadical

Lift simultaneous supremum powers to the full support category.

Source context 7 commands

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

noncomputable section
open CategoryTheory Limits Opposite
namespace EtaleFundamentalGroups
universe u
variable {R : Type u} [CommRing R]
section Noetherian
variable [IsNoetherianRing R]
def idealSupPowersToSelfLERadical (I J : Ideal R) :
    ℕᵒᵖ ⥤ localCohomology.SelfLERadical (I ⊔ J)
EtaleFundamentalGroups.idealInfPowersToSelfLERadical_initial

The simultaneous intersection-power diagram is initial in the full category of ideals with radical containing I ⊓ J.

Source context 7 commands

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

noncomputable section
open CategoryTheory Limits Opposite
namespace EtaleFundamentalGroups
universe u
variable {R : Type u} [CommRing R]
section Noetherian
variable [IsNoetherianRing R]
instance idealInfPowersToSelfLERadical_initial (I J : Ideal R) :
    Functor.Initial (idealInfPowersToSelfLERadical I J) where
  out K := by
    apply +allowSynthFailures zigzag_isConnected
    · obtain ⟨m, hm⟩ := Ideal.exists_pow_le_of_le_radical_of_fg
        K.2 (isNoetherian_def.mp (inferInstance : IsNoetherian R R) _)
      obtain ⟨n, hn⟩ := exists_inf_pow_le_inf_pow I J m
      exact ⟨CostructuredArrow.mk
        (⟨⟨⟨hn.trans hm⟩⟩⟩ :
          (idealInfPowersToSelfLERadical I J).obj (op n) ⟶ K)⟩
    · intro x y
      apply Relation.ReflTransGen.single
      rcases le_total (unop x.left) (unop y.left) with h | h
      · right
        exact ⟨CostructuredArrow.homMk (homOfLE h).op rfl⟩
      · left
        exact ⟨CostructuredArrow.homMk (homOfLE h).op rfl⟩
EtaleFundamentalGroups.idealSupPowersToSelfLERadical_initial

The simultaneous supremum-power diagram is initial in the full category of ideals with radical containing I ⊔ J.

Source context 7 commands

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

noncomputable section
open CategoryTheory Limits Opposite
namespace EtaleFundamentalGroups
universe u
variable {R : Type u} [CommRing R]
section Noetherian
variable [IsNoetherianRing R]
instance idealSupPowersToSelfLERadical_initial (I J : Ideal R) :
    Functor.Initial (idealSupPowersToSelfLERadical I J) where
  out K := by
    apply +allowSynthFailures zigzag_isConnected
    · obtain ⟨n, hn⟩ := Ideal.exists_pow_le_of_le_radical_of_fg
        K.2 (isNoetherian_def.mp (inferInstance : IsNoetherian R R) _)
      have hsup : I ^ n ⊔ J ^ n ≤ (I ⊔ J) ^ n :=
        sup_le
          (pow_le_pow_left' le_sup_left n)
          (pow_le_pow_left' le_sup_right n)
      exact ⟨CostructuredArrow.mk
        (⟨⟨⟨hsup.trans hn⟩⟩⟩ :
          (idealSupPowersToSelfLERadical I J).obj (op n) ⟶ K)⟩
    · intro x y
      apply Relation.ReflTransGen.single
      rcases le_total (unop x.left) (unop y.left) with h | h
      · right
        exact ⟨CostructuredArrow.homMk (homOfLE h).op rfl⟩
      · left
        exact ⟨CostructuredArrow.homMk (homOfLE h).op rfl⟩
EtaleFundamentalGroups.derivedLocalCohomologyOfInfPowersIso

The derived-Ext colimit over simultaneous intersection powers computes local cohomology supported on I ⊓ J.

Source context 7 commands

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

noncomputable section
open CategoryTheory Limits Opposite
namespace EtaleFundamentalGroups
universe u
variable {R : Type u} [CommRing R]
section Noetherian
variable [IsNoetherianRing R]
def derivedLocalCohomologyOfInfPowersIso
    (I J : Ideal R) (M : ModuleCat.{u} R) (i : ℕ) :
    derivedLocalCohomologyOfDiagram (idealInfPowersDiagram I J) M i ≅
      derivedLocalCohomology (I ⊓ J) M i
EtaleFundamentalGroups.derivedLocalCohomologyOfSupPowersIso

The derived-Ext colimit over simultaneous supremum powers computes local cohomology supported on I ⊔ J.

Source context 7 commands

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

noncomputable section
open CategoryTheory Limits Opposite
namespace EtaleFundamentalGroups
universe u
variable {R : Type u} [CommRing R]
section Noetherian
variable [IsNoetherianRing R]
def derivedLocalCohomologyOfSupPowersIso
    (I J : Ideal R) (M : ModuleCat.{u} R) (i : ℕ) :
    derivedLocalCohomologyOfDiagram (idealSupPowersDiagram I J) M i ≅
      derivedLocalCohomology (I ⊔ J) M i