Documentation

Mathlib.RingTheory.CohenMacaulay.Basic

Definition of Cohen-Macaulay Ring #

In this file, we define a R-module M is Cohen Macaulay module if it is zero or Module.supportDim R M = IsLocalRing.depth M. We also define a local ring R IsCohenMacaulayLocalRing if ringKrullDim R = IsLocalRing.depth (ModuleCat.of R R), a commutative ring is Cohen Macaulay if its localization at every prime IsCohenMacaulayLocalRing.

Main definition and results #

A R-module M is Cohen Macaulay if it is zero or Module.supportDim R M = IsLocalRing.depth M.

Instances
    @[reducible, inline]
    abbrev SemiLinearMapAlgebraMapOfLinearMap {R : Type u_1} {A : Type u_2} [CommRing R] [CommRing A] [Algebra R A] {M : Type u_3} {N : Type u_4} [AddCommGroup M] [AddCommGroup N] [Module R M] [Module R N] [Module A N] [IsScalarTower R A N] (f : M →ₗ[R] N) :

    Turn a R-linear map into algebraMap R A-semilinear map if its target is an A-module.

    Equations
    Instances For
      @[reducible, inline]
      abbrev LinearMapOfSemiLinearMapAlgebraMap {R : Type u_1} {A : Type u_2} [CommRing R] [CommRing A] [Algebra R A] {M : Type u_3} {N : Type u_4} [AddCommGroup M] [AddCommGroup N] [Module R M] [Module R N] [Module A N] [IsScalarTower R A N] (f : M →ₛₗ[algebraMap R A] N) :

      Turn a algebraMap R A-semilinear map into a R-linear map.

      Equations
      Instances For
        @[reducible, inline]
        abbrev quotSMulTop_isLocalizedModule_map {R : Type u} [CommRing R] (Rₚ : Type u') [CommRing Rₚ] [Algebra R Rₚ] (x : R) (M : Type u_1) [AddCommGroup M] [Module R M] (Mₚ : Type u_2) [AddCommGroup Mₚ] [Module R Mₚ] [Module Rₚ Mₚ] [IsScalarTower R Rₚ Mₚ] (f : M →ₗ[R] Mₚ) :

        Given R-algebra Rₚ, R-module M and Rₚ-module Mₚ and f : M →ₗ[R] Mₚ, The linear map QuotSMulTop x M →ₗ[R] QuotSMulTop ((algebraMap R Rₚ) x) Mₚ lifted from f.

        Equations
        Instances For
          theorem isLocalizedModule_quotSMulTop_isLocalizedModule_map {R : Type u} [CommRing R] (p : Ideal R) [p.IsPrime] (Rₚ : Type u') [CommRing Rₚ] [Algebra R Rₚ] [IsLocalization.AtPrime Rₚ p] (x : R) (M : Type u_1) [AddCommGroup M] [Module R M] (Mₚ : Type u_2) [AddCommGroup Mₚ] [Module R Mₚ] [Module Rₚ Mₚ] [IsScalarTower R Rₚ Mₚ] (f : M →ₗ[R] Mₚ) [IsLocalizedModule.AtPrime p f] :
          theorem isLocalization_at_prime_prime_depth_le_depth {R : Type u} [CommRing R] [IsLocalRing R] [IsNoetherianRing R] (p : Ideal R) [Small.{v, u} R] [p.IsPrime] {Rₚ : Type u'} [CommRing Rₚ] [Algebra R Rₚ] [IsLocalization.AtPrime Rₚ p] [Small.{v', u'} Rₚ] [IsNoetherianRing Rₚ] (M : ModuleCat R) (Mₚ : ModuleCat Rₚ) [Module R Mₚ] [IsScalarTower R Rₚ Mₚ] (f : M →ₗ[R] Mₚ) [IsLocalizedModule.AtPrime p f] [IsLocalRing Rₚ] [Module.Finite R M] [ntr : Nontrivial Mₚ] :
          theorem isLocalize_at_prime_dim_eq_prime_depth_of_isCohenMacaulay {R : Type u} [CommRing R] [IsLocalRing R] [IsNoetherianRing R] (p : Ideal R) [Small.{v, u} R] [p.IsPrime] {Rₚ : Type u'} [CommRing Rₚ] [Algebra R Rₚ] [IsLocalization.AtPrime Rₚ p] [IsNoetherianRing Rₚ] (M : ModuleCat R) (Mₚ : ModuleCat Rₚ) [Module R Mₚ] [IsScalarTower R Rₚ Mₚ] (f : M →ₗ[R] Mₚ) [IsLocalizedModule.AtPrime p f] [Module.Finite R M] [M.IsCohenMacaulay] [ntr : Nontrivial Mₚ] :
          Module.supportDim Rₚ Mₚ = (p.depth M)
          theorem isLocalize_at_prime_isCohenMacaulay_of_isCohenMacaulay {R : Type u} [CommRing R] [IsLocalRing R] [IsNoetherianRing R] (p : Ideal R) [Small.{v, u} R] [p.IsPrime] {Rₚ : Type u'} [CommRing Rₚ] [Algebra R Rₚ] [IsLocalization.AtPrime Rₚ p] [Small.{v', u'} Rₚ] [IsNoetherianRing Rₚ] (M : ModuleCat R) (Mₚ : ModuleCat Rₚ) [Module R Mₚ] [IsScalarTower R Rₚ Mₚ] (f : M →ₗ[R] Mₚ) [IsLocalizedModule.AtPrime p f] [IsLocalRing Rₚ] [Module.Finite R M] [M.IsCohenMacaulay] :
          theorem isLocalize_at_prime_depth_eq_of_isCohenMacaulay {R : Type u} [CommRing R] [IsLocalRing R] [IsNoetherianRing R] (p : Ideal R) [Small.{v, u} R] [p.IsPrime] {Rₚ : Type u'} [CommRing Rₚ] [Algebra R Rₚ] [IsLocalization.AtPrime Rₚ p] [Small.{v', u'} Rₚ] [IsNoetherianRing Rₚ] (M : ModuleCat R) (Mₚ : ModuleCat Rₚ) [Module R Mₚ] [IsScalarTower R Rₚ Mₚ] (f : M →ₗ[R] Mₚ) [IsLocalizedModule.AtPrime p f] [IsLocalRing Rₚ] [Module.Finite R M] [Nontrivial Mₚ] [M.IsCohenMacaulay] :

          A local ring is Cohen Macaulay if ringKrullDim R = IsLocalRing.depth (ModuleCat.of R R).

          Instances

            A commutative ring is Cohen Macaulay if its localization at every prime IsCohenMacaulayLocalRing.

            Instances