Documentation

Mathlib.RingTheory.Ideal.AssociatedPrime.Basic

Associated primes of a module #

We provide the definition and related lemmas about associated primes of modules.

Main definition #

Main results #

Implementation details #

The presence of the radical in the definition of IsAssociatedPrime is slightly nonstandard but gives the correct characterization of the prime ideals of any minimal primary decomposition in the non-Noetherian setting (see Theorem 4.5 in Atiyah-Macdonald). If the ring R is assumed to be Noetherian, then the radical can be dropped from the definition (see isAssociatedPrime_iff).

See also Stacks: Lemma 0566 which states that a prime p is minimal among primes containing an annihilator an element of M if and only if p R_p is an associated prime of M_p (including the radical).

TODO #

Generalize this to a non-commutative setting once there are annihilator for non-commutative rings.

References #

structure Submodule.IsAssociatedPrime {R : Type u_1} {M : Type u_2} [CommSemiring R] [AddCommMonoid M] [Module R M] (N : Submodule R M) (I : Ideal R) extends I.IsPrime :

I : Ideal R is an associated prime of a submodule N : Submodule R M if I is prime and I = (colon N {x}).radical for some x : M.

Instances For
    def Submodule.associatedPrimes {R : Type u_1} {M : Type u_2} [CommSemiring R] [AddCommMonoid M] [Module R M] (N : Submodule R M) :

    The set of associated primes of a submodule.

    Instances For
      theorem Submodule.isAssociatedPrime_def {R : Type u_1} {M : Type u_2} [CommSemiring R] [AddCommMonoid M] [Module R M] {N : Submodule R M} {I : Ideal R} :
      N.IsAssociatedPrime I โ†” I.IsPrime โˆง โˆƒ (x : M), I = (N.colon {x}).radical
      theorem Submodule.isAssociatedPrime_iff {R : Type u_1} {M : Type u_2} [CommSemiring R] [AddCommMonoid M] [Module R M] {N : Submodule R M} {I : Ideal R} [IsNoetherianRing R] :
      N.IsAssociatedPrime I โ†” I.IsPrime โˆง โˆƒ (x : M), I = N.colon {x}
      theorem Submodule.AssociatePrimes.mem_iff {R : Type u_1} {M : Type u_2} [CommSemiring R] [AddCommMonoid M] [Module R M] {N : Submodule R M} {I : Ideal R} :
      I โˆˆ N.associatedPrimes โ†” N.IsAssociatedPrime I
      def IsAssociatedPrime {R : Type u_1} [CommSemiring R] (I : Ideal R) (M : Type u_2) [AddCommMonoid M] [Module R M] :

      IsAssociatedPrime I M if the prime ideal I is the radical of the annihilator of some x : M.

      Instances For
        def associatedPrimes (R : Type u_1) [CommSemiring R] (M : Type u_2) [AddCommMonoid M] [Module R M] :

        The set of associated primes of a module.

        Instances For
          theorem AssociatedPrimes.mem_iff {R : Type u_1} [CommSemiring R] {I : Ideal R} {M : Type u_2} [AddCommMonoid M] [Module R M] :
          I โˆˆ associatedPrimes R M โ†” IsAssociatedPrime I M
          @[deprecated AssociatedPrimes.mem_iff (since := "2025-11-24")]
          theorem AssociatePrimes.mem_iff {R : Type u_1} [CommSemiring R] {I : Ideal R} {M : Type u_2} [AddCommMonoid M] [Module R M] :
          I โˆˆ associatedPrimes R M โ†” IsAssociatedPrime I M

          Alias of AssociatedPrimes.mem_iff.

          theorem isAssociatedPrime_iff {R : Type u_1} [CommSemiring R] {I : Ideal R} {M : Type u_2} [AddCommMonoid M] [Module R M] [IsNoetherianRing R] :
          IsAssociatedPrime I M โ†” I.IsPrime โˆง โˆƒ (x : M), I = โŠฅ.colon {x}
          theorem IsAssociatedPrime.map_of_injective {R : Type u_1} [CommSemiring R] {I : Ideal R} {M : Type u_2} [AddCommMonoid M] [Module R M] {M' : Type u_3} [AddCommMonoid M'] [Module R M'] (f : M โ†’โ‚—[R] M') (h : IsAssociatedPrime I M) (hf : Function.Injective โ‡‘f) :
          theorem LinearEquiv.isAssociatedPrime_iff {R : Type u_1} [CommSemiring R] {I : Ideal R} {M : Type u_2} [AddCommMonoid M] [Module R M] {M' : Type u_3} [AddCommMonoid M'] [Module R M'] (l : M โ‰ƒโ‚—[R] M') :
          theorem not_isAssociatedPrime_of_subsingleton {R : Type u_1} [CommSemiring R] {I : Ideal R} {M : Type u_2} [AddCommMonoid M] [Module R M] [Subsingleton M] :
          theorem exists_le_isAssociatedPrime_of_isNoetherianRing (R : Type u_1) [CommSemiring R] {M : Type u_2} [AddCommMonoid M] [Module R M] [H : IsNoetherianRing R] (x : M) (hx : x โ‰  0) :
          โˆƒ (P : Ideal R), IsAssociatedPrime P M โˆง โŠฅ.colon {x} โ‰ค P
          theorem associatedPrimes.subset_of_injective {R : Type u_1} [CommSemiring R] {M : Type u_2} [AddCommMonoid M] [Module R M] {M' : Type u_3} [AddCommMonoid M'] [Module R M'] {f : M โ†’โ‚—[R] M'} (hf : Function.Injective โ‡‘f) :

          If M โ†’ M' is injective, then the set of associated primes of M is contained in that of M'.

          theorem associatedPrimes.subset_union_of_exact {R : Type u_1} [CommSemiring R] {M : Type u_2} [AddCommMonoid M] [Module R M] {M' : Type u_3} [AddCommMonoid M'] [Module R M'] {f : M โ†’โ‚—[R] M'} {M'' : Type u_4} [AddCommMonoid M''] [Module R M''] {g : M' โ†’โ‚—[R] M''} (hf : Function.Injective โ‡‘f) (hfg : Function.Exact โ‡‘f โ‡‘g) :
          associatedPrimes R M' โІ associatedPrimes R M โˆช associatedPrimes R M''

          If 0 โ†’ M โ†’ M' โ†’ M'' is an exact sequence, then the set of associated primes of M' is contained in the union of those of M and M''.

          theorem associatedPrimes.prod (R : Type u_1) [CommSemiring R] (M : Type u_2) [AddCommMonoid M] [Module R M] (M' : Type u_3) [AddCommMonoid M'] [Module R M'] :
          associatedPrimes R (M ร— M') = associatedPrimes R M โˆช associatedPrimes R M'

          The set of associated primes of the product of two modules is equal to the union of those of the two modules.

          theorem associatedPrimes.eq_empty_of_subsingleton {R : Type u_1} [CommSemiring R] {M : Type u_2} [AddCommMonoid M] [Module R M] [Subsingleton M] :
          associatedPrimes R M = โˆ…
          theorem biUnion_associatedPrimes_eq_zero_divisors (R : Type u_1) [CommSemiring R] (M : Type u_2) [AddCommMonoid M] [Module R M] [IsNoetherianRing R] :
          โ‹ƒ p โˆˆ associatedPrimes R M, โ†‘p = {r : R | โˆƒ (x : M), x โ‰  0 โˆง r โ€ข x = 0}
          theorem isAssociatedPrime_iff_exists_injective_linearMap {R : Type u_1} [CommRing R] (I : Ideal R) (M : Type u_2) [AddCommGroup M] [Module R M] [IsNoetherianRing R] :
          IsAssociatedPrime I M โ†” I.IsPrime โˆง โˆƒ (f : R โงธ I โ†’โ‚—[R] M), Function.Injective โ‡‘f