File: Mathlib/RingTheory/Support.lean

full_name: Module.support
code: /-- The support of a module, defined as the set of primes `p` such that `Mₚ ≠ 0`. -/
def Module.support : Set (PrimeSpectrum R) 
goal: Set (PrimeSpectrum R)

full_name: Module.mem_support_iff
code: lemma Module.mem_support_iff :
    p ∈ Module.support R M ↔ Nontrivial (LocalizedModule p.asIdeal.primeCompl M) 
goal: p ∈ Module.support R M ↔ Nontrivial (LocalizedModule p.asIdeal.primeCompl M)

full_name: Module.not_mem_support_iff
code: lemma Module.not_mem_support_iff :
    p ∉ Module.support R M ↔ Subsingleton (LocalizedModule p.asIdeal.primeCompl M) 
goal: p ∉ Module.support R M ↔ Subsingleton (LocalizedModule p.asIdeal.primeCompl M)

full_name: Module.not_mem_support_iff'
code: lemma Module.not_mem_support_iff' :
    p ∉ Module.support R M ↔ ∀ m : M, ∃ r ∉ p.asIdeal, r • m = 0 
goal: p ∉ Module.support R M ↔ ∀ (m : M), ∃ r ∉ p.asIdeal, r • m = 0

full_name: Module.mem_support_iff'
code: lemma Module.mem_support_iff' :
    p ∈ Module.support R M ↔ ∃ m : M, ∀ r ∉ p.asIdeal, r • m ≠ 0 
goal: p ∈ Module.support R M ↔ ∃ m, ∀ r ∉ p.asIdeal, r • m ≠ 0

full_name: Module.mem_support_iff_exists_annihilator
code: lemma Module.mem_support_iff_exists_annihilator :
    p ∈ Module.support R M ↔ ∃ m : M, (R ∙ m).annihilator ≤ p.asIdeal 
goal: p ∈ Module.support R M ↔ ∃ m, (Submodule.span R {m}).annihilator ≤ p.asIdeal

full_name: Module.mem_support_iff_of_span_eq_top
code: lemma Module.mem_support_iff_of_span_eq_top {s : Set M} (hs : Submodule.span R s = ⊤) :
    p ∈ Module.support R M ↔ ∃ m ∈ s, (R ∙ m).annihilator ≤ p.asIdeal 
goal: p ∈ Module.support R M ↔ ∃ m ∈ s, (Submodule.span R {m}).annihilator ≤ p.asIdeal

full_name: Module.annihilator_le_of_mem_support
code: lemma Module.annihilator_le_of_mem_support (hp : p ∈ Module.support R M) :
    Module.annihilator R M ≤ p.asIdeal 
goal: Module.annihilator R M ≤ p.asIdeal

full_name: LocalizedModule.subsingleton_iff_support_subset
code: lemma LocalizedModule.subsingleton_iff_support_subset {f : R} :
    Subsingleton (LocalizedModule (.powers f) M) ↔
      Module.support R M ⊆ PrimeSpectrum.zeroLocus {f} 
goal: Subsingleton (LocalizedModule (Submonoid.powers f) M) ↔ Module.support R M ⊆ PrimeSpectrum.zeroLocus {f}

full_name: Module.support_eq_empty_iff
code: lemma Module.support_eq_empty_iff :
    Module.support R M = ∅ ↔ Subsingleton M 
goal: Module.support R M = ∅ ↔ Subsingleton M

full_name: Module.support_eq_empty
code: lemma Module.support_eq_empty [Subsingleton M] :
    Module.support R M = ∅ 
goal: Module.support R M = ∅

full_name: Module.support_of_algebra
code: lemma Module.support_of_algebra {A : Type*} [Ring A] [Algebra R A] :
    Module.support R A = PrimeSpectrum.zeroLocus (RingHom.ker (algebraMap R A)) 
goal: Module.support R A = PrimeSpectrum.zeroLocus ↑(RingHom.ker (algebraMap R A))

full_name: Module.support_of_noZeroSMulDivisors
code: lemma Module.support_of_noZeroSMulDivisors [NoZeroSMulDivisors R M] [Nontrivial M] :
    Module.support R M = Set.univ 
goal: Module.support R M = Set.univ

full_name: Module.mem_support_iff_of_finite
code: lemma Module.mem_support_iff_of_finite [Module.Finite R M] :
    p ∈ Module.support R M ↔ Module.annihilator R M ≤ p.asIdeal 
goal: p ∈ Module.support R M ↔ Module.annihilator R M ≤ p.asIdeal

full_name: Module.support_subset_of_injective
code: lemma Module.support_subset_of_injective (hf : Function.Injective f) :
    Module.support R M ⊆ Module.support R N 
goal: Module.support R M ⊆ Module.support R N

full_name: Module.support_subset_of_surjective
code: lemma Module.support_subset_of_surjective (hf : Function.Surjective f) :
    Module.support R N ⊆ Module.support R M 
goal: Module.support R N ⊆ Module.support R M

full_name: Module.support_of_exact
code: /-- Given an exact sequence `0 → M → N → P → 0` of `R`-modules, `Supp N = Supp M ∪ Supp P`. -/
lemma Module.support_of_exact (h : Function.Exact f g)
    (hf : Function.Injective f) (hg : Function.Surjective g) :
    Module.support R N = Module.support R M ∪ Module.support R P 
goal: Module.support R N = Module.support R M ∪ Module.support R P

full_name: LinearEquiv.support_eq
code: lemma LinearEquiv.support_eq (e : M ≃ₗ[R] N) :
    Module.support R M = Module.support R N 
goal: Module.support R M = Module.support R N

full_name: Module.support_eq_zeroLocus
code: /-- If `M` is `R`-finite, then `Supp M = Z(Ann(M))`. -/
lemma Module.support_eq_zeroLocus [Module.Finite R M] :
    Module.support R M = PrimeSpectrum.zeroLocus (Module.annihilator R M) 
goal: Module.support R M = PrimeSpectrum.zeroLocus ↑(Module.annihilator R M)

full_name: LocalizedModule.exists_subsingleton_away
code: /-- If `M` is a finite module such that `Mₚ = 0` for some `p`,
then `M[1/f] = 0` for some `p ∈ D(f)`. -/
lemma LocalizedModule.exists_subsingleton_away [Module.Finite R M] (p : Ideal R) [p.IsPrime]
    [Subsingleton (LocalizedModule p.primeCompl M)] :
    ∃ f ∉ p, Subsingleton (LocalizedModule (.powers f) M) 
goal: ∃ f ∉ p, Subsingleton (LocalizedModule (Submonoid.powers f) M)