File: Mathlib/AlgebraicGeometry/PrimeSpectrum/Basic.lean

full_name: PrimeSpectrum.zariskiTopology
code: /-- The Zariski topology on the prime spectrum of a commutative (semi)ring is defined
via the closed sets of the topology: they are exactly those sets that are the zero locus
of a subset of the ring. -/
instance zariskiTopology : TopologicalSpace (PrimeSpectrum R) 
goal: TopologicalSpace (PrimeSpectrum R)

full_name: PrimeSpectrum.isOpen_iff
code: theorem isOpen_iff (U : Set (PrimeSpectrum R)) : IsOpen U ↔ ∃ s, Uᶜ = zeroLocus s 
goal: IsOpen U ↔ ∃ s, Uᶜ = PrimeSpectrum.zeroLocus s

full_name: PrimeSpectrum.isClosed_iff_zeroLocus
code: theorem isClosed_iff_zeroLocus (Z : Set (PrimeSpectrum R)) : IsClosed Z ↔ ∃ s, Z = zeroLocus s 
goal: IsClosed Z ↔ ∃ s, Z = PrimeSpectrum.zeroLocus s

full_name: PrimeSpectrum.isClosed_iff_zeroLocus_ideal
code: theorem isClosed_iff_zeroLocus_ideal (Z : Set (PrimeSpectrum R)) :
    IsClosed Z ↔ ∃ I : Ideal R, Z = zeroLocus I 
goal: IsClosed Z ↔ ∃ I, Z = PrimeSpectrum.zeroLocus ↑I

full_name: PrimeSpectrum.isClosed_iff_zeroLocus_radical_ideal
code: theorem isClosed_iff_zeroLocus_radical_ideal (Z : Set (PrimeSpectrum R)) :
    IsClosed Z ↔ ∃ I : Ideal R, I.IsRadical ∧ Z = zeroLocus I 
goal: IsClosed Z ↔ ∃ I, I.IsRadical ∧ Z = PrimeSpectrum.zeroLocus ↑I

full_name: PrimeSpectrum.isClosed_zeroLocus
code: theorem isClosed_zeroLocus (s : Set R) : IsClosed (zeroLocus s) 
goal: IsClosed (PrimeSpectrum.zeroLocus s)

full_name: PrimeSpectrum.zeroLocus_vanishingIdeal_eq_closure
code: theorem zeroLocus_vanishingIdeal_eq_closure (t : Set (PrimeSpectrum R)) :
    zeroLocus (vanishingIdeal t : Set R) = closure t 
goal: PrimeSpectrum.zeroLocus ↑(PrimeSpectrum.vanishingIdeal t) = closure t

full_name: PrimeSpectrum.vanishingIdeal_closure
code: theorem vanishingIdeal_closure (t : Set (PrimeSpectrum R)) :
    vanishingIdeal (closure t) = vanishingIdeal t 
goal: PrimeSpectrum.vanishingIdeal (closure t) = PrimeSpectrum.vanishingIdeal t

full_name: PrimeSpectrum.closure_singleton
code: theorem closure_singleton (x) : closure ({x} : Set (PrimeSpectrum R)) = zeroLocus x.asIdeal 
goal: closure {x} = PrimeSpectrum.zeroLocus ↑x.asIdeal

full_name: PrimeSpectrum.isClosed_singleton_iff_isMaximal
code: theorem isClosed_singleton_iff_isMaximal (x : PrimeSpectrum R) :
    IsClosed ({x} : Set (PrimeSpectrum R)) ↔ x.asIdeal.IsMaximal 
goal: IsClosed {x} ↔ x.asIdeal.IsMaximal

full_name: PrimeSpectrum.isRadical_vanishingIdeal
code: theorem isRadical_vanishingIdeal (s : Set (PrimeSpectrum R)) : (vanishingIdeal s).IsRadical 
goal: (PrimeSpectrum.vanishingIdeal s).IsRadical

full_name: PrimeSpectrum.vanishingIdeal_anti_mono_iff
code: theorem vanishingIdeal_anti_mono_iff {s t : Set (PrimeSpectrum R)} (ht : IsClosed t) :
    s ⊆ t ↔ vanishingIdeal t ≤ vanishingIdeal s 
goal: s ⊆ t ↔ PrimeSpectrum.vanishingIdeal t ≤ PrimeSpectrum.vanishingIdeal s

full_name: PrimeSpectrum.vanishingIdeal_strict_anti_mono_iff
code: theorem vanishingIdeal_strict_anti_mono_iff {s t : Set (PrimeSpectrum R)} (hs : IsClosed s)
    (ht : IsClosed t) : s ⊂ t ↔ vanishingIdeal t < vanishingIdeal s 
goal: s ⊂ t ↔ PrimeSpectrum.vanishingIdeal t < PrimeSpectrum.vanishingIdeal s

full_name: PrimeSpectrum.closedsEmbedding
code: /-- The antitone order embedding of closed subsets of `Spec R` into ideals of `R`. -/
def closedsEmbedding (R : Type*) [CommSemiring R] :
    (TopologicalSpace.Closeds <| PrimeSpectrum R)ᵒᵈ ↪o Ideal R 
goal: (TopologicalSpace.Closeds (PrimeSpectrum R))ᵒᵈ ↪o Ideal R

full_name: PrimeSpectrum.t1Space_iff_isField
code: theorem t1Space_iff_isField [IsDomain R] : T1Space (PrimeSpectrum R) ↔ IsField R 
goal: T1Space (PrimeSpectrum R) ↔ IsField R

full_name: PrimeSpectrum.«_aux_Mathlib_AlgebraicGeometry_PrimeSpectrum_Basic___macroRules_PrimeSpectrum_termZ(_)_1»
code: local notation "Z(" a ")" => zeroLocus (a : Set R)
goal: Lean.Macro

full_name: PrimeSpectrum._aux_Mathlib_AlgebraicGeometry_PrimeSpectrum_Basic___unexpand_PrimeSpectrum_zeroLocus_1
code: local notation "Z(" a ")" => zeroLocus (a : Set R)
goal: Lean.PrettyPrinter.Unexpander

full_name: PrimeSpectrum.isIrreducible_zeroLocus_iff_of_radical
code: theorem isIrreducible_zeroLocus_iff_of_radical (I : Ideal R) (hI : I.IsRadical) :
    IsIrreducible (zeroLocus (I : Set R)) ↔ I.IsPrime 
goal: IsIrreducible (PrimeSpectrum.zeroLocus ↑I) ↔ I.IsPrime

full_name: PrimeSpectrum.isIrreducible_zeroLocus_iff
code: theorem isIrreducible_zeroLocus_iff (I : Ideal R) :
    IsIrreducible (zeroLocus (I : Set R)) ↔ I.radical.IsPrime 
goal: IsIrreducible (PrimeSpectrum.zeroLocus ↑I) ↔ I.radical.IsPrime

full_name: PrimeSpectrum.isIrreducible_iff_vanishingIdeal_isPrime
code: theorem isIrreducible_iff_vanishingIdeal_isPrime {s : Set (PrimeSpectrum R)} :
    IsIrreducible s ↔ (vanishingIdeal s).IsPrime 
goal: IsIrreducible s ↔ (PrimeSpectrum.vanishingIdeal s).IsPrime

full_name: PrimeSpectrum.vanishingIdeal_isIrreducible
code: lemma vanishingIdeal_isIrreducible :
    vanishingIdeal (R := R) '' {s | IsIrreducible s} = {P | P.IsPrime} 
goal: PrimeSpectrum.vanishingIdeal '' {s | IsIrreducible s} = {P | P.IsPrime}

full_name: PrimeSpectrum.vanishingIdeal_isClosed_isIrreducible
code: lemma vanishingIdeal_isClosed_isIrreducible :
    vanishingIdeal (R := R) '' {s | IsClosed s ∧ IsIrreducible s} = {P | P.IsPrime} 
goal: PrimeSpectrum.vanishingIdeal '' {s | IsClosed s ∧ IsIrreducible s} = {P | P.IsPrime}

full_name: PrimeSpectrum.irreducibleSpace
code: instance irreducibleSpace [IsDomain R] : IrreducibleSpace (PrimeSpectrum R) 
goal: IrreducibleSpace (PrimeSpectrum R)

full_name: PrimeSpectrum.quasiSober
code: instance quasiSober : QuasiSober (PrimeSpectrum R) 
goal: QuasiSober (PrimeSpectrum R)

full_name: PrimeSpectrum.compactSpace
code: /-- The prime spectrum of a commutative (semi)ring is a compact topological space. -/
instance compactSpace : CompactSpace (PrimeSpectrum R) 
goal: CompactSpace (PrimeSpectrum R)

full_name: PrimeSpectrum.preimage_comap_zeroLocus_aux
code: theorem preimage_comap_zeroLocus_aux (f : R →+* S) (s : Set R) :
    (fun y => ⟨Ideal.comap f y.asIdeal, inferInstance⟩ : PrimeSpectrum S → PrimeSpectrum R) ⁻¹'
        zeroLocus s =
      zeroLocus (f '' s) 
goal: (fun y => { asIdeal := Ideal.comap f y.asIdeal, isPrime := ⋯ }) ⁻¹' PrimeSpectrum.zeroLocus s =
  PrimeSpectrum.zeroLocus (⇑f '' s)

full_name: PrimeSpectrum.comap
code: /-- The function between prime spectra of commutative (semi)rings induced by a ring homomorphism.
This function is continuous. -/
def comap (f : R →+* S) : C(PrimeSpectrum S, PrimeSpectrum R) 
goal: C(PrimeSpectrum S, PrimeSpectrum R)

full_name: PrimeSpectrum.comap_asIdeal
code: @[simp]
theorem comap_asIdeal (y : PrimeSpectrum S) : (comap f y).asIdeal = Ideal.comap f y.asIdeal 
goal: ((PrimeSpectrum.comap f) y).asIdeal = Ideal.comap f y.asIdeal

full_name: PrimeSpectrum.comap_id
code: @[simp]
theorem comap_id : comap (RingHom.id R) = ContinuousMap.id _ 
goal: PrimeSpectrum.comap (RingHom.id R) = ContinuousMap.id (PrimeSpectrum R)

full_name: PrimeSpectrum.comap_comp
code: @[simp]
theorem comap_comp (f : R →+* S) (g : S →+* S') : comap (g.comp f) = (comap f).comp (comap g) 
goal: PrimeSpectrum.comap (g.comp f) = (PrimeSpectrum.comap f).comp (PrimeSpectrum.comap g)

full_name: PrimeSpectrum.comap_comp_apply
code: theorem comap_comp_apply (f : R →+* S) (g : S →+* S') (x : PrimeSpectrum S') :
    PrimeSpectrum.comap (g.comp f) x = (PrimeSpectrum.comap f) (PrimeSpectrum.comap g x) 
goal: (PrimeSpectrum.comap (g.comp f)) x = (PrimeSpectrum.comap f) ((PrimeSpectrum.comap g) x)

full_name: PrimeSpectrum.preimage_comap_zeroLocus
code: @[simp]
theorem preimage_comap_zeroLocus (s : Set R) : comap f ⁻¹' zeroLocus s = zeroLocus (f '' s) 
goal: ⇑(PrimeSpectrum.comap f) ⁻¹' PrimeSpectrum.zeroLocus s = PrimeSpectrum.zeroLocus (⇑f '' s)

full_name: PrimeSpectrum.comap_injective_of_surjective
code: theorem comap_injective_of_surjective (f : R →+* S) (hf : Function.Surjective f) :
    Function.Injective (comap f) 
goal: Function.Injective ⇑(PrimeSpectrum.comap f)

full_name: PrimeSpectrum.localization_comap_inducing
code: theorem localization_comap_inducing [Algebra R S] (M : Submonoid R) [IsLocalization M S] :
    Inducing (comap (algebraMap R S)) 
goal: Inducing ⇑(PrimeSpectrum.comap (algebraMap R S))

full_name: PrimeSpectrum.localization_comap_injective
code: theorem localization_comap_injective [Algebra R S] (M : Submonoid R) [IsLocalization M S] :
    Function.Injective (comap (algebraMap R S)) 
goal: Function.Injective ⇑(PrimeSpectrum.comap (algebraMap R S))

full_name: PrimeSpectrum.localization_comap_embedding
code: theorem localization_comap_embedding [Algebra R S] (M : Submonoid R) [IsLocalization M S] :
    Embedding (comap (algebraMap R S)) 
goal: Embedding ⇑(PrimeSpectrum.comap (algebraMap R S))

full_name: PrimeSpectrum.localization_comap_range
code: theorem localization_comap_range [Algebra R S] (M : Submonoid R) [IsLocalization M S] :
    Set.range (comap (algebraMap R S)) = { p | Disjoint (M : Set R) p.asIdeal } 
goal: Set.range ⇑(PrimeSpectrum.comap (algebraMap R S)) = {p | Disjoint ↑M ↑p.asIdeal}

full_name: PrimeSpectrum.comap_inducing_of_surjective
code: theorem comap_inducing_of_surjective (hf : Surjective f) : Inducing (comap f) 
goal: Inducing ⇑(PrimeSpectrum.comap f)

full_name: PrimeSpectrum.comap_singleton_isClosed_of_surjective
code: theorem comap_singleton_isClosed_of_surjective (f : R →+* S) (hf : Function.Surjective f)
    (x : PrimeSpectrum S) (hx : IsClosed ({x} : Set (PrimeSpectrum S))) :
    IsClosed ({comap f x} : Set (PrimeSpectrum R)) 
goal: IsClosed {(PrimeSpectrum.comap f) x}

full_name: PrimeSpectrum.comap_singleton_isClosed_of_isIntegral
code: theorem comap_singleton_isClosed_of_isIntegral (f : R →+* S) (hf : f.IsIntegral)
    (x : PrimeSpectrum S) (hx : IsClosed ({x} : Set (PrimeSpectrum S))) :
    IsClosed ({comap f x} : Set (PrimeSpectrum R)) 
goal: IsClosed {(PrimeSpectrum.comap f) x}

full_name: PrimeSpectrum.image_comap_zeroLocus_eq_zeroLocus_comap
code: theorem image_comap_zeroLocus_eq_zeroLocus_comap (hf : Surjective f) (I : Ideal S) :
    comap f '' zeroLocus I = zeroLocus (I.comap f) 
goal: ⇑(PrimeSpectrum.comap f) '' PrimeSpectrum.zeroLocus ↑I = PrimeSpectrum.zeroLocus ↑(Ideal.comap f I)

full_name: PrimeSpectrum.range_comap_of_surjective
code: theorem range_comap_of_surjective (hf : Surjective f) :
    Set.range (comap f) = zeroLocus (ker f) 
goal: Set.range ⇑(PrimeSpectrum.comap f) = PrimeSpectrum.zeroLocus ↑(RingHom.ker f)

full_name: PrimeSpectrum.isClosed_range_comap_of_surjective
code: theorem isClosed_range_comap_of_surjective (hf : Surjective f) :
    IsClosed (Set.range (comap f)) 
goal: IsClosed (Set.range ⇑(PrimeSpectrum.comap f))

full_name: PrimeSpectrum.closedEmbedding_comap_of_surjective
code: theorem closedEmbedding_comap_of_surjective (hf : Surjective f) : ClosedEmbedding (comap f) 
goal: ClosedEmbedding ⇑(PrimeSpectrum.comap f)

full_name: PrimeSpectrum.primeSpectrumProd_symm_inl
code: lemma primeSpectrumProd_symm_inl (x) :
    (primeSpectrumProd R S).symm (.inl x) = comap (RingHom.fst R S) x 
goal: (PrimeSpectrum.primeSpectrumProd R S).symm (Sum.inl x) = (PrimeSpectrum.comap (RingHom.fst R S)) x

full_name: PrimeSpectrum.primeSpectrumProd_symm_inr
code: lemma primeSpectrumProd_symm_inr (x) :
    (primeSpectrumProd R S).symm (.inr x) = comap (RingHom.snd R S) x 
goal: (PrimeSpectrum.primeSpectrumProd R S).symm (Sum.inr x) = (PrimeSpectrum.comap (RingHom.snd R S)) x

full_name: PrimeSpectrum.primeSpectrumProdHomeo
code: /-- The prime spectrum of `R × S` is homeomorphic
to the disjoint union of `PrimeSpectrum R` and `PrimeSpectrum S`. -/
noncomputable
def primeSpectrumProdHomeo :
    PrimeSpectrum (R × S) ≃ₜ PrimeSpectrum R ⊕ PrimeSpectrum S 
goal: PrimeSpectrum (R × S) ≃ₜ PrimeSpectrum R ⊕ PrimeSpectrum S

full_name: PrimeSpectrum.basicOpen
code: /-- `basicOpen r` is the open subset containing all prime ideals not containing `r`. -/
def basicOpen (r : R) : TopologicalSpace.Opens (PrimeSpectrum R) 
goal: TopologicalSpace.Opens (PrimeSpectrum R)

full_name: PrimeSpectrum.mem_basicOpen
code: @[simp]
theorem mem_basicOpen (f : R) (x : PrimeSpectrum R) : x ∈ basicOpen f ↔ f ∉ x.asIdeal 
goal: x ∈ PrimeSpectrum.basicOpen f ↔ f ∉ x.asIdeal

full_name: PrimeSpectrum.isOpen_basicOpen
code: theorem isOpen_basicOpen {a : R} : IsOpen (basicOpen a : Set (PrimeSpectrum R)) 
goal: IsOpen ↑(PrimeSpectrum.basicOpen a)

full_name: PrimeSpectrum.basicOpen_eq_zeroLocus_compl
code: @[simp]
theorem basicOpen_eq_zeroLocus_compl (r : R) :
    (basicOpen r : Set (PrimeSpectrum R)) = (zeroLocus {r})ᶜ 
goal: ↑(PrimeSpectrum.basicOpen r) = (PrimeSpectrum.zeroLocus {r})ᶜ

full_name: PrimeSpectrum.basicOpen_one
code: @[simp]
theorem basicOpen_one : basicOpen (1 : R) = ⊤ 
goal: PrimeSpectrum.basicOpen 1 = ⊤

full_name: PrimeSpectrum.basicOpen_zero
code: @[simp]
theorem basicOpen_zero : basicOpen (0 : R) = ⊥ 
goal: PrimeSpectrum.basicOpen 0 = ⊥

full_name: PrimeSpectrum.basicOpen_le_basicOpen_iff
code: theorem basicOpen_le_basicOpen_iff (f g : R) :
    basicOpen f ≤ basicOpen g ↔ f ∈ (Ideal.span ({g} : Set R)).radical 
goal: PrimeSpectrum.basicOpen f ≤ PrimeSpectrum.basicOpen g ↔ f ∈ (Ideal.span {g}).radical

full_name: PrimeSpectrum.basicOpen_mul
code: theorem basicOpen_mul (f g : R) : basicOpen (f * g) = basicOpen f ⊓ basicOpen g 
goal: PrimeSpectrum.basicOpen (f * g) = PrimeSpectrum.basicOpen f ⊓ PrimeSpectrum.basicOpen g

full_name: PrimeSpectrum.basicOpen_mul_le_left
code: theorem basicOpen_mul_le_left (f g : R) : basicOpen (f * g) ≤ basicOpen f 
goal: PrimeSpectrum.basicOpen (f * g) ≤ PrimeSpectrum.basicOpen f

full_name: PrimeSpectrum.basicOpen_mul_le_right
code: theorem basicOpen_mul_le_right (f g : R) : basicOpen (f * g) ≤ basicOpen g 
goal: PrimeSpectrum.basicOpen (f * g) ≤ PrimeSpectrum.basicOpen g

full_name: PrimeSpectrum.basicOpen_pow
code: @[simp]
theorem basicOpen_pow (f : R) (n : ℕ) (hn : 0 < n) : basicOpen (f ^ n) = basicOpen f 
goal: PrimeSpectrum.basicOpen (f ^ n) = PrimeSpectrum.basicOpen f

full_name: PrimeSpectrum.isTopologicalBasis_basic_opens
code: theorem isTopologicalBasis_basic_opens :
    TopologicalSpace.IsTopologicalBasis
      (Set.range fun r : R => (basicOpen r : Set (PrimeSpectrum R))) 
goal: TopologicalSpace.IsTopologicalBasis (Set.range fun r => ↑(PrimeSpectrum.basicOpen r))

full_name: PrimeSpectrum.isBasis_basic_opens
code: theorem isBasis_basic_opens : TopologicalSpace.Opens.IsBasis (Set.range (@basicOpen R _)) 
goal: TopologicalSpace.Opens.IsBasis (Set.range PrimeSpectrum.basicOpen)

full_name: PrimeSpectrum.basicOpen_eq_bot_iff
code: @[simp]
theorem basicOpen_eq_bot_iff (f : R) : basicOpen f = ⊥ ↔ IsNilpotent f 
goal: PrimeSpectrum.basicOpen f = ⊥ ↔ IsNilpotent f

full_name: PrimeSpectrum.localization_away_comap_range
code: theorem localization_away_comap_range (S : Type v) [CommSemiring S] [Algebra R S] (r : R)
    [IsLocalization.Away r S] : Set.range (comap (algebraMap R S)) = basicOpen r 
goal: Set.range ⇑(PrimeSpectrum.comap (algebraMap R S)) = ↑(PrimeSpectrum.basicOpen r)

full_name: PrimeSpectrum.localization_away_openEmbedding
code: theorem localization_away_openEmbedding (S : Type v) [CommSemiring S] [Algebra R S] (r : R)
    [IsLocalization.Away r S] : OpenEmbedding (comap (algebraMap R S)) 
goal: OpenEmbedding ⇑(PrimeSpectrum.comap (algebraMap R S))

full_name: PrimeSpectrum.isCompact_basicOpen
code: theorem isCompact_basicOpen (f : R) : IsCompact (basicOpen f : Set (PrimeSpectrum R)) 
goal: IsCompact ↑(PrimeSpectrum.basicOpen f)

full_name: PrimeSpectrum.comap_basicOpen
code: lemma comap_basicOpen (f : R →+* S) (x : R) :
    TopologicalSpace.Opens.comap (comap f) (basicOpen x) = basicOpen (f x) 
goal: (TopologicalSpace.Opens.comap (PrimeSpectrum.comap f)) (PrimeSpectrum.basicOpen x) = PrimeSpectrum.basicOpen (f x)

full_name: PrimeSpectrum.iSup_basicOpen_eq_top_iff
code: lemma iSup_basicOpen_eq_top_iff {ι : Type*} {f : ι → R} :
    (⨆ i : ι, PrimeSpectrum.basicOpen (f i)) = ⊤ ↔ Ideal.span (Set.range f) = ⊤ 
goal: ⨆ i, PrimeSpectrum.basicOpen (f i) = ⊤ ↔ Ideal.span (Set.range f) = ⊤

full_name: PrimeSpectrum.iSup_basicOpen_eq_top_iff'
code: lemma iSup_basicOpen_eq_top_iff' {s : Set R} :
    (⨆ i ∈ s, PrimeSpectrum.basicOpen i) = ⊤ ↔ Ideal.span s = ⊤ 
goal: ⨆ i ∈ s, PrimeSpectrum.basicOpen i = ⊤ ↔ Ideal.span s = ⊤

full_name: PrimeSpectrum.le_iff_mem_closure
code: theorem le_iff_mem_closure (x y : PrimeSpectrum R) :
    x ≤ y ↔ y ∈ closure ({x} : Set (PrimeSpectrum R)) 
goal: x ≤ y ↔ y ∈ closure {x}

full_name: PrimeSpectrum.le_iff_specializes
code: theorem le_iff_specializes (x y : PrimeSpectrum R) : x ≤ y ↔ x ⤳ y 
goal: x ≤ y ↔ x ⤳ y

full_name: PrimeSpectrum.nhdsOrderEmbedding
code: /-- `nhds` as an order embedding. -/
@[simps!]
def nhdsOrderEmbedding : PrimeSpectrum R ↪o Filter (PrimeSpectrum R) 
goal: PrimeSpectrum R ↪o Filter (PrimeSpectrum R)

full_name: PrimeSpectrum.nhdsOrderEmbedding_apply
code: /-- `nhds` as an order embedding. -/
@[simps!]
def nhdsOrderEmbedding : PrimeSpectrum R ↪o Filter (PrimeSpectrum R) 
goal: PrimeSpectrum.nhdsOrderEmbedding x = nhds x

full_name: PrimeSpectrum.instT0Space
code: instance : T0Space (PrimeSpectrum R) 
goal: T0Space (PrimeSpectrum R)

full_name: PrimeSpectrum.localizationMapOfSpecializes
code: /-- If `x` specializes to `y`, then there is a natural map from the localization of `y` to the
localization of `x`. -/
def localizationMapOfSpecializes {x y : PrimeSpectrum R} (h : x ⤳ y) :
    Localization.AtPrime y.asIdeal →+* Localization.AtPrime x.asIdeal 
goal: Localization.AtPrime y.asIdeal →+* Localization.AtPrime x.asIdeal

full_name: PrimeSpectrum.pointsEquivIrreducibleCloseds
code: /--
Zero loci of prime ideals are closed irreducible sets in the Zariski topology and any closed
irreducible set is a zero locus of some prime ideal.
-/
protected def pointsEquivIrreducibleCloseds :
    PrimeSpectrum R ≃o (TopologicalSpace.IrreducibleCloseds (PrimeSpectrum R))ᵒᵈ 
goal: PrimeSpectrum R ≃o (TopologicalSpace.IrreducibleCloseds (PrimeSpectrum R))ᵒᵈ

full_name: PrimeSpectrum.primeSpectrum_unique_of_localization_at_minimal
code: /--
Localizations at minimal primes have single-point prime spectra.
-/
def primeSpectrum_unique_of_localization_at_minimal (h : I ∈ minimalPrimes R) :
    Unique (PrimeSpectrum (Localization.AtPrime I)) 
goal: Unique (PrimeSpectrum (Localization.AtPrime I))

full_name: minimalPrimes.equivIrreducibleComponents
code: /--
[Stacks: Lemma 00ES (3)](https://stacks.math.columbia.edu/tag/00ES)
Zero loci of minimal prime ideals of `R` are irreducible components in `Spec R` and any
irreducible component is a zero locus of some minimal prime ideal.
-/
protected def minimalPrimes.equivIrreducibleComponents :
    minimalPrimes R ≃o (irreducibleComponents <| PrimeSpectrum R)ᵒᵈ 
goal: ↑(minimalPrimes R) ≃o (↑(irreducibleComponents (PrimeSpectrum R)))ᵒᵈ

full_name: PrimeSpectrum.vanishingIdeal_irreducibleComponents
code: lemma vanishingIdeal_irreducibleComponents :
    vanishingIdeal '' (irreducibleComponents <| PrimeSpectrum R) =
    minimalPrimes R 
goal: PrimeSpectrum.vanishingIdeal '' irreducibleComponents (PrimeSpectrum R) = minimalPrimes R

full_name: PrimeSpectrum.zeroLocus_minimalPrimes
code: lemma zeroLocus_minimalPrimes :
    zeroLocus ∘ (↑) '' minimalPrimes R =
    irreducibleComponents (PrimeSpectrum R) 
goal: PrimeSpectrum.zeroLocus ∘ SetLike.coe '' minimalPrimes R = irreducibleComponents (PrimeSpectrum R)

full_name: PrimeSpectrum.vanishingIdeal_mem_minimalPrimes
code: lemma vanishingIdeal_mem_minimalPrimes {s : Set (PrimeSpectrum R)} :
    vanishingIdeal s ∈ minimalPrimes R ↔ closure s ∈ irreducibleComponents (PrimeSpectrum R) 
goal: PrimeSpectrum.vanishingIdeal s ∈ minimalPrimes R ↔ closure s ∈ irreducibleComponents (PrimeSpectrum R)

full_name: PrimeSpectrum.zeroLocus_ideal_mem_irreducibleComponents
code: lemma zeroLocus_ideal_mem_irreducibleComponents {I : Ideal R} :
    zeroLocus I ∈ irreducibleComponents (PrimeSpectrum R) ↔ I.radical ∈ minimalPrimes R 
goal: PrimeSpectrum.zeroLocus ↑I ∈ irreducibleComponents (PrimeSpectrum R) ↔ I.radical ∈ minimalPrimes R

full_name: LocalRing.closedPoint
code: /-- The closed point in the prime spectrum of a local ring. -/
def closedPoint : PrimeSpectrum R 
goal: PrimeSpectrum R

full_name: LocalRing.isLocalRingHom_iff_comap_closedPoint
code: theorem isLocalRingHom_iff_comap_closedPoint {S : Type v} [CommSemiring S] [LocalRing S]
    (f : R →+* S) : IsLocalRingHom f ↔ PrimeSpectrum.comap f (closedPoint S) = closedPoint R 
goal: IsLocalRingHom f ↔ (PrimeSpectrum.comap f) (LocalRing.closedPoint S) = LocalRing.closedPoint R

full_name: LocalRing.comap_closedPoint
code: @[simp]
theorem comap_closedPoint {S : Type v} [CommSemiring S] [LocalRing S] (f : R →+* S)
    [IsLocalRingHom f] : PrimeSpectrum.comap f (closedPoint S) = closedPoint R 
goal: (PrimeSpectrum.comap f) (LocalRing.closedPoint S) = LocalRing.closedPoint R

full_name: LocalRing.specializes_closedPoint
code: theorem specializes_closedPoint (x : PrimeSpectrum R) : x ⤳ closedPoint R 
goal: x ⤳ LocalRing.closedPoint R

full_name: LocalRing.closedPoint_mem_iff
code: theorem closedPoint_mem_iff (U : TopologicalSpace.Opens <| PrimeSpectrum R) :
    closedPoint R ∈ U ↔ U = ⊤ 
goal: LocalRing.closedPoint R ∈ U ↔ U = ⊤

full_name: LocalRing.PrimeSpectrum.comap_residue
code: @[simp]
theorem PrimeSpectrum.comap_residue (T : Type u) [CommRing T] [LocalRing T]
    (x : PrimeSpectrum (ResidueField T)) : PrimeSpectrum.comap (residue T) x = closedPoint T 
goal: (PrimeSpectrum.comap (LocalRing.residue T)) x = LocalRing.closedPoint T