Primary submodules #
A proper submodule S : Submodule R M is primary iff
r • x ∈ S implies x ∈ S or ∃ n : ℕ, r ^ n • (⊤ : Submodule R M) ≤ S.
Main results #
Submodule.isPrimary_iff_zero_divisor_quotient_imp_nilpotent_smul: AN : Submodule R Mis primary if any zero divisor onM ⧸ Nis nilpotent. See https://mathoverflow.net/questions/3910/primary-decomposition-for-modules for a comparison of this definition (a la Atiyah-Macdonald) vs "locally nilpotent" (Matsumura).
Implementation details #
This is a generalization of Ideal.IsPrimary. For brevity, the pointwise instances are used
to define the nilpotency of r : R.
References #
- M. F. Atiyah and I. G. Macdonald, Introduction to commutative algebra Chapter 4, Exercise 21.
def Submodule.IsPrimary {R : Type u_1} {M : Type u_2} [CommSemiring R] [AddCommMonoid M] [Module R M] (S : Submodule R M) :
A proper submodule S : Submodule R M is primary iff
r • x ∈ S implies x ∈ S or ∃ n : ℕ, r ^ n • (⊤ : Submodule R M) ≤ S.
This generalizes Ideal.IsPrimary.
Instances For
theorem Submodule.IsPrimary.ne_top {R : Type u_1} {M : Type u_2} [CommSemiring R] [AddCommMonoid M] [Module R M] {S : Submodule R M} (h : S.IsPrimary) :
theorem Submodule.isPrimary_finsetInf {R : Type u_1} {M : Type u_2} [CommSemiring R] [AddCommMonoid M] [Module R M] {ι : Type u_3} {s : Finset ι} {f : ι → Submodule R M} {i : ι} (hi : i ∈ s) (hs : ∀ ⦃y : ι⦄, y ∈ s → (f y).IsPrimary) (hs' : ∀ ⦃y : ι⦄, y ∈ s → ((f y).colon Set.univ).radical = ((f i).colon Set.univ).radical) :
theorem Submodule.IsPrimary.isPrime_radical_colon {R : Type u_1} {M : Type u_2} [CommSemiring R] [AddCommMonoid M] [Module R M] {S : Submodule R M} (hI : S.IsPrimary) :