Documentation

Mathlib.RingTheory.Spectrum.Prime.RingHom

Functoriality of the prime spectrum #

In this file we define the induced map on prime spectra induced by a ring homomorphism.

Main definitions #

def PrimeSpectrum.comap {R : Type u_1} {S : Type u_2} [CommSemiring R] [CommSemiring S] (f : R โ†’+* S) (p : PrimeSpectrum S) :

The pullback of an element of PrimeSpectrum S along a ring homomorphism f : R โ†’+* S. The bundled continuous version is PrimeSpectrum.comap.

Instances For
    @[deprecated PrimeSpectrum.comap (since := "2025-12-10")]
    def RingHom.specComap {R : Type u_1} {S : Type u_2} [CommSemiring R] [CommSemiring S] (f : R โ†’+* S) (p : PrimeSpectrum S) :

    Alias of PrimeSpectrum.comap.


    The pullback of an element of PrimeSpectrum S along a ring homomorphism f : R โ†’+* S. The bundled continuous version is PrimeSpectrum.comap.

    Instances For
      @[deprecated PrimeSpectrum.comap_asIdeal (since := "2025-12-10")]

      Alias of PrimeSpectrum.comap_asIdeal.

      @[deprecated PrimeSpectrum.comap_id (since := "2025-12-10")]
      theorem PrimeSpectrum.specComap_id {R : Type u} [CommSemiring R] :
      comap (RingHom.id R) = fun (x : PrimeSpectrum R) => x

      Alias of PrimeSpectrum.comap_id.

      @[simp]
      theorem PrimeSpectrum.comap_comp {R : Type u} {S : Type v} {S' : Type u_1} [CommSemiring R] [CommSemiring S] [CommSemiring S'] (f : R โ†’+* S) (g : S โ†’+* S') :
      comap (g.comp f) = comap f โˆ˜ comap g
      @[deprecated PrimeSpectrum.comap_comp (since := "2025-12-10")]
      theorem PrimeSpectrum.specComap_comp {R : Type u} {S : Type v} {S' : Type u_1} [CommSemiring R] [CommSemiring S] [CommSemiring S'] (f : R โ†’+* S) (g : S โ†’+* S') :
      comap (g.comp f) = comap f โˆ˜ comap g

      Alias of PrimeSpectrum.comap_comp.

      theorem PrimeSpectrum.comap_comp_apply {R : Type u} {S : Type v} {S' : Type u_1} [CommSemiring R] [CommSemiring S] [CommSemiring S'] (f : R โ†’+* S) (g : S โ†’+* S') (x : PrimeSpectrum S') :
      comap (g.comp f) x = comap f (comap g x)
      @[deprecated PrimeSpectrum.comap_comp_apply (since := "2025-12-10")]
      theorem PrimeSpectrum.specComap_comp_apply {R : Type u} {S : Type v} {S' : Type u_1} [CommSemiring R] [CommSemiring S] [CommSemiring S'] (f : R โ†’+* S) (g : S โ†’+* S') (x : PrimeSpectrum S') :
      comap (g.comp f) x = comap f (comap g x)

      Alias of PrimeSpectrum.comap_comp_apply.

      @[deprecated PrimeSpectrum.preimage_comap_zeroLocus (since := "2025-12-10")]

      Alias of PrimeSpectrum.preimage_comap_zeroLocus.

      theorem PrimeSpectrum.comap_injective_of_surjective {R : Type u} {S : Type v} [CommSemiring R] [CommSemiring S] (f : R โ†’+* S) (hf : Function.Surjective โ‡‘f) :
      Function.Injective (comap f)
      @[deprecated PrimeSpectrum.comap_injective_of_surjective (since := "2025-12-10")]
      theorem PrimeSpectrum.specComap_injective_of_surjective {R : Type u} {S : Type v} [CommSemiring R] [CommSemiring S] (f : R โ†’+* S) (hf : Function.Surjective โ‡‘f) :
      Function.Injective (comap f)

      Alias of PrimeSpectrum.comap_injective_of_surjective.

      RingHom.comap of an isomorphism of rings as an equivalence of their prime spectra.

      Instances For
        def PrimeSpectrum.sigmaToPi {ฮน : Type u_3} (R : ฮน โ†’ Type u_2) [(i : ฮน) โ†’ CommSemiring (R i)] :
        (i : ฮน) ร— PrimeSpectrum (R i) โ†’ PrimeSpectrum ((i : ฮน) โ†’ R i)

        The canonical map from a disjoint union of prime spectra of commutative semirings to the prime spectrum of the product semiring.

        Instances For
          @[simp]
          theorem PrimeSpectrum.sigmaToPi_asIdeal {ฮน : Type u_3} (R : ฮน โ†’ Type u_2) [(i : ฮน) โ†’ CommSemiring (R i)] (aโœ : (i : ฮน) ร— PrimeSpectrum (R i)) :
          (sigmaToPi R aโœ).asIdeal = Ideal.comap (Pi.evalRingHom R aโœ.fst) aโœ.snd.asIdeal
          theorem PrimeSpectrum.sigmaToPi_injective {ฮน : Type u_3} (R : ฮน โ†’ Type u_2) [(i : ฮน) โ†’ CommSemiring (R i)] :
          Function.Injective (sigmaToPi R)
          theorem PrimeSpectrum.exists_maximal_notMem_range_sigmaToPi_of_infinite {ฮน : Type u_3} (R : ฮน โ†’ Type u_2) [(i : ฮน) โ†’ CommSemiring (R i)] [Infinite ฮน] [โˆ€ (i : ฮน), Nontrivial (R i)] :
          โˆƒ (I : Ideal ((i : ฮน) โ†’ R i)) (x : I.IsMaximal), { asIdeal := I, isPrime := โ‹ฏ } โˆ‰ Set.range (sigmaToPi R)

          An infinite product of nontrivial commutative semirings has a maximal ideal outside of the range of sigmaToPi, i.e. is not of the form ฯ€แตขโปยน(๐”ญ) for some prime ๐”ญ โŠ‚ R i, where ฯ€แตข : (ฮ  i, R i) โ†’+* R i is the projection. For a complete description of all prime ideals, see https://math.stackexchange.com/a/1563190.

          theorem PrimeSpectrum.sigmaToPi_not_surjective_of_infinite {ฮน : Type u_3} (R : ฮน โ†’ Type u_2) [(i : ฮน) โ†’ CommSemiring (R i)] [Infinite ฮน] [โˆ€ (i : ฮน), Nontrivial (R i)] :
          ยฌFunction.Surjective (sigmaToPi R)
          theorem PrimeSpectrum.exists_comap_evalRingHom_eq {ฮน : Type u_3} {R : ฮน โ†’ Type u_4} [(i : ฮน) โ†’ CommRing (R i)] [Finite ฮน] (p : PrimeSpectrum ((i : ฮน) โ†’ R i)) :
          โˆƒ (i : ฮน) (q : PrimeSpectrum (R i)), comap (Pi.evalRingHom R i) q = p
          theorem PrimeSpectrum.sigmaToPi_bijective {ฮน : Type u_3} (R : ฮน โ†’ Type u_4) [(i : ฮน) โ†’ CommRing (R i)] [Finite ฮน] :
          theorem PrimeSpectrum.iUnion_range_comap_comp_evalRingHom {ฮน : Type u_3} {R : ฮน โ†’ Type u_4} [(i : ฮน) โ†’ CommRing (R i)] [Finite ฮน] {S : Type u_5} [CommRing S] (f : S โ†’+* (i : ฮน) โ†’ R i) :
          โ‹ƒ (i : ฮน), Set.range (comap ((Pi.evalRingHom R i).comp f)) = Set.range (comap f)
          @[deprecated PrimeSpectrum.iUnion_range_comap_comp_evalRingHom (since := "2025-12-11")]
          theorem PrimeSpectrum.iUnion_range_specComap_comp_evalRingHom {ฮน : Type u_3} {R : ฮน โ†’ Type u_4} [(i : ฮน) โ†’ CommRing (R i)] [Finite ฮน] {S : Type u_5} [CommRing S] (f : S โ†’+* (i : ฮน) โ†’ R i) :
          โ‹ƒ (i : ฮน), Set.range (comap ((Pi.evalRingHom R i).comp f)) = Set.range (comap f)

          Alias of PrimeSpectrum.iUnion_range_comap_comp_evalRingHom.

          theorem image_comap_zeroLocus_eq_zeroLocus_comap {R : Type u} (S : Type v) [CommRing R] [CommRing S] (f : R โ†’+* S) (hf : Function.Surjective โ‡‘f) (I : Ideal S) :
          @[deprecated image_comap_zeroLocus_eq_zeroLocus_comap (since := "2025-12-10")]
          theorem image_specComap_zeroLocus_eq_zeroLocus_comap {R : Type u} (S : Type v) [CommRing R] [CommRing S] (f : R โ†’+* S) (hf : Function.Surjective โ‡‘f) (I : Ideal S) :

          Alias of image_comap_zeroLocus_eq_zeroLocus_comap.

          theorem range_comap_of_surjective {R : Type u} (S : Type v) [CommRing R] [CommRing S] (f : R โ†’+* S) (hf : Function.Surjective โ‡‘f) :
          @[deprecated range_comap_of_surjective (since := "2025-12-10")]
          theorem range_specComap_of_surjective {R : Type u} (S : Type v) [CommRing R] [CommRing S] (f : R โ†’+* S) (hf : Function.Surjective โ‡‘f) :

          Alias of range_comap_of_surjective.

          noncomputable def Ideal.primeSpectrumOrderIsoZeroLocusOfSurj {R : Type u} {S : Type v} [CommRing R] [CommRing S] (f : R โ†’+* S) (hf : Function.Surjective โ‡‘f) {I : Ideal R} (hI : RingHom.ker f = I) :

          Let f : R โ†’+* S be a surjective ring homomorphism, then Spec S is order-isomorphic to Z(I) where I = ker f.

          Instances For

            Spec (R / I) is order-isomorphic to Z(I).

            Instances For
              theorem PrimeSpectrum.mem_range_comap_iff {R : Type u} {S : Type v} [CommRing R] [CommRing S] (f : R โ†’+* S) {p : PrimeSpectrum R} :
              p โˆˆ Set.range (comap f) โ†” Ideal.comap f (Ideal.map f p.asIdeal) = p.asIdeal

              p is in the image of Spec S โ†’ Spec R if and only if p extended to S and restricted back to R is p.

              A prime p is in the range of Spec S โ†’ Spec R if the fiber over p is nontrivial.

              theorem RingHom.strictMono_comap_of_surjective {R : Type u} [CommRing R] {S : Type u_1} [CommRing S] {f : R โ†’+* S} (hf : Function.Surjective โ‡‘f) :
              @[deprecated RingHom.strictMono_comap_of_surjective (since := "2025-12-10")]
              theorem RingHom.strictMono_specComap_of_surjective {R : Type u} [CommRing R] {S : Type u_1} [CommRing S] {f : R โ†’+* S} (hf : Function.Surjective โ‡‘f) :

              Alias of RingHom.strictMono_comap_of_surjective.

              @[deprecated PrimeSpectrum.residueField_comap (since := "2025-12-10")]

              Alias of PrimeSpectrum.residueField_comap.

              theorem IsLocalHom.of_comap_surjective {R : Type u} {S : Type v} [CommSemiring R] [CommSemiring S] (f : R โ†’+* S) (hf : Function.Surjective (PrimeSpectrum.comap f)) :
              @[deprecated IsLocalHom.of_comap_surjective (since := "2025-12-10")]
              theorem IsLocalHom.of_specComap_surjective {R : Type u} {S : Type v} [CommSemiring R] [CommSemiring S] (f : R โ†’+* S) (hf : Function.Surjective (PrimeSpectrum.comap f)) :

              Alias of IsLocalHom.of_comap_surjective.