Documentation

Mathlib.RingTheory.Support

Support of a module #

Main results #

Also see Mathlib/RingTheory/Spectrum/Prime/Module.lean for other results depending on the Zariski topology.

TODO #

def Module.support (R : Type u_1) (M : Type u_2) [CommRing R] [AddCommGroup M] [Module R M] :

The support of a module, defined as the set of primes p such that Mₚ ≠ 0.

Stacks Tag 00L1

Equations
@[deprecated Module.notMem_support_iff (since := "2025-05-23")]

Alias of Module.notMem_support_iff.

theorem Module.notMem_support_iff' {R : Type u_1} {M : Type u_2} [CommRing R] [AddCommGroup M] [Module R M] {p : PrimeSpectrum R} :
psupport R M ∀ (m : M), rp.asIdeal, r m = 0
@[deprecated Module.notMem_support_iff' (since := "2025-05-23")]
theorem Module.not_mem_support_iff' {R : Type u_1} {M : Type u_2} [CommRing R] [AddCommGroup M] [Module R M] {p : PrimeSpectrum R} :
psupport R M ∀ (m : M), rp.asIdeal, r m = 0

Alias of Module.notMem_support_iff'.

theorem Module.mem_support_iff' {R : Type u_1} {M : Type u_2} [CommRing R] [AddCommGroup M] [Module R M] {p : PrimeSpectrum R} :
p support R M ∃ (m : M), rp.asIdeal, r m 0
theorem Module.mem_support_iff_of_span_eq_top {R : Type u_1} {M : Type u_2} [CommRing R] [AddCommGroup M] [Module R M] {p : PrimeSpectrum R} {s : Set M} (hs : Submodule.span R s = ) :
theorem Module.annihilator_le_of_mem_support {R : Type u_1} {M : Type u_2} [CommRing R] [AddCommGroup M] [Module R M] {p : PrimeSpectrum R} (hp : p support R M) :
theorem Module.support_eq_empty {R : Type u_1} {M : Type u_2} [CommRing R] [AddCommGroup M] [Module R M] [Subsingleton M] :
theorem Module.support_subset_of_injective {R : Type u_1} {M : Type u_2} [CommRing R] [AddCommGroup M] [Module R M] {N : Type u_3} [AddCommGroup N] [Module R N] (f : M →ₗ[R] N) (hf : Function.Injective f) :

Stacks Tag 00L3 ((2))

theorem Module.support_subset_of_surjective {R : Type u_1} {M : Type u_2} [CommRing R] [AddCommGroup M] [Module R M] {N : Type u_3} [AddCommGroup N] [Module R N] (f : M →ₗ[R] N) (hf : Function.Surjective f) :

Stacks Tag 00L3 ((3))

theorem Module.support_of_exact {R : Type u_1} {M : Type u_2} [CommRing R] [AddCommGroup M] [Module R M] {N : Type u_3} {P : Type u_4} [AddCommGroup N] [Module R N] [AddCommGroup P] [Module R P] {f : M →ₗ[R] N} {g : N →ₗ[R] P} (h : Function.Exact f g) (hf : Function.Injective f) (hg : Function.Surjective g) :

Given an exact sequence 0 → M → N → P → 0 of R-modules, Supp N = Supp M ∪ Supp P.

Stacks Tag 00L3 ((4))

theorem LinearEquiv.support_eq {R : Type u_1} {M : Type u_2} [CommRing R] [AddCommGroup M] [Module R M] {N : Type u_3} [AddCommGroup N] [Module R N] (e : M ≃ₗ[R] N) :

If M is R-finite, then Supp M = Z(Ann(M)).

Stacks Tag 00L2

If M is a finite module such that Mₚ = 0 for some p, then M[1/f] = 0 for some p ∈ D(f).

theorem Module.support_quotient {R : Type u_1} {M : Type u_2} [CommRing R] [AddCommGroup M] [Module R M] [Module.Finite R M] (I : Ideal R) :

Supp(M/IM) = Supp(M) ∩ Z(I).

Stacks Tag 00L3 ((1))