Documentation

Mathlib.RingTheory.Spectrum.Prime.Basic

Prime spectrum of a commutative (semi)ring #

For the Zariski topology, see Mathlib/RingTheory/Spectrum/Prime/Topology.lean.

(It is also naturally endowed with a sheaf of rings, which is constructed in AlgebraicGeometry.StructureSheaf.)

Main definitions #

Conventions #

We denote subsets of (semi)rings with s, s', etc... whereas we denote subsets of prime spectra with t, t', etc...

Inspiration/contributors #

The contents of this file draw inspiration from https://github.com/ramonfmir/lean-scheme which has contributions from Ramon Fernandez Mir, Kevin Buzzard, Kenny Lau, and Chris Hughes (on an earlier repository).

References #

The prime spectrum of the zero ring is empty.

The map from the direct sum of prime spectra to the prime spectrum of a direct product.

Equations
Instances For

    The prime spectrum of R × S is in bijection with the disjoint unions of the prime spectrum of R and the prime spectrum of S.

    Equations
    Instances For

      The zero locus of a set s of elements of a commutative (semi)ring R is the set of all prime ideals of the ring that contain the set s.

      An element f of R can be thought of as a dependent function on the prime spectrum of R. At a point x (a prime ideal) the function (i.e., element) f takes values in the quotient ring R modulo the prime ideal x. In this manner, zeroLocus s is exactly the subset of PrimeSpectrum R where all "functions" in s vanish simultaneously.

      Equations
      Instances For
        @[simp]
        theorem PrimeSpectrum.mem_zeroLocus {R : Type u} [CommSemiring R] (x : PrimeSpectrum R) (s : Set R) :

        The vanishing ideal of a set t of points of the prime spectrum of a commutative ring R is the intersection of all the prime ideals in the set t.

        An element f of R can be thought of as a dependent function on the prime spectrum of R. At a point x (a prime ideal) the function (i.e., element) f takes values in the quotient ring R modulo the prime ideal x. In this manner, vanishingIdeal t is exactly the ideal of R consisting of all "functions" that vanish on all of t.

        Equations
        Instances For
          theorem PrimeSpectrum.coe_vanishingIdeal {R : Type u} [CommSemiring R] (t : Set (PrimeSpectrum R)) :
          (vanishingIdeal t) = {f : R | xt, f x.asIdeal}
          theorem PrimeSpectrum.mem_vanishingIdeal {R : Type u} [CommSemiring R] (t : Set (PrimeSpectrum R)) (f : R) :
          f vanishingIdeal t xt, f x.asIdeal
          theorem PrimeSpectrum.gc (R : Type u) [CommSemiring R] :
          GaloisConnection (fun (I : Ideal R) => zeroLocus I) fun (t : (Set (PrimeSpectrum R))ᵒᵈ) => vanishingIdeal t

          zeroLocus and vanishingIdeal form a galois connection.

          theorem PrimeSpectrum.gc_set (R : Type u) [CommSemiring R] :
          GaloisConnection (fun (s : Set R) => zeroLocus s) fun (t : (Set (PrimeSpectrum R))ᵒᵈ) => (vanishingIdeal t)

          zeroLocus and vanishingIdeal form a galois connection.

          @[deprecated PrimeSpectrum.zeroLocus_eq_univ_iff (since := "2025-04-05")]

          Alias of PrimeSpectrum.zeroLocus_eq_univ_iff.

          theorem PrimeSpectrum.zeroLocus_sup {R : Type u} [CommSemiring R] (I J : Ideal R) :
          zeroLocus (IJ) = zeroLocus I zeroLocus J
          theorem PrimeSpectrum.zeroLocus_iSup {R : Type u} [CommSemiring R] {ι : Sort u_1} (I : ιIdeal R) :
          zeroLocus (⨆ (i : ι), I i) = ⋂ (i : ι), zeroLocus (I i)
          theorem PrimeSpectrum.zeroLocus_iUnion {R : Type u} [CommSemiring R] {ι : Sort u_1} (s : ιSet R) :
          zeroLocus (⋃ (i : ι), s i) = ⋂ (i : ι), zeroLocus (s i)
          theorem PrimeSpectrum.zeroLocus_iUnion₂ {R : Type u} [CommSemiring R] {ι : Sort u_1} {κ : ιSort u_2} (s : (i : ι) → κ iSet R) :
          zeroLocus (⋃ (i : ι), ⋃ (j : κ i), s i j) = ⋂ (i : ι), ⋂ (j : κ i), zeroLocus (s i j)
          theorem PrimeSpectrum.zeroLocus_bUnion {R : Type u} [CommSemiring R] (s : Set (Set R)) :
          zeroLocus (⋃ s's, s') = s's, zeroLocus s'
          theorem PrimeSpectrum.vanishingIdeal_iUnion {R : Type u} [CommSemiring R] {ι : Sort u_1} (t : ιSet (PrimeSpectrum R)) :
          vanishingIdeal (⋃ (i : ι), t i) = ⨅ (i : ι), vanishingIdeal (t i)
          theorem PrimeSpectrum.zeroLocus_inf {R : Type u} [CommSemiring R] (I J : Ideal R) :
          zeroLocus (IJ) = zeroLocus I zeroLocus J
          theorem PrimeSpectrum.zeroLocus_mul {R : Type u} [CommSemiring R] (I J : Ideal R) :
          zeroLocus ↑(I * J) = zeroLocus I zeroLocus J
          @[simp]
          theorem PrimeSpectrum.zeroLocus_pow {R : Type u} [CommSemiring R] (I : Ideal R) {n : } (hn : n 0) :
          zeroLocus ↑(I ^ n) = zeroLocus I
          @[simp]
          theorem PrimeSpectrum.zeroLocus_singleton_pow {R : Type u} [CommSemiring R] (f : R) (n : ) (hn : 0 < n) :
          @[deprecated PrimeSpectrum.mem_compl_zeroLocus_iff_notMem (since := "2025-05-23")]

          Alias of PrimeSpectrum.mem_compl_zeroLocus_iff_notMem.

          theorem PrimeSpectrum.zeroLocus_smul_of_isUnit {R : Type u} [CommSemiring R] {r : R} (hr : IsUnit r) (s : Set R) :
          Equations
          Equations

          Also see PrimeSpectrum.isClosed_singleton_iff_isMaximal

          theorem PrimeSpectrum.zeroLocus_eq_singleton {R : Type u} [CommSemiring R] (m : Ideal R) [m.IsMaximal] :
          zeroLocus m = {{ asIdeal := m, isPrime := }}

          In a noetherian ring, every ideal contains a product of prime ideals ([samuel1967, § 3.3, Lemma 3]).

          In a noetherian integral domain which is not a field, every non-zero ideal contains a non-zero product of prime ideals; in a field, the whole ring is a non-zero ideal containing only 0 as product or prime ideals ([samuel1967, § 3.3, Lemma 3])