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.

    Equations
    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}
      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.

      Equations
      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.

        Equations
        Instances For
          @[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] :

          Alias of AssociatedPrimes.mem_iff.

          theorem IsAssociatedPrime.isPrime {R : Type u_1} [CommSemiring R] {I : Ideal R} {M : Type u_2} [AddCommMonoid M] [Module R M] (h : IsAssociatedPrime I M) :
          instance instIsPrimeValIdealMemSetAssociatedPrimes {R : Type u_1} [CommSemiring R] {M : Type u_2} [AddCommMonoid M] [Module R M] (I : (associatedPrimes R M)) :
          (↑I).IsPrime
          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 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) :

          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'] :

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

          theorem LinearEquiv.AssociatedPrimes.eq {R : Type u_1} [CommSemiring R] {M : Type u_2} [AddCommMonoid M] [Module R M] {M' : Type u_3} [AddCommMonoid M'] [Module R M'] (l : M ≃ₗ[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] :
          passociatedPrimes R M, p = {r : R | ∃ (x : M), x 0 r x = 0}
          theorem IsAssociatedPrime.eq_radical {R : Type u_1} [CommRing R] {I J : Ideal R} (hI : I.IsPrimary) (h : IsAssociatedPrime J (R I)) :