Documentation

Mathlib.RingTheory.Depth.Basic

The Definition of Depth #

In this section, we give the definition of depth of a module over a local ring. We also extablished some basic facts about it using the Rees theorem proven above. In this section, we set R be a noetherian commutative ring, all modules refer to R-module.

Main definition and results #

noncomputable def moduleDepth {R : Type u} [CommRing R] [Small.{v, u} R] (N M : ModuleCat R) :

The depth between two R-modules defined as the minimal nontrivial Ext between them.

Equations
Instances For
    noncomputable def Ideal.depth {R : Type u} [CommRing R] [Small.{v, u} R] (I : Ideal R) (M : ModuleCat R) :

    The depth of a R-module M with respect to an ideal I, defined as moduleDepth (R⧸ I, M).

    Equations
    Instances For
      noncomputable def IsLocalRing.depth {R : Type u} [CommRing R] [Small.{v, u} R] [IsLocalRing R] (M : ModuleCat R) :

      For a local ring R, the depth of a R-module with respect to the maximal ideal.

      Equations
      Instances For
        theorem moduleDepth_eq_find {R : Type u} [CommRing R] [Small.{v, u} R] (N M : ModuleCat R) (h : ∃ (n : ), Nontrivial (CategoryTheory.Abelian.Ext N M n)) :
        theorem Ideal.depth_eq_top_of_subsingleton {R : Type u} [CommRing R] [Small.{v, u} R] (I : Ideal R) (M : ModuleCat R) (sub : Subsingleton M) :
        I.depth M =
        theorem moduleDepth_eq_depth_of_supp_eq {R : Type u} [CommRing R] [Small.{v, u} R] [IsNoetherianRing R] (I : Ideal R) (N M : ModuleCat R) [Module.Finite R M] [Nfin : Module.Finite R N] [Nntr : Nontrivial N] (smul_lt : I < ) (hsupp : Module.support R N = PrimeSpectrum.zeroLocus I) :
        theorem moduleDepth_eq_of_iso_fst {R : Type u} [CommRing R] [Small.{v, u} R] (M : ModuleCat R) {N N' : ModuleCat R} (e : N N') :
        theorem moduleDepth_eq_of_iso_snd {R : Type u} [CommRing R] [Small.{v, u} R] (N : ModuleCat R) {M M' : ModuleCat R} (e : M M') :
        theorem Ideal.depth_eq_of_iso {R : Type u} [CommRing R] [Small.{v, u} R] (I : Ideal R) {M M' : ModuleCat R} (e : M M') :
        I.depth M = I.depth M'
        theorem IsLocalRing.depth_eq_of_iso {R : Type u} [CommRing R] [Small.{v, u} R] [IsLocalRing R] {M M' : ModuleCat R} (e : M M') :
        theorem moduleDepth_eq_sSup_length_regular {R : Type u} [CommRing R] [Small.{v, u} R] [IsNoetherianRing R] (I : Ideal R) (N M : ModuleCat R) [Module.Finite R M] [Nfin : Module.Finite R N] [Nntr : Nontrivial N] (smul_lt : I < ) (hsupp : Module.support R N = PrimeSpectrum.zeroLocus I) :
        moduleDepth N M = sSup {x : ℕ∞ | ∃ (rs : List R) (_ : RingTheory.Sequence.IsRegular (↑M) rs) (_ : rrs, r I), rs.length = x}
        theorem IsLocalRing.ideal_depth_eq_sSup_length_regular {R : Type u} [CommRing R] [Small.{v, u} R] [IsLocalRing R] [IsNoetherianRing R] (I : Ideal R) (netop : I ) (M : ModuleCat R) [Module.Finite R M] [Nontrivial M] :
        I.depth M = sSup {x : ℕ∞ | ∃ (rs : List R) (_ : RingTheory.Sequence.IsRegular (↑M) rs) (_ : rrs, r I), rs.length = x}
        theorem IsLocalRing.depth_eq_sSup_length_regular {R : Type u} [CommRing R] [Small.{v, u} R] [IsLocalRing R] [IsNoetherianRing R] (M : ModuleCat R) [Module.Finite R M] [Nontrivial M] :
        depth M = sSup {x : ℕ∞ | ∃ (rs : List R) (_ : RingTheory.Sequence.IsRegular (↑M) rs) (_ : rrs, r maximalIdeal R), rs.length = x}
        theorem IsLocalRing.ideal_depth_le_depth {R : Type u} [CommRing R] [Small.{v, u} R] [IsLocalRing R] [IsNoetherianRing R] (I : Ideal R) (netop : I ) (M : ModuleCat R) [Module.Finite R M] [Nontrivial M] :
        theorem Submodule.comap_lt_top_of_lt_range {R : Type u} [CommRing R] {M : Type u_1} {N : Type u_2} [AddCommGroup M] [Module R M] [AddCommGroup N] [Module R N] (f : M →ₗ[R] N) (p : Submodule R N) (lt : p < f.range) :
        comap f p <
        theorem moduleDepth_eq_of_linearEquiv {R : Type u} [CommRing R] [Small.{v, u} R] [IsNoetherianRing R] [Small.{w, u} R] {N M : Type v} {N' M' : Type w} [AddCommGroup M] [Module R M] [Module.Finite R M] [AddCommGroup N] [Module R N] [Module.Finite R N] [AddCommGroup M'] [Module R M'] [Module.Finite R M'] [AddCommGroup N'] [Module R N'] [Module.Finite R N'] [Nontrivial N] (eM : M ≃ₗ[R] M') (eN : N ≃ₗ[R] N') (I : Ideal R) (smul_lt : I < ) (hsupp : Module.support R N = PrimeSpectrum.zeroLocus I) :
        theorem Ideal.depth_eq_of_linearEquiv {R : Type u} [CommRing R] [Small.{v, u} R] [IsNoetherianRing R] [Small.{w, u} R] {M : Type v} {M' : Type w} [AddCommGroup M] [Module R M] [Module.Finite R M] [AddCommGroup M'] [Module R M'] [Module.Finite R M'] (eM : M ≃ₗ[R] M') (I : Ideal R) (smul_lt : I < ) :
        theorem moduleDepth_quotSMulTop_succ_eq_moduleDepth {R : Type u} [CommRing R] [Small.{v, u} R] (N M : ModuleCat R) (x : R) (reg : IsSMulRegular (↑M) x) (mem : x Module.annihilator R N) :
        theorem Ideal.depth_quotSMulTop_succ_eq_moduleDepth {R : Type u} [CommRing R] [Small.{v, u} R] (I : Ideal R) (M : ModuleCat R) (x : R) (reg : IsSMulRegular (↑M) x) (mem : x I) :
        I.depth (ModuleCat.of R (QuotSMulTop x M)) + 1 = I.depth M
        theorem ideal_depth_quotient_regular_sequence_add_length_eq_ideal_depth {R : Type u} [CommRing R] [Small.{v, u} R] (I : Ideal R) (M : ModuleCat R) (rs : List R) (reg : RingTheory.Sequence.IsWeaklyRegular (↑M) rs) (h : rrs, r I) :
        I.depth (ModuleCat.of R (M Ideal.ofList rs )) + rs.length = I.depth M