algebraic_geometry.prime_spectrum.basicMathlib.AlgebraicGeometry.PrimeSpectrum.Basic

This file has been ported!

Changes since the initial port

The following section lists changes to this file in mathlib3 and mathlib4 that occured after the initial port. Most recent changes are shown first. Hovering over a commit will show all commits associated with the same mathlib3 commit.

Changes in mathlib3

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(last sync)

Changes in mathlib3port

mathlib3
mathlib3port
Diff
@@ -8,7 +8,7 @@ import LinearAlgebra.Finsupp
 import RingTheory.Ideal.Over
 import RingTheory.Ideal.Prod
 import RingTheory.Localization.Away.Basic
-import RingTheory.Nilpotent
+import RingTheory.Nilpotent.Defs
 import Topology.Sets.Closeds
 import Topology.Sober
 
Diff
@@ -3,7 +3,7 @@ Copyright (c) 2020 Johan Commelin. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Johan Commelin
 -/
-import Algebra.PunitInstances
+import Algebra.PUnitInstances
 import LinearAlgebra.Finsupp
 import RingTheory.Ideal.Over
 import RingTheory.Ideal.Prod
Diff
@@ -925,7 +925,7 @@ theorem isClosed_range_comap_of_surjective (hf : Surjective f) : IsClosed (Set.r
 theorem closedEmbedding_comap_of_surjective (hf : Surjective f) : ClosedEmbedding (comap f) :=
   { induced := (comap_inducing_of_surjective S f hf).induced
     inj := comap_injective_of_surjective f hf
-    closed_range := isClosed_range_comap_of_surjective S f hf }
+    isClosed_range := isClosed_range_comap_of_surjective S f hf }
 #align prime_spectrum.closed_embedding_comap_of_surjective PrimeSpectrum.closedEmbedding_comap_of_surjective
 -/
 
Diff
@@ -105,7 +105,7 @@ noncomputable def primeSpectrumProd :
       (by
         constructor
         · rintro (⟨I, hI⟩ | ⟨J, hJ⟩) (⟨I', hI'⟩ | ⟨J', hJ'⟩) h <;>
-            simp only [Ideal.prod.ext_iff, prime_spectrum_prod_of_sum] at h 
+            simp only [Ideal.prod.ext_iff, prime_spectrum_prod_of_sum] at h
           · simp only [h]
           · exact False.elim (hI.ne_top h.left)
           · exact False.elim (hJ.ne_top h.right)
@@ -349,7 +349,7 @@ theorem zeroLocus_empty_of_one_mem {s : Set R} (h : (1 : R) ∈ s) : zeroLocus s
   by
   rw [Set.eq_empty_iff_forall_not_mem]
   intro x hx
-  rw [mem_zero_locus] at hx 
+  rw [mem_zero_locus] at hx
   have x_prime : x.as_ideal.is_prime := by infer_instance
   have eq_top : x.as_ideal = ⊤ := by rw [Ideal.eq_top_iff_one]; exact hx h
   apply x_prime.ne_top eq_top
@@ -487,7 +487,7 @@ theorem sup_vanishingIdeal_le (t t' : Set (PrimeSpectrum R)) :
   intro r
   rw [Submodule.mem_sup, mem_vanishing_ideal]
   rintro ⟨f, hf, g, hg, rfl⟩ x ⟨hxt, hxt'⟩
-  rw [mem_vanishing_ideal] at hf hg 
+  rw [mem_vanishing_ideal] at hf hg
   apply Submodule.add_mem <;> solve_by_elim
 #align prime_spectrum.sup_vanishing_ideal_le PrimeSpectrum.sup_vanishingIdeal_le
 -/
@@ -555,7 +555,7 @@ theorem isClosed_singleton_iff_isMaximal (x : PrimeSpectrum R) :
   by
   refine' (is_closed_iff_zero_locus _).trans ⟨fun h => _, fun h => _⟩
   · obtain ⟨s, hs⟩ := h
-    rw [eq_comm, Set.eq_singleton_iff_unique_mem] at hs 
+    rw [eq_comm, Set.eq_singleton_iff_unique_mem] at hs
     refine'
       ⟨⟨x.2.1, fun I hI =>
           Classical.not_not.1
@@ -577,8 +577,8 @@ theorem zeroLocus_vanishingIdeal_eq_closure (t : Set (PrimeSpectrum R)) :
   by
   apply Set.Subset.antisymm
   · rintro x hx t' ⟨ht', ht⟩
-    obtain ⟨fs, rfl⟩ : ∃ s, t' = zero_locus s := by rwa [is_closed_iff_zero_locus] at ht' 
-    rw [subset_zero_locus_iff_subset_vanishing_ideal] at ht 
+    obtain ⟨fs, rfl⟩ : ∃ s, t' = zero_locus s := by rwa [is_closed_iff_zero_locus] at ht'
+    rw [subset_zero_locus_iff_subset_vanishing_ideal] at ht
     exact Set.Subset.trans ht hx
   · rw [(is_closed_zero_locus _).closure_subset_iff]
     exact subset_zero_locus_vanishing_ideal t
@@ -827,8 +827,8 @@ theorem localization_comap_injective [Algebra R S] (M : Submonoid R) [IsLocaliza
   by
   intro p q h
   replace h := congr_arg (fun x : PrimeSpectrum R => Ideal.map (algebraMap R S) x.asIdeal) h
-  dsimp only at h 
-  erw [IsLocalization.map_comap M S, IsLocalization.map_comap M S] at h 
+  dsimp only at h
+  erw [IsLocalization.map_comap M S, IsLocalization.map_comap M S] at h
   ext1
   exact h
 #align prime_spectrum.localization_comap_injective PrimeSpectrum.localization_comap_injective
@@ -1021,7 +1021,7 @@ theorem isTopologicalBasis_basic_opens :
   · rintro _ ⟨r, rfl⟩
     exact is_open_basic_open
   · rintro p U hp ⟨s, hs⟩
-    rw [← compl_compl U, Set.mem_compl_iff, ← hs, mem_zero_locus, Set.not_subset] at hp 
+    rw [← compl_compl U, Set.mem_compl_iff, ← hs, mem_zero_locus, Set.not_subset] at hp
     obtain ⟨f, hfs, hfp⟩ := hp
     refine' ⟨basic_open f, ⟨f, rfl⟩, hfp, _⟩
     rw [← Set.compl_subset_compl, ← hs, basic_open_eq_zero_locus_compl, compl_compl]
@@ -1046,7 +1046,7 @@ theorem isCompact_basicOpen (f : R) : IsCompact (basicOpen f : Set (PrimeSpectru
     have hI : ∀ i, Z i = zero_locus (I i) := fun i => by
       simpa only [zero_locus_vanishing_ideal_eq_closure] using (hZc i).closure_eq.symm
     rw [basic_open_eq_zero_locus_compl f, Set.inter_comm, ← Set.diff_eq, Set.diff_eq_empty,
-      funext hI, ← zero_locus_supr] at hZ 
+      funext hI, ← zero_locus_supr] at hZ
     obtain ⟨n, hn⟩ : f ∈ (⨆ i : ι, I i).radical :=
       by
       rw [← vanishing_ideal_zero_locus_eq_radical]
@@ -1179,7 +1179,7 @@ def localizationMapOfSpecializes {x y : PrimeSpectrum R} (h : x ⤳ y) :
     (by
       rintro ⟨a, ha⟩
       rw [← PrimeSpectrum.le_iff_specializes, ← as_ideal_le_as_ideal, ← SetLike.coe_subset_coe, ←
-        Set.compl_subset_compl] at h 
+        Set.compl_subset_compl] at h
       exact (IsLocalization.map_units _ ⟨a, show a ∈ x.as_ideal.prime_compl from h ha⟩ : _))
 #align prime_spectrum.localization_map_of_specializes PrimeSpectrum.localizationMapOfSpecializes
 -/
Diff
@@ -1017,7 +1017,7 @@ theorem isTopologicalBasis_basic_opens :
     TopologicalSpace.IsTopologicalBasis
       (Set.range fun r : R => (basicOpen r : Set (PrimeSpectrum R))) :=
   by
-  apply TopologicalSpace.isTopologicalBasis_of_open_of_nhds
+  apply TopologicalSpace.isTopologicalBasis_of_isOpen_of_nhds
   · rintro _ ⟨r, rfl⟩
     exact is_open_basic_open
   · rintro p U hp ⟨s, hs⟩
Diff
@@ -675,7 +675,7 @@ theorem isIrreducible_zeroLocus_iff_of_radical (I : Ideal R) (hI : I.IsRadical)
         refine' fun h x y h' => h _ _ _
         rw [← hI.radical_le_iff] at h' ⊢
         simpa only [Ideal.radical_inf, Ideal.radical_mul] using h'
-      · simp_rw [or_iff_not_imp_left, SetLike.not_le_iff_exists]
+      · simp_rw [Classical.or_iff_not_imp_left, SetLike.not_le_iff_exists]
         rintro h s t h' ⟨x, hx, hx'⟩ y hy
         exact h (h' ⟨Ideal.mul_mem_right _ _ hx, Ideal.mul_mem_left _ _ hy⟩) hx'
 #align prime_spectrum.is_irreducible_zero_locus_iff_of_radical PrimeSpectrum.isIrreducible_zeroLocus_iff_of_radical
Diff
@@ -79,12 +79,10 @@ instance [Nontrivial R] : Nonempty <| PrimeSpectrum R :=
   let ⟨I, hI⟩ := Ideal.exists_maximal R
   ⟨⟨I, hI.IsPrime⟩⟩
 
-#print PrimeSpectrum.punit /-
 /-- The prime spectrum of the zero ring is empty. -/
-theorem punit (x : PrimeSpectrum PUnit) : False :=
+theorem pUnit (x : PrimeSpectrum PUnit) : False :=
   x.1.ne_top_iff_one.1 x.2.1 <| Subsingleton.elim (0 : PUnit) 1 ▸ x.1.zero_mem
-#align prime_spectrum.punit PrimeSpectrum.punit
--/
+#align prime_spectrum.punit PrimeSpectrum.pUnit
 
 variable (R S)
 
Diff
@@ -3,14 +3,14 @@ Copyright (c) 2020 Johan Commelin. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Johan Commelin
 -/
-import Mathbin.Algebra.PunitInstances
-import Mathbin.LinearAlgebra.Finsupp
-import Mathbin.RingTheory.Ideal.Over
-import Mathbin.RingTheory.Ideal.Prod
-import Mathbin.RingTheory.Localization.Away.Basic
-import Mathbin.RingTheory.Nilpotent
-import Mathbin.Topology.Sets.Closeds
-import Mathbin.Topology.Sober
+import Algebra.PunitInstances
+import LinearAlgebra.Finsupp
+import RingTheory.Ideal.Over
+import RingTheory.Ideal.Prod
+import RingTheory.Localization.Away.Basic
+import RingTheory.Nilpotent
+import Topology.Sets.Closeds
+import Topology.Sober
 
 #align_import algebraic_geometry.prime_spectrum.basic from "leanprover-community/mathlib"@"a87d22575d946e1e156fc1edd1e1269600a8a282"
 
Diff
@@ -79,11 +79,11 @@ instance [Nontrivial R] : Nonempty <| PrimeSpectrum R :=
   let ⟨I, hI⟩ := Ideal.exists_maximal R
   ⟨⟨I, hI.IsPrime⟩⟩
 
-#print PrimeSpectrum.pUnit /-
+#print PrimeSpectrum.punit /-
 /-- The prime spectrum of the zero ring is empty. -/
-theorem pUnit (x : PrimeSpectrum PUnit) : False :=
+theorem punit (x : PrimeSpectrum PUnit) : False :=
   x.1.ne_top_iff_one.1 x.2.1 <| Subsingleton.elim (0 : PUnit) 1 ▸ x.1.zero_mem
-#align prime_spectrum.punit PrimeSpectrum.pUnit
+#align prime_spectrum.punit PrimeSpectrum.punit
 -/
 
 variable (R S)
Diff
@@ -808,7 +808,7 @@ variable (S)
 theorem localization_comap_inducing [Algebra R S] (M : Submonoid R) [IsLocalization M S] :
     Inducing (comap (algebraMap R S)) := by
   constructor
-  rw [topologicalSpace_eq_iff]
+  rw [TopologicalSpace.ext_iff]
   intro U
   simp_rw [← isClosed_compl_iff]
   generalize Uᶜ = Z
@@ -871,7 +871,7 @@ theorem comap_inducing_of_surjective (hf : Surjective f) : Inducing (comap f) :=
   {
     induced :=
       by
-      simp_rw [topologicalSpace_eq_iff, ← isClosed_compl_iff, isClosed_induced_iff,
+      simp_rw [TopologicalSpace.ext_iff, ← isClosed_compl_iff, isClosed_induced_iff,
         is_closed_iff_zero_locus]
       refine' fun s =>
         ⟨fun ⟨F, hF⟩ =>
Diff
@@ -853,7 +853,7 @@ theorem localization_comap_range [Algebra R S] (M : Submonoid R) [IsLocalization
     rintro ⟨p, rfl⟩ x ⟨hx₁, hx₂⟩
     exact (p.2.1 : ¬_) (p.as_ideal.eq_top_of_is_unit_mem hx₂ (IsLocalization.map_units S ⟨x, hx₁⟩))
   · intro h
-    use ⟨x.as_ideal.map (algebraMap R S), IsLocalization.isPrime_of_isPrime_disjoint M S _ x.2 h⟩
+    use⟨x.as_ideal.map (algebraMap R S), IsLocalization.isPrime_of_isPrime_disjoint M S _ x.2 h⟩
     ext1
     exact IsLocalization.comap_map_of_isPrime_disjoint M S _ x.2 h
 #align prime_spectrum.localization_comap_range PrimeSpectrum.localization_comap_range
Diff
@@ -2,11 +2,6 @@
 Copyright (c) 2020 Johan Commelin. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Johan Commelin
-
-! This file was ported from Lean 3 source module algebraic_geometry.prime_spectrum.basic
-! leanprover-community/mathlib commit a87d22575d946e1e156fc1edd1e1269600a8a282
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathbin.Algebra.PunitInstances
 import Mathbin.LinearAlgebra.Finsupp
@@ -17,6 +12,8 @@ import Mathbin.RingTheory.Nilpotent
 import Mathbin.Topology.Sets.Closeds
 import Mathbin.Topology.Sober
 
+#align_import algebraic_geometry.prime_spectrum.basic from "leanprover-community/mathlib"@"a87d22575d946e1e156fc1edd1e1269600a8a282"
+
 /-!
 # Prime spectrum of a commutative ring
 
Diff
@@ -800,7 +800,7 @@ theorem comap_singleton_isClosed_of_isIntegral (f : R →+* S) (hf : f.IsIntegra
     (x : PrimeSpectrum S) (hx : IsClosed ({x} : Set (PrimeSpectrum S))) :
     IsClosed ({comap f x} : Set (PrimeSpectrum R)) :=
   (isClosed_singleton_iff_isMaximal _).2
-    (Ideal.isMaximal_comap_of_isIntegral_of_is_maximal' f hf x.asIdeal <|
+    (Ideal.isMaximal_comap_of_isIntegral_of_isMaximal' f hf x.asIdeal <|
       (isClosed_singleton_iff_isMaximal x).1 hx)
 #align prime_spectrum.comap_singleton_is_closed_of_is_integral PrimeSpectrum.comap_singleton_isClosed_of_isIntegral
 -/
Diff
@@ -91,13 +91,16 @@ theorem pUnit (x : PrimeSpectrum PUnit) : False :=
 
 variable (R S)
 
+#print PrimeSpectrum.primeSpectrumProdOfSum /-
 /-- The map from the direct sum of prime spectra to the prime spectrum of a direct product. -/
 @[simp]
 def primeSpectrumProdOfSum : Sum (PrimeSpectrum R) (PrimeSpectrum S) → PrimeSpectrum (R × S)
   | Sum.inl ⟨I, hI⟩ => ⟨Ideal.prod I ⊤, Ideal.isPrime_ideal_prod_top⟩
   | Sum.inr ⟨J, hJ⟩ => ⟨Ideal.prod ⊤ J, Ideal.isPrime_ideal_prod_top'⟩
 #align prime_spectrum.prime_spectrum_prod_of_sum PrimeSpectrum.primeSpectrumProdOfSum
+-/
 
+#print PrimeSpectrum.primeSpectrumProd /-
 /-- 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`. -/
 noncomputable def primeSpectrumProd :
@@ -117,18 +120,23 @@ noncomputable def primeSpectrumProd :
           · exact ⟨Sum.inl ⟨p, hp⟩, rfl⟩
           · exact ⟨Sum.inr ⟨p, hp⟩, rfl⟩)
 #align prime_spectrum.prime_spectrum_prod PrimeSpectrum.primeSpectrumProd
+-/
 
 variable {R S}
 
+#print PrimeSpectrum.primeSpectrumProd_symm_inl_asIdeal /-
 @[simp]
 theorem primeSpectrumProd_symm_inl_asIdeal (x : PrimeSpectrum R) :
     ((primeSpectrumProd R S).symm <| Sum.inl x).asIdeal = Ideal.prod x.asIdeal ⊤ := by cases x; rfl
 #align prime_spectrum.prime_spectrum_prod_symm_inl_as_ideal PrimeSpectrum.primeSpectrumProd_symm_inl_asIdeal
+-/
 
+#print PrimeSpectrum.primeSpectrumProd_symm_inr_asIdeal /-
 @[simp]
 theorem primeSpectrumProd_symm_inr_asIdeal (x : PrimeSpectrum S) :
     ((primeSpectrumProd R S).symm <| Sum.inr x).asIdeal = Ideal.prod ⊤ x.asIdeal := by cases x; rfl
 #align prime_spectrum.prime_spectrum_prod_symm_inr_as_ideal PrimeSpectrum.primeSpectrumProd_symm_inr_asIdeal
+-/
 
 #print PrimeSpectrum.zeroLocus /-
 /-- The zero locus of a set `s` of elements of a commutative ring `R` is the set of all prime ideals
@@ -197,23 +205,28 @@ theorem vanishingIdeal_singleton (x : PrimeSpectrum R) :
 #align prime_spectrum.vanishing_ideal_singleton PrimeSpectrum.vanishingIdeal_singleton
 -/
 
+#print PrimeSpectrum.subset_zeroLocus_iff_le_vanishingIdeal /-
 theorem subset_zeroLocus_iff_le_vanishingIdeal (t : Set (PrimeSpectrum R)) (I : Ideal R) :
     t ⊆ zeroLocus I ↔ I ≤ vanishingIdeal t :=
   ⟨fun h f k => (mem_vanishingIdeal _ _).mpr fun x j => (mem_zeroLocus _ _).mpr (h j) k, fun h =>
     fun x j => (mem_zeroLocus _ _).mpr (le_trans h fun f h => ((mem_vanishingIdeal _ _).mp h) x j)⟩
 #align prime_spectrum.subset_zero_locus_iff_le_vanishing_ideal PrimeSpectrum.subset_zeroLocus_iff_le_vanishingIdeal
+-/
 
 section Gc
 
 variable (R)
 
+#print PrimeSpectrum.gc /-
 /-- `zero_locus` and `vanishing_ideal` form a galois connection. -/
 theorem gc :
     @GaloisConnection (Ideal R) (Set (PrimeSpectrum R))ᵒᵈ _ _ (fun I => zeroLocus I) fun t =>
       vanishingIdeal t :=
   fun I t => subset_zeroLocus_iff_le_vanishingIdeal t I
 #align prime_spectrum.gc PrimeSpectrum.gc
+-/
 
+#print PrimeSpectrum.gc_set /-
 /-- `zero_locus` and `vanishing_ideal` form a galois connection. -/
 theorem gc_set :
     @GaloisConnection (Set R) (Set (PrimeSpectrum R))ᵒᵈ _ _ (fun s => zeroLocus s) fun t =>
@@ -222,6 +235,7 @@ theorem gc_set :
   have ideal_gc : GaloisConnection Ideal.span coe := (Submodule.gi R R).gc
   simpa [zero_locus_span, Function.comp] using ideal_gc.compose (gc R)
 #align prime_spectrum.gc_set PrimeSpectrum.gc_set
+-/
 
 #print PrimeSpectrum.subset_zeroLocus_iff_subset_vanishingIdeal /-
 theorem subset_zeroLocus_iff_subset_vanishingIdeal (t : Set (PrimeSpectrum R)) (s : Set R) :
@@ -238,9 +252,11 @@ theorem subset_vanishingIdeal_zeroLocus (s : Set R) : s ⊆ vanishingIdeal (zero
 #align prime_spectrum.subset_vanishing_ideal_zero_locus PrimeSpectrum.subset_vanishingIdeal_zeroLocus
 -/
 
+#print PrimeSpectrum.le_vanishingIdeal_zeroLocus /-
 theorem le_vanishingIdeal_zeroLocus (I : Ideal R) : I ≤ vanishingIdeal (zeroLocus I) :=
   (gc R).le_u_l I
 #align prime_spectrum.le_vanishing_ideal_zero_locus PrimeSpectrum.le_vanishingIdeal_zeroLocus
+-/
 
 #print PrimeSpectrum.vanishingIdeal_zeroLocus_eq_radical /-
 @[simp]
@@ -273,16 +289,21 @@ theorem zeroLocus_anti_mono {s t : Set R} (h : s ⊆ t) : zeroLocus t ⊆ zeroLo
 #align prime_spectrum.zero_locus_anti_mono PrimeSpectrum.zeroLocus_anti_mono
 -/
 
+#print PrimeSpectrum.zeroLocus_anti_mono_ideal /-
 theorem zeroLocus_anti_mono_ideal {s t : Ideal R} (h : s ≤ t) :
     zeroLocus (t : Set R) ⊆ zeroLocus (s : Set R) :=
   (gc R).monotone_l h
 #align prime_spectrum.zero_locus_anti_mono_ideal PrimeSpectrum.zeroLocus_anti_mono_ideal
+-/
 
+#print PrimeSpectrum.vanishingIdeal_anti_mono /-
 theorem vanishingIdeal_anti_mono {s t : Set (PrimeSpectrum R)} (h : s ⊆ t) :
     vanishingIdeal t ≤ vanishingIdeal s :=
   (gc R).monotone_u h
 #align prime_spectrum.vanishing_ideal_anti_mono PrimeSpectrum.vanishingIdeal_anti_mono
+-/
 
+#print PrimeSpectrum.zeroLocus_subset_zeroLocus_iff /-
 theorem zeroLocus_subset_zeroLocus_iff (I J : Ideal R) :
     zeroLocus (I : Set R) ⊆ zeroLocus (J : Set R) ↔ J ≤ I.radical :=
   ⟨fun h =>
@@ -291,6 +312,7 @@ theorem zeroLocus_subset_zeroLocus_iff (I J : Ideal R) :
         vanishingIdeal_zeroLocus_eq_radical J ▸ vanishingIdeal_anti_mono h),
     fun h => zeroLocus_radical I ▸ zeroLocus_anti_mono_ideal h⟩
 #align prime_spectrum.zero_locus_subset_zero_locus_iff PrimeSpectrum.zeroLocus_subset_zeroLocus_iff
+-/
 
 #print PrimeSpectrum.zeroLocus_subset_zeroLocus_singleton_iff /-
 theorem zeroLocus_subset_zeroLocus_singleton_iff (f g : R) :
@@ -300,14 +322,18 @@ theorem zeroLocus_subset_zeroLocus_singleton_iff (f g : R) :
 #align prime_spectrum.zero_locus_subset_zero_locus_singleton_iff PrimeSpectrum.zeroLocus_subset_zeroLocus_singleton_iff
 -/
 
+#print PrimeSpectrum.zeroLocus_bot /-
 theorem zeroLocus_bot : zeroLocus ((⊥ : Ideal R) : Set R) = Set.univ :=
   (gc R).l_bot
 #align prime_spectrum.zero_locus_bot PrimeSpectrum.zeroLocus_bot
+-/
 
+#print PrimeSpectrum.zeroLocus_singleton_zero /-
 @[simp]
 theorem zeroLocus_singleton_zero : zeroLocus ({0} : Set R) = Set.univ :=
   zeroLocus_bot
 #align prime_spectrum.zero_locus_singleton_zero PrimeSpectrum.zeroLocus_singleton_zero
+-/
 
 #print PrimeSpectrum.zeroLocus_empty /-
 @[simp]
@@ -316,11 +342,14 @@ theorem zeroLocus_empty : zeroLocus (∅ : Set R) = Set.univ :=
 #align prime_spectrum.zero_locus_empty PrimeSpectrum.zeroLocus_empty
 -/
 
+#print PrimeSpectrum.vanishingIdeal_univ /-
 @[simp]
 theorem vanishingIdeal_univ : vanishingIdeal (∅ : Set (PrimeSpectrum R)) = ⊤ := by
   simpa using (gc R).u_top
 #align prime_spectrum.vanishing_ideal_univ PrimeSpectrum.vanishingIdeal_univ
+-/
 
+#print PrimeSpectrum.zeroLocus_empty_of_one_mem /-
 theorem zeroLocus_empty_of_one_mem {s : Set R} (h : (1 : R) ∈ s) : zeroLocus s = ∅ :=
   by
   rw [Set.eq_empty_iff_forall_not_mem]
@@ -330,12 +359,16 @@ theorem zeroLocus_empty_of_one_mem {s : Set R} (h : (1 : R) ∈ s) : zeroLocus s
   have eq_top : x.as_ideal = ⊤ := by rw [Ideal.eq_top_iff_one]; exact hx h
   apply x_prime.ne_top eq_top
 #align prime_spectrum.zero_locus_empty_of_one_mem PrimeSpectrum.zeroLocus_empty_of_one_mem
+-/
 
+#print PrimeSpectrum.zeroLocus_singleton_one /-
 @[simp]
 theorem zeroLocus_singleton_one : zeroLocus ({1} : Set R) = ∅ :=
   zeroLocus_empty_of_one_mem (Set.mem_singleton (1 : R))
 #align prime_spectrum.zero_locus_singleton_one PrimeSpectrum.zeroLocus_singleton_one
+-/
 
+#print PrimeSpectrum.zeroLocus_empty_iff_eq_top /-
 theorem zeroLocus_empty_iff_eq_top {I : Ideal R} : zeroLocus (I : Set R) = ∅ ↔ I = ⊤ :=
   by
   constructor
@@ -345,6 +378,7 @@ theorem zeroLocus_empty_iff_eq_top {I : Ideal R} : zeroLocus (I : Set R) = ∅ 
     exact Set.Nonempty.ne_empty ⟨⟨M, hM.is_prime⟩, hIM⟩
   · rintro rfl; apply zero_locus_empty_of_one_mem; trivial
 #align prime_spectrum.zero_locus_empty_iff_eq_top PrimeSpectrum.zeroLocus_empty_iff_eq_top
+-/
 
 #print PrimeSpectrum.zeroLocus_univ /-
 @[simp]
@@ -353,19 +387,25 @@ theorem zeroLocus_univ : zeroLocus (Set.univ : Set R) = ∅ :=
 #align prime_spectrum.zero_locus_univ PrimeSpectrum.zeroLocus_univ
 -/
 
+#print PrimeSpectrum.vanishingIdeal_eq_top_iff /-
 theorem vanishingIdeal_eq_top_iff {s : Set (PrimeSpectrum R)} : vanishingIdeal s = ⊤ ↔ s = ∅ := by
   rw [← top_le_iff, ← subset_zero_locus_iff_le_vanishing_ideal, Submodule.top_coe, zero_locus_univ,
     Set.subset_empty_iff]
 #align prime_spectrum.vanishing_ideal_eq_top_iff PrimeSpectrum.vanishingIdeal_eq_top_iff
+-/
 
+#print PrimeSpectrum.zeroLocus_sup /-
 theorem zeroLocus_sup (I J : Ideal R) :
     zeroLocus ((I ⊔ J : Ideal R) : Set R) = zeroLocus I ∩ zeroLocus J :=
   (gc R).l_sup
 #align prime_spectrum.zero_locus_sup PrimeSpectrum.zeroLocus_sup
+-/
 
+#print PrimeSpectrum.zeroLocus_union /-
 theorem zeroLocus_union (s s' : Set R) : zeroLocus (s ∪ s') = zeroLocus s ∩ zeroLocus s' :=
   (gc_set R).l_sup
 #align prime_spectrum.zero_locus_union PrimeSpectrum.zeroLocus_union
+-/
 
 #print PrimeSpectrum.vanishingIdeal_union /-
 theorem vanishingIdeal_union (t t' : Set (PrimeSpectrum R)) :
@@ -374,15 +414,19 @@ theorem vanishingIdeal_union (t t' : Set (PrimeSpectrum R)) :
 #align prime_spectrum.vanishing_ideal_union PrimeSpectrum.vanishingIdeal_union
 -/
 
+#print PrimeSpectrum.zeroLocus_iSup /-
 theorem zeroLocus_iSup {ι : Sort _} (I : ι → Ideal R) :
     zeroLocus ((⨆ i, I i : Ideal R) : Set R) = ⋂ i, zeroLocus (I i) :=
   (gc R).l_iSup
 #align prime_spectrum.zero_locus_supr PrimeSpectrum.zeroLocus_iSup
+-/
 
+#print PrimeSpectrum.zeroLocus_iUnion /-
 theorem zeroLocus_iUnion {ι : Sort _} (s : ι → Set R) :
     zeroLocus (⋃ i, s i) = ⋂ i, zeroLocus (s i) :=
   (gc_set R).l_iSup
 #align prime_spectrum.zero_locus_Union PrimeSpectrum.zeroLocus_iUnion
+-/
 
 #print PrimeSpectrum.zeroLocus_bUnion /-
 theorem zeroLocus_bUnion (s : Set (Set R)) :
@@ -390,30 +434,40 @@ theorem zeroLocus_bUnion (s : Set (Set R)) :
 #align prime_spectrum.zero_locus_bUnion PrimeSpectrum.zeroLocus_bUnion
 -/
 
+#print PrimeSpectrum.vanishingIdeal_iUnion /-
 theorem vanishingIdeal_iUnion {ι : Sort _} (t : ι → Set (PrimeSpectrum R)) :
     vanishingIdeal (⋃ i, t i) = ⨅ i, vanishingIdeal (t i) :=
   (gc R).u_iInf
 #align prime_spectrum.vanishing_ideal_Union PrimeSpectrum.vanishingIdeal_iUnion
+-/
 
+#print PrimeSpectrum.zeroLocus_inf /-
 theorem zeroLocus_inf (I J : Ideal R) :
     zeroLocus ((I ⊓ J : Ideal R) : Set R) = zeroLocus I ∪ zeroLocus J :=
   Set.ext fun x => x.2.inf_le
 #align prime_spectrum.zero_locus_inf PrimeSpectrum.zeroLocus_inf
+-/
 
+#print PrimeSpectrum.union_zeroLocus /-
 theorem union_zeroLocus (s s' : Set R) :
     zeroLocus s ∪ zeroLocus s' = zeroLocus (Ideal.span s ⊓ Ideal.span s' : Ideal R) := by
   rw [zero_locus_inf]; simp
 #align prime_spectrum.union_zero_locus PrimeSpectrum.union_zeroLocus
+-/
 
+#print PrimeSpectrum.zeroLocus_mul /-
 theorem zeroLocus_mul (I J : Ideal R) :
     zeroLocus ((I * J : Ideal R) : Set R) = zeroLocus I ∪ zeroLocus J :=
   Set.ext fun x => x.2.mul_le
 #align prime_spectrum.zero_locus_mul PrimeSpectrum.zeroLocus_mul
+-/
 
+#print PrimeSpectrum.zeroLocus_singleton_mul /-
 theorem zeroLocus_singleton_mul (f g : R) :
     zeroLocus ({f * g} : Set R) = zeroLocus {f} ∪ zeroLocus {g} :=
   Set.ext fun x => by simpa using x.2.mul_mem_iff_mem_or_mem
 #align prime_spectrum.zero_locus_singleton_mul PrimeSpectrum.zeroLocus_singleton_mul
+-/
 
 #print PrimeSpectrum.zeroLocus_pow /-
 @[simp]
@@ -423,12 +477,15 @@ theorem zeroLocus_pow (I : Ideal R) {n : ℕ} (hn : 0 < n) :
 #align prime_spectrum.zero_locus_pow PrimeSpectrum.zeroLocus_pow
 -/
 
+#print PrimeSpectrum.zeroLocus_singleton_pow /-
 @[simp]
 theorem zeroLocus_singleton_pow (f : R) (n : ℕ) (hn : 0 < n) :
     zeroLocus ({f ^ n} : Set R) = zeroLocus {f} :=
   Set.ext fun x => by simpa using x.2.pow_mem_iff_mem n hn
 #align prime_spectrum.zero_locus_singleton_pow PrimeSpectrum.zeroLocus_singleton_pow
+-/
 
+#print PrimeSpectrum.sup_vanishingIdeal_le /-
 theorem sup_vanishingIdeal_le (t t' : Set (PrimeSpectrum R)) :
     vanishingIdeal t ⊔ vanishingIdeal t' ≤ vanishingIdeal (t ∩ t') :=
   by
@@ -438,11 +495,14 @@ theorem sup_vanishingIdeal_le (t t' : Set (PrimeSpectrum R)) :
   rw [mem_vanishing_ideal] at hf hg 
   apply Submodule.add_mem <;> solve_by_elim
 #align prime_spectrum.sup_vanishing_ideal_le PrimeSpectrum.sup_vanishingIdeal_le
+-/
 
+#print PrimeSpectrum.mem_compl_zeroLocus_iff_not_mem /-
 theorem mem_compl_zeroLocus_iff_not_mem {f : R} {I : PrimeSpectrum R} :
     I ∈ (zeroLocus {f} : Set (PrimeSpectrum R))ᶜ ↔ f ∉ I.asIdeal := by
   rw [Set.mem_compl_iff, mem_zero_locus, Set.singleton_subset_iff] <;> rfl
 #align prime_spectrum.mem_compl_zero_locus_iff_not_mem PrimeSpectrum.mem_compl_zeroLocus_iff_not_mem
+-/
 
 #print PrimeSpectrum.zariskiTopology /-
 /-- The Zariski topology on the prime spectrum of a commutative ring is defined via the closed sets
@@ -459,9 +519,11 @@ instance zariskiTopology : TopologicalSpace (PrimeSpectrum R) :=
 #align prime_spectrum.zariski_topology PrimeSpectrum.zariskiTopology
 -/
 
+#print PrimeSpectrum.isOpen_iff /-
 theorem isOpen_iff (U : Set (PrimeSpectrum R)) : IsOpen U ↔ ∃ s, Uᶜ = zeroLocus s := by
   simp only [@eq_comm _ (Uᶜ)] <;> rfl
 #align prime_spectrum.is_open_iff PrimeSpectrum.isOpen_iff
+-/
 
 #print PrimeSpectrum.isClosed_iff_zeroLocus /-
 theorem isClosed_iff_zeroLocus (Z : Set (PrimeSpectrum R)) : IsClosed Z ↔ ∃ s, Z = zeroLocus s := by
@@ -550,6 +612,7 @@ theorem isRadical_vanishingIdeal (s : Set (PrimeSpectrum R)) : (vanishingIdeal s
 #align prime_spectrum.is_radical_vanishing_ideal PrimeSpectrum.isRadical_vanishingIdeal
 -/
 
+#print PrimeSpectrum.vanishingIdeal_anti_mono_iff /-
 theorem vanishingIdeal_anti_mono_iff {s t : Set (PrimeSpectrum R)} (ht : IsClosed t) :
     s ⊆ t ↔ vanishingIdeal t ≤ vanishingIdeal s :=
   ⟨vanishingIdeal_anti_mono, fun h =>
@@ -557,19 +620,24 @@ theorem vanishingIdeal_anti_mono_iff {s t : Set (PrimeSpectrum R)} (ht : IsClose
     rw [← ht.closure_subset_iff, ← ht.closure_eq]
     convert ← zero_locus_anti_mono_ideal h <;> apply zero_locus_vanishing_ideal_eq_closure⟩
 #align prime_spectrum.vanishing_ideal_anti_mono_iff PrimeSpectrum.vanishingIdeal_anti_mono_iff
+-/
 
+#print PrimeSpectrum.vanishingIdeal_strict_anti_mono_iff /-
 theorem vanishingIdeal_strict_anti_mono_iff {s t : Set (PrimeSpectrum R)} (hs : IsClosed s)
     (ht : IsClosed t) : s ⊂ t ↔ vanishingIdeal t < vanishingIdeal s := by
   rw [Set.ssubset_def, vanishing_ideal_anti_mono_iff hs, vanishing_ideal_anti_mono_iff ht,
     lt_iff_le_not_le]
 #align prime_spectrum.vanishing_ideal_strict_anti_mono_iff PrimeSpectrum.vanishingIdeal_strict_anti_mono_iff
+-/
 
+#print PrimeSpectrum.closedsEmbedding /-
 /-- The antitone order embedding of closed subsets of `Spec R` into ideals of `R`. -/
 def closedsEmbedding (R : Type _) [CommRing R] :
     (TopologicalSpace.Closeds <| PrimeSpectrum R)ᵒᵈ ↪o Ideal R :=
   OrderEmbedding.ofMapLEIff (fun s => vanishingIdeal s.ofDual) fun s t =>
     (vanishingIdeal_anti_mono_iff s.2).symm
 #align prime_spectrum.closeds_embedding PrimeSpectrum.closedsEmbedding
+-/
 
 #print PrimeSpectrum.t1Space_iff_isField /-
 theorem t1Space_iff_isField [IsDomain R] : T1Space (PrimeSpectrum R) ↔ IsField R :=
@@ -590,7 +658,6 @@ theorem t1Space_iff_isField [IsDomain R] : T1Space (PrimeSpectrum R) ↔ IsField
 #align prime_spectrum.t1_space_iff_is_field PrimeSpectrum.t1Space_iff_isField
 -/
 
--- mathport name: «exprZ( )»
 local notation "Z(" a ")" => zeroLocus (a : Set R)
 
 #print PrimeSpectrum.isIrreducible_zeroLocus_iff_of_radical /-
@@ -648,6 +715,7 @@ section Comap
 
 variable {S' : Type _} [CommRing S']
 
+#print PrimeSpectrum.preimage_comap_zeroLocus_aux /-
 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 =
@@ -657,6 +725,7 @@ theorem preimage_comap_zeroLocus_aux (f : R →+* S) (s : Set R) :
   simp only [mem_zero_locus, Set.image_subset_iff]
   rfl
 #align prime_spectrum.preimage_comap_zero_locus_aux PrimeSpectrum.preimage_comap_zeroLocus_aux
+-/
 
 #print PrimeSpectrum.comap /-
 /-- The function between prime spectra of commutative rings induced by a ring homomorphism.
@@ -674,10 +743,12 @@ def comap (f : R →+* S) : C(PrimeSpectrum S, PrimeSpectrum R)
 
 variable (f : R →+* S)
 
+#print PrimeSpectrum.comap_asIdeal /-
 @[simp]
 theorem comap_asIdeal (y : PrimeSpectrum S) : (comap f y).asIdeal = Ideal.comap f y.asIdeal :=
   rfl
 #align prime_spectrum.comap_as_ideal PrimeSpectrum.comap_asIdeal
+-/
 
 #print PrimeSpectrum.comap_id /-
 @[simp]
@@ -685,35 +756,46 @@ theorem comap_id : comap (RingHom.id R) = ContinuousMap.id _ := by ext; rfl
 #align prime_spectrum.comap_id PrimeSpectrum.comap_id
 -/
 
+#print PrimeSpectrum.comap_comp /-
 @[simp]
 theorem comap_comp (f : R →+* S) (g : S →+* S') : comap (g.comp f) = (comap f).comp (comap g) :=
   rfl
 #align prime_spectrum.comap_comp PrimeSpectrum.comap_comp
+-/
 
+#print PrimeSpectrum.comap_comp_apply /-
 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) :=
   rfl
 #align prime_spectrum.comap_comp_apply PrimeSpectrum.comap_comp_apply
+-/
 
+#print PrimeSpectrum.preimage_comap_zeroLocus /-
 @[simp]
 theorem preimage_comap_zeroLocus (s : Set R) : comap f ⁻¹' zeroLocus s = zeroLocus (f '' s) :=
   preimage_comap_zeroLocus_aux f s
 #align prime_spectrum.preimage_comap_zero_locus PrimeSpectrum.preimage_comap_zeroLocus
+-/
 
+#print PrimeSpectrum.comap_injective_of_surjective /-
 theorem comap_injective_of_surjective (f : R →+* S) (hf : Function.Surjective f) :
     Function.Injective (comap f) := fun x y h =>
   PrimeSpectrum.ext _ _
     (Ideal.comap_injective_of_surjective f hf
       (congr_arg PrimeSpectrum.asIdeal h : (comap f x).asIdeal = (comap f y).asIdeal))
 #align prime_spectrum.comap_injective_of_surjective PrimeSpectrum.comap_injective_of_surjective
+-/
 
+#print PrimeSpectrum.comap_singleton_isClosed_of_surjective /-
 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)) :=
   haveI : x.as_ideal.is_maximal := (is_closed_singleton_iff_is_maximal x).1 hx
   (is_closed_singleton_iff_is_maximal _).2 (Ideal.comap_isMaximal_of_surjective f hf)
 #align prime_spectrum.comap_singleton_is_closed_of_surjective PrimeSpectrum.comap_singleton_isClosed_of_surjective
+-/
 
+#print PrimeSpectrum.comap_singleton_isClosed_of_isIntegral /-
 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)) :=
@@ -721,9 +803,11 @@ theorem comap_singleton_isClosed_of_isIntegral (f : R →+* S) (hf : f.IsIntegra
     (Ideal.isMaximal_comap_of_isIntegral_of_is_maximal' f hf x.asIdeal <|
       (isClosed_singleton_iff_isMaximal x).1 hx)
 #align prime_spectrum.comap_singleton_is_closed_of_is_integral PrimeSpectrum.comap_singleton_isClosed_of_isIntegral
+-/
 
 variable (S)
 
+#print PrimeSpectrum.localization_comap_inducing /-
 theorem localization_comap_inducing [Algebra R S] (M : Submonoid R) [IsLocalization M S] :
     Inducing (comap (algebraMap R S)) := by
   constructor
@@ -740,7 +824,9 @@ theorem localization_comap_inducing [Algebra R S] (M : Submonoid R) [IsLocalizat
     exact congr_arg Submodule.carrier (IsLocalization.map_comap M S (Ideal.span s))
   · rintro ⟨_, ⟨t, rfl⟩, rfl⟩; simp
 #align prime_spectrum.localization_comap_inducing PrimeSpectrum.localization_comap_inducing
+-/
 
+#print PrimeSpectrum.localization_comap_injective /-
 theorem localization_comap_injective [Algebra R S] (M : Submonoid R) [IsLocalization M S] :
     Function.Injective (comap (algebraMap R S)) :=
   by
@@ -751,12 +837,16 @@ theorem localization_comap_injective [Algebra R S] (M : Submonoid R) [IsLocaliza
   ext1
   exact h
 #align prime_spectrum.localization_comap_injective PrimeSpectrum.localization_comap_injective
+-/
 
+#print PrimeSpectrum.localization_comap_embedding /-
 theorem localization_comap_embedding [Algebra R S] (M : Submonoid R) [IsLocalization M S] :
     Embedding (comap (algebraMap R S)) :=
   ⟨localization_comap_inducing S M, localization_comap_injective S M⟩
 #align prime_spectrum.localization_comap_embedding PrimeSpectrum.localization_comap_embedding
+-/
 
+#print PrimeSpectrum.localization_comap_range /-
 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} :=
   by
@@ -770,6 +860,7 @@ theorem localization_comap_range [Algebra R S] (M : Submonoid R) [IsLocalization
     ext1
     exact IsLocalization.comap_map_of_isPrime_disjoint M S _ x.2 h
 #align prime_spectrum.localization_comap_range PrimeSpectrum.localization_comap_range
+-/
 
 section SpecOfSurjective
 
@@ -778,6 +869,7 @@ section SpecOfSurjective
 
 open Function RingHom
 
+#print PrimeSpectrum.comap_inducing_of_surjective /-
 theorem comap_inducing_of_surjective (hf : Surjective f) : Inducing (comap f) :=
   {
     induced :=
@@ -792,7 +884,9 @@ theorem comap_inducing_of_surjective (hf : Surjective f) : Inducing (comap f) :=
       rintro ⟨-, ⟨F, rfl⟩, hF⟩
       exact ⟨f '' F, hF.symm.trans (preimage_comap_zero_locus f F)⟩ }
 #align prime_spectrum.comap_inducing_of_surjective PrimeSpectrum.comap_inducing_of_surjective
+-/
 
+#print PrimeSpectrum.image_comap_zeroLocus_eq_zeroLocus_comap /-
 theorem image_comap_zeroLocus_eq_zeroLocus_comap (hf : Surjective f) (I : Ideal S) :
     comap f '' zeroLocus I = zeroLocus (I.comap f) :=
   by
@@ -813,25 +907,32 @@ theorem image_comap_zeroLocus_eq_zeroLocus_comap (hf : Surjective f) (I : Ideal
       refine' p.as_ideal.sub_mem hx' (hp _)
       rwa [mem_ker, map_sub, sub_eq_zero]
 #align prime_spectrum.image_comap_zero_locus_eq_zero_locus_comap PrimeSpectrum.image_comap_zeroLocus_eq_zeroLocus_comap
+-/
 
+#print PrimeSpectrum.range_comap_of_surjective /-
 theorem range_comap_of_surjective (hf : Surjective f) : Set.range (comap f) = zeroLocus (ker f) :=
   by
   rw [← Set.image_univ]
   convert image_comap_zero_locus_eq_zero_locus_comap _ _ hf _
   rw [zero_locus_bot]
 #align prime_spectrum.range_comap_of_surjective PrimeSpectrum.range_comap_of_surjective
+-/
 
+#print PrimeSpectrum.isClosed_range_comap_of_surjective /-
 theorem isClosed_range_comap_of_surjective (hf : Surjective f) : IsClosed (Set.range (comap f)) :=
   by
   rw [range_comap_of_surjective _ f hf]
   exact is_closed_zero_locus ↑(ker f)
 #align prime_spectrum.is_closed_range_comap_of_surjective PrimeSpectrum.isClosed_range_comap_of_surjective
+-/
 
+#print PrimeSpectrum.closedEmbedding_comap_of_surjective /-
 theorem closedEmbedding_comap_of_surjective (hf : Surjective f) : ClosedEmbedding (comap f) :=
   { induced := (comap_inducing_of_surjective S f hf).induced
     inj := comap_injective_of_surjective f hf
     closed_range := isClosed_range_comap_of_surjective S f hf }
 #align prime_spectrum.closed_embedding_comap_of_surjective PrimeSpectrum.closedEmbedding_comap_of_surjective
+-/
 
 end SpecOfSurjective
 
@@ -861,44 +962,60 @@ theorem isOpen_basicOpen {a : R} : IsOpen (basicOpen a : Set (PrimeSpectrum R))
 #align prime_spectrum.is_open_basic_open PrimeSpectrum.isOpen_basicOpen
 -/
 
+#print PrimeSpectrum.basicOpen_eq_zeroLocus_compl /-
 @[simp]
 theorem basicOpen_eq_zeroLocus_compl (r : R) :
     (basicOpen r : Set (PrimeSpectrum R)) = zeroLocus {r}ᶜ :=
   Set.ext fun x => by simpa only [Set.mem_compl_iff, mem_zero_locus, Set.singleton_subset_iff]
 #align prime_spectrum.basic_open_eq_zero_locus_compl PrimeSpectrum.basicOpen_eq_zeroLocus_compl
+-/
 
+#print PrimeSpectrum.basicOpen_one /-
 @[simp]
 theorem basicOpen_one : basicOpen (1 : R) = ⊤ :=
   TopologicalSpace.Opens.ext <| by simp
 #align prime_spectrum.basic_open_one PrimeSpectrum.basicOpen_one
+-/
 
+#print PrimeSpectrum.basicOpen_zero /-
 @[simp]
 theorem basicOpen_zero : basicOpen (0 : R) = ⊥ :=
   TopologicalSpace.Opens.ext <| by simp
 #align prime_spectrum.basic_open_zero PrimeSpectrum.basicOpen_zero
+-/
 
+#print PrimeSpectrum.basicOpen_le_basicOpen_iff /-
 theorem basicOpen_le_basicOpen_iff (f g : R) :
     basicOpen f ≤ basicOpen g ↔ f ∈ (Ideal.span ({g} : Set R)).radical := by
   rw [← SetLike.coe_subset_coe, basic_open_eq_zero_locus_compl, basic_open_eq_zero_locus_compl,
     Set.compl_subset_compl, zero_locus_subset_zero_locus_singleton_iff]
 #align prime_spectrum.basic_open_le_basic_open_iff PrimeSpectrum.basicOpen_le_basicOpen_iff
+-/
 
+#print PrimeSpectrum.basicOpen_mul /-
 theorem basicOpen_mul (f g : R) : basicOpen (f * g) = basicOpen f ⊓ basicOpen g :=
   TopologicalSpace.Opens.ext <| by simp [zero_locus_singleton_mul]
 #align prime_spectrum.basic_open_mul PrimeSpectrum.basicOpen_mul
+-/
 
+#print PrimeSpectrum.basicOpen_mul_le_left /-
 theorem basicOpen_mul_le_left (f g : R) : basicOpen (f * g) ≤ basicOpen f := by
   rw [basic_open_mul f g]; exact inf_le_left
 #align prime_spectrum.basic_open_mul_le_left PrimeSpectrum.basicOpen_mul_le_left
+-/
 
+#print PrimeSpectrum.basicOpen_mul_le_right /-
 theorem basicOpen_mul_le_right (f g : R) : basicOpen (f * g) ≤ basicOpen g := by
   rw [basic_open_mul f g]; exact inf_le_right
 #align prime_spectrum.basic_open_mul_le_right PrimeSpectrum.basicOpen_mul_le_right
+-/
 
+#print PrimeSpectrum.basicOpen_pow /-
 @[simp]
 theorem basicOpen_pow (f : R) (n : ℕ) (hn : 0 < n) : basicOpen (f ^ n) = basicOpen f :=
   TopologicalSpace.Opens.ext <| by simpa using zero_locus_singleton_pow f n hn
 #align prime_spectrum.basic_open_pow PrimeSpectrum.basicOpen_pow
+-/
 
 #print PrimeSpectrum.isTopologicalBasis_basic_opens /-
 theorem isTopologicalBasis_basic_opens :
@@ -953,6 +1070,7 @@ theorem isCompact_basicOpen (f : R) : IsCompact (basicOpen f : Set (PrimeSpectru
 #align prime_spectrum.is_compact_basic_open PrimeSpectrum.isCompact_basicOpen
 -/
 
+#print PrimeSpectrum.basicOpen_eq_bot_iff /-
 @[simp]
 theorem basicOpen_eq_bot_iff (f : R) : basicOpen f = ⊥ ↔ IsNilpotent f :=
   by
@@ -961,7 +1079,9 @@ theorem basicOpen_eq_bot_iff (f : R) : basicOpen f = ⊥ ↔ IsNilpotent f :=
     nilpotent_iff_mem_prime, Set.compl_empty_iff, mem_zero_locus, SetLike.mem_coe]
   exact ⟨fun h I hI => h ⟨I, hI⟩, fun h ⟨I, hI⟩ => h I hI⟩
 #align prime_spectrum.basic_open_eq_bot_iff PrimeSpectrum.basicOpen_eq_bot_iff
+-/
 
+#print PrimeSpectrum.localization_away_comap_range /-
 theorem localization_away_comap_range (S : Type v) [CommRing S] [Algebra R S] (r : R)
     [IsLocalization.Away r S] : Set.range (comap (algebraMap R S)) = basicOpen r :=
   by
@@ -975,12 +1095,15 @@ theorem localization_away_comap_range (S : Type v) [CommRing S] [Algebra R S] (r
   · rintro h₁ _ ⟨⟨n, rfl⟩, h₃⟩
     exact h₁ (x.2.mem_of_pow_mem _ h₃)
 #align prime_spectrum.localization_away_comap_range PrimeSpectrum.localization_away_comap_range
+-/
 
+#print PrimeSpectrum.localization_away_openEmbedding /-
 theorem localization_away_openEmbedding (S : Type v) [CommRing S] [Algebra R S] (r : R)
     [IsLocalization.Away r S] : OpenEmbedding (comap (algebraMap R S)) :=
   { toEmbedding := localization_comap_embedding S (Submonoid.powers r)
     open_range := by rw [localization_away_comap_range S r]; exact is_open_basic_open }
 #align prime_spectrum.localization_away_open_embedding PrimeSpectrum.localization_away_openEmbedding
+-/
 
 end BasicOpen
 
@@ -1000,31 +1123,41 @@ We endow `prime_spectrum R` with a partial order, where `x ≤ y` if and only if
 instance : PartialOrder (PrimeSpectrum R) :=
   PartialOrder.lift asIdeal ext
 
+#print PrimeSpectrum.asIdeal_le_asIdeal /-
 @[simp]
 theorem asIdeal_le_asIdeal (x y : PrimeSpectrum R) : x.asIdeal ≤ y.asIdeal ↔ x ≤ y :=
   Iff.rfl
 #align prime_spectrum.as_ideal_le_as_ideal PrimeSpectrum.asIdeal_le_asIdeal
+-/
 
+#print PrimeSpectrum.asIdeal_lt_asIdeal /-
 @[simp]
 theorem asIdeal_lt_asIdeal (x y : PrimeSpectrum R) : x.asIdeal < y.asIdeal ↔ x < y :=
   Iff.rfl
 #align prime_spectrum.as_ideal_lt_as_ideal PrimeSpectrum.asIdeal_lt_asIdeal
+-/
 
+#print PrimeSpectrum.le_iff_mem_closure /-
 theorem le_iff_mem_closure (x y : PrimeSpectrum R) :
     x ≤ y ↔ y ∈ closure ({x} : Set (PrimeSpectrum R)) := by
   rw [← as_ideal_le_as_ideal, ← zero_locus_vanishing_ideal_eq_closure, mem_zero_locus,
     vanishing_ideal_singleton, SetLike.coe_subset_coe]
 #align prime_spectrum.le_iff_mem_closure PrimeSpectrum.le_iff_mem_closure
+-/
 
+#print PrimeSpectrum.le_iff_specializes /-
 theorem le_iff_specializes (x y : PrimeSpectrum R) : x ≤ y ↔ x ⤳ y :=
   (le_iff_mem_closure x y).trans specializes_iff_mem_closure.symm
 #align prime_spectrum.le_iff_specializes PrimeSpectrum.le_iff_specializes
+-/
 
+#print PrimeSpectrum.nhdsOrderEmbedding /-
 /-- `nhds` as an order embedding. -/
 @[simps (config := { fullyApplied := true })]
 def nhdsOrderEmbedding : PrimeSpectrum R ↪o Filter (PrimeSpectrum R) :=
   OrderEmbedding.ofMapLEIff nhds fun a b => (le_iff_specializes a b).symm
 #align prime_spectrum.nhds_order_embedding PrimeSpectrum.nhdsOrderEmbedding
+-/
 
 instance : T0Space (PrimeSpectrum R) :=
   ⟨nhdsOrderEmbedding.Injective⟩
@@ -1041,6 +1174,7 @@ instance {R : Type _} [Field R] : Unique (PrimeSpectrum R)
 
 end Order
 
+#print PrimeSpectrum.localizationMapOfSpecializes /-
 /-- 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) :
@@ -1053,6 +1187,7 @@ def localizationMapOfSpecializes {x y : PrimeSpectrum R} (h : x ⤳ y) :
         Set.compl_subset_compl] at h 
       exact (IsLocalization.map_units _ ⟨a, show a ∈ x.as_ideal.prime_compl from h ha⟩ : _))
 #align prime_spectrum.localization_map_of_specializes PrimeSpectrum.localizationMapOfSpecializes
+-/
 
 end PrimeSpectrum
 
@@ -1069,16 +1204,20 @@ def closedPoint : PrimeSpectrum R :=
 
 variable {R}
 
+#print LocalRing.isLocalRingHom_iff_comap_closedPoint /-
 theorem isLocalRingHom_iff_comap_closedPoint {S : Type v} [CommRing S] [LocalRing S] (f : R →+* S) :
     IsLocalRingHom f ↔ PrimeSpectrum.comap f (closedPoint S) = closedPoint R := by
   rw [(local_hom_tfae f).out 0 4, PrimeSpectrum.ext_iff]; rfl
 #align local_ring.is_local_ring_hom_iff_comap_closed_point LocalRing.isLocalRingHom_iff_comap_closedPoint
+-/
 
+#print LocalRing.comap_closedPoint /-
 @[simp]
 theorem comap_closedPoint {S : Type v} [CommRing S] [LocalRing S] (f : R →+* S) [IsLocalRingHom f] :
     PrimeSpectrum.comap f (closedPoint S) = closedPoint R :=
   (isLocalRingHom_iff_comap_closedPoint f).mp inferInstance
 #align local_ring.comap_closed_point LocalRing.comap_closedPoint
+-/
 
 #print LocalRing.specializes_closedPoint /-
 theorem specializes_closedPoint (x : PrimeSpectrum R) : x ⤳ closedPoint R :=
@@ -1086,12 +1225,14 @@ theorem specializes_closedPoint (x : PrimeSpectrum R) : x ⤳ closedPoint R :=
 #align local_ring.specializes_closed_point LocalRing.specializes_closedPoint
 -/
 
+#print LocalRing.closedPoint_mem_iff /-
 theorem closedPoint_mem_iff (U : TopologicalSpace.Opens <| PrimeSpectrum R) :
     closedPoint R ∈ U ↔ U = ⊤ := by
   constructor
   · rw [eq_top_iff]; exact fun h x _ => (specializes_closed_point x).mem_open U.2 h
   · rintro rfl; trivial
 #align local_ring.closed_point_mem_iff LocalRing.closedPoint_mem_iff
+-/
 
 @[simp]
 theorem PrimeSpectrum.comap_residue (x : PrimeSpectrum (ResidueField R)) :
Diff
@@ -140,7 +140,7 @@ At a point `x` (a prime ideal) the function (i.e., element) `f` takes values in
 `prime_spectrum R` where all "functions" in `s` vanish simultaneously.
 -/
 def zeroLocus (s : Set R) : Set (PrimeSpectrum R) :=
-  { x | s ⊆ x.asIdeal }
+  {x | s ⊆ x.asIdeal}
 #align prime_spectrum.zero_locus PrimeSpectrum.zeroLocus
 -/
 
@@ -174,7 +174,7 @@ def vanishingIdeal (t : Set (PrimeSpectrum R)) : Ideal R :=
 
 #print PrimeSpectrum.coe_vanishingIdeal /-
 theorem coe_vanishingIdeal (t : Set (PrimeSpectrum R)) :
-    (vanishingIdeal t : Set R) = { f : R | ∀ x : PrimeSpectrum R, x ∈ t → f ∈ x.asIdeal } :=
+    (vanishingIdeal t : Set R) = {f : R | ∀ x : PrimeSpectrum R, x ∈ t → f ∈ x.asIdeal} :=
   by
   ext f
   rw [vanishing_ideal, SetLike.mem_coe, Submodule.mem_iInf]
@@ -555,7 +555,7 @@ theorem vanishingIdeal_anti_mono_iff {s t : Set (PrimeSpectrum R)} (ht : IsClose
   ⟨vanishingIdeal_anti_mono, fun h =>
     by
     rw [← ht.closure_subset_iff, ← ht.closure_eq]
-    convert← zero_locus_anti_mono_ideal h <;> apply zero_locus_vanishing_ideal_eq_closure⟩
+    convert ← zero_locus_anti_mono_ideal h <;> apply zero_locus_vanishing_ideal_eq_closure⟩
 #align prime_spectrum.vanishing_ideal_anti_mono_iff PrimeSpectrum.vanishingIdeal_anti_mono_iff
 
 theorem vanishingIdeal_strict_anti_mono_iff {s t : Set (PrimeSpectrum R)} (hs : IsClosed s)
@@ -758,7 +758,7 @@ theorem localization_comap_embedding [Algebra R S] (M : Submonoid R) [IsLocaliza
 #align prime_spectrum.localization_comap_embedding PrimeSpectrum.localization_comap_embedding
 
 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 } :=
+    Set.range (comap (algebraMap R S)) = {p | Disjoint (M : Set R) p.asIdeal} :=
   by
   ext x
   constructor
@@ -843,7 +843,7 @@ section BasicOpen
 /-- `basic_open r` is the open subset containing all prime ideals not containing `r`. -/
 def basicOpen (r : R) : TopologicalSpace.Opens (PrimeSpectrum R)
     where
-  carrier := { x | r ∉ x.asIdeal }
+  carrier := {x | r ∉ x.asIdeal}
   is_open' := ⟨{r}, Set.ext fun x => Set.singleton_subset_iff.trans <| Classical.not_not.symm⟩
 #align prime_spectrum.basic_open PrimeSpectrum.basicOpen
 -/
Diff
@@ -107,7 +107,7 @@ noncomputable def primeSpectrumProd :
       (by
         constructor
         · rintro (⟨I, hI⟩ | ⟨J, hJ⟩) (⟨I', hI'⟩ | ⟨J', hJ'⟩) h <;>
-            simp only [Ideal.prod.ext_iff, prime_spectrum_prod_of_sum] at h
+            simp only [Ideal.prod.ext_iff, prime_spectrum_prod_of_sum] at h 
           · simp only [h]
           · exact False.elim (hI.ne_top h.left)
           · exact False.elim (hJ.ne_top h.right)
@@ -325,7 +325,7 @@ theorem zeroLocus_empty_of_one_mem {s : Set R} (h : (1 : R) ∈ s) : zeroLocus s
   by
   rw [Set.eq_empty_iff_forall_not_mem]
   intro x hx
-  rw [mem_zero_locus] at hx
+  rw [mem_zero_locus] at hx 
   have x_prime : x.as_ideal.is_prime := by infer_instance
   have eq_top : x.as_ideal = ⊤ := by rw [Ideal.eq_top_iff_one]; exact hx h
   apply x_prime.ne_top eq_top
@@ -435,7 +435,7 @@ theorem sup_vanishingIdeal_le (t t' : Set (PrimeSpectrum R)) :
   intro r
   rw [Submodule.mem_sup, mem_vanishing_ideal]
   rintro ⟨f, hf, g, hg, rfl⟩ x ⟨hxt, hxt'⟩
-  rw [mem_vanishing_ideal] at hf hg
+  rw [mem_vanishing_ideal] at hf hg 
   apply Submodule.add_mem <;> solve_by_elim
 #align prime_spectrum.sup_vanishing_ideal_le PrimeSpectrum.sup_vanishingIdeal_le
 
@@ -498,7 +498,7 @@ theorem isClosed_singleton_iff_isMaximal (x : PrimeSpectrum R) :
   by
   refine' (is_closed_iff_zero_locus _).trans ⟨fun h => _, fun h => _⟩
   · obtain ⟨s, hs⟩ := h
-    rw [eq_comm, Set.eq_singleton_iff_unique_mem] at hs
+    rw [eq_comm, Set.eq_singleton_iff_unique_mem] at hs 
     refine'
       ⟨⟨x.2.1, fun I hI =>
           Classical.not_not.1
@@ -520,8 +520,8 @@ theorem zeroLocus_vanishingIdeal_eq_closure (t : Set (PrimeSpectrum R)) :
   by
   apply Set.Subset.antisymm
   · rintro x hx t' ⟨ht', ht⟩
-    obtain ⟨fs, rfl⟩ : ∃ s, t' = zero_locus s := by rwa [is_closed_iff_zero_locus] at ht'
-    rw [subset_zero_locus_iff_subset_vanishing_ideal] at ht
+    obtain ⟨fs, rfl⟩ : ∃ s, t' = zero_locus s := by rwa [is_closed_iff_zero_locus] at ht' 
+    rw [subset_zero_locus_iff_subset_vanishing_ideal] at ht 
     exact Set.Subset.trans ht hx
   · rw [(is_closed_zero_locus _).closure_subset_iff]
     exact subset_zero_locus_vanishing_ideal t
@@ -611,7 +611,7 @@ theorem isIrreducible_zeroLocus_iff_of_radical (I : Ideal R) (hI : I.IsRadical)
       · simp_rw [← SetLike.mem_coe, ← Set.singleton_subset_iff, ← Ideal.span_le, ←
           Ideal.span_singleton_mul_span_singleton]
         refine' fun h x y h' => h _ _ _
-        rw [← hI.radical_le_iff] at h'⊢
+        rw [← hI.radical_le_iff] at h' ⊢
         simpa only [Ideal.radical_inf, Ideal.radical_mul] using h'
       · simp_rw [or_iff_not_imp_left, SetLike.not_le_iff_exists]
         rintro h s t h' ⟨x, hx, hx'⟩ y hy
@@ -746,8 +746,8 @@ theorem localization_comap_injective [Algebra R S] (M : Submonoid R) [IsLocaliza
   by
   intro p q h
   replace h := congr_arg (fun x : PrimeSpectrum R => Ideal.map (algebraMap R S) x.asIdeal) h
-  dsimp only at h
-  erw [IsLocalization.map_comap M S, IsLocalization.map_comap M S] at h
+  dsimp only at h 
+  erw [IsLocalization.map_comap M S, IsLocalization.map_comap M S] at h 
   ext1
   exact h
 #align prime_spectrum.localization_comap_injective PrimeSpectrum.localization_comap_injective
@@ -909,7 +909,7 @@ theorem isTopologicalBasis_basic_opens :
   · rintro _ ⟨r, rfl⟩
     exact is_open_basic_open
   · rintro p U hp ⟨s, hs⟩
-    rw [← compl_compl U, Set.mem_compl_iff, ← hs, mem_zero_locus, Set.not_subset] at hp
+    rw [← compl_compl U, Set.mem_compl_iff, ← hs, mem_zero_locus, Set.not_subset] at hp 
     obtain ⟨f, hfs, hfp⟩ := hp
     refine' ⟨basic_open f, ⟨f, rfl⟩, hfp, _⟩
     rw [← Set.compl_subset_compl, ← hs, basic_open_eq_zero_locus_compl, compl_compl]
@@ -934,7 +934,7 @@ theorem isCompact_basicOpen (f : R) : IsCompact (basicOpen f : Set (PrimeSpectru
     have hI : ∀ i, Z i = zero_locus (I i) := fun i => by
       simpa only [zero_locus_vanishing_ideal_eq_closure] using (hZc i).closure_eq.symm
     rw [basic_open_eq_zero_locus_compl f, Set.inter_comm, ← Set.diff_eq, Set.diff_eq_empty,
-      funext hI, ← zero_locus_supr] at hZ
+      funext hI, ← zero_locus_supr] at hZ 
     obtain ⟨n, hn⟩ : f ∈ (⨆ i : ι, I i).radical :=
       by
       rw [← vanishing_ideal_zero_locus_eq_radical]
@@ -1050,7 +1050,7 @@ def localizationMapOfSpecializes {x y : PrimeSpectrum R} (h : x ⤳ y) :
     (by
       rintro ⟨a, ha⟩
       rw [← PrimeSpectrum.le_iff_specializes, ← as_ideal_le_as_ideal, ← SetLike.coe_subset_coe, ←
-        Set.compl_subset_compl] at h
+        Set.compl_subset_compl] at h 
       exact (IsLocalization.map_units _ ⟨a, show a ∈ x.as_ideal.prime_compl from h ha⟩ : _))
 #align prime_spectrum.localization_map_of_specializes PrimeSpectrum.localizationMapOfSpecializes
 
Diff
@@ -53,7 +53,7 @@ and Chris Hughes (on an earlier repository).
 
 noncomputable section
 
-open Classical
+open scoped Classical
 
 universe u v
 
Diff
@@ -91,12 +91,6 @@ theorem pUnit (x : PrimeSpectrum PUnit) : False :=
 
 variable (R S)
 
-/- warning: prime_spectrum.prime_spectrum_prod_of_sum -> PrimeSpectrum.primeSpectrumProdOfSum is a dubious translation:
-lean 3 declaration is
-  forall (R : Type.{u1}) (S : Type.{u2}) [_inst_1 : CommRing.{u1} R] [_inst_2 : CommRing.{u2} S], (Sum.{u1, u2} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.{u2} S _inst_2)) -> (PrimeSpectrum.{max u1 u2} (Prod.{u1, u2} R S) (Prod.commRing.{u1, u2} R S _inst_1 _inst_2))
-but is expected to have type
-  forall (R : Type.{u1}) (S : Type.{u2}) [_inst_1 : CommRing.{u1} R] [_inst_2 : CommRing.{u2} S], (Sum.{u1, u2} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.{u2} S _inst_2)) -> (PrimeSpectrum.{max u2 u1} (Prod.{u1, u2} R S) (Prod.instCommRingProd.{u1, u2} R S _inst_1 _inst_2))
-Case conversion may be inaccurate. Consider using '#align prime_spectrum.prime_spectrum_prod_of_sum PrimeSpectrum.primeSpectrumProdOfSumₓ'. -/
 /-- The map from the direct sum of prime spectra to the prime spectrum of a direct product. -/
 @[simp]
 def primeSpectrumProdOfSum : Sum (PrimeSpectrum R) (PrimeSpectrum S) → PrimeSpectrum (R × S)
@@ -104,12 +98,6 @@ def primeSpectrumProdOfSum : Sum (PrimeSpectrum R) (PrimeSpectrum S) → PrimeSp
   | Sum.inr ⟨J, hJ⟩ => ⟨Ideal.prod ⊤ J, Ideal.isPrime_ideal_prod_top'⟩
 #align prime_spectrum.prime_spectrum_prod_of_sum PrimeSpectrum.primeSpectrumProdOfSum
 
-/- warning: prime_spectrum.prime_spectrum_prod -> PrimeSpectrum.primeSpectrumProd is a dubious translation:
-lean 3 declaration is
-  forall (R : Type.{u1}) (S : Type.{u2}) [_inst_1 : CommRing.{u1} R] [_inst_2 : CommRing.{u2} S], Equiv.{succ (max u1 u2), max (succ u1) (succ u2)} (PrimeSpectrum.{max u1 u2} (Prod.{u1, u2} R S) (Prod.commRing.{u1, u2} R S _inst_1 _inst_2)) (Sum.{u1, u2} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.{u2} S _inst_2))
-but is expected to have type
-  forall (R : Type.{u1}) (S : Type.{u2}) [_inst_1 : CommRing.{u1} R] [_inst_2 : CommRing.{u2} S], Equiv.{succ (max u2 u1), max (succ u2) (succ u1)} (PrimeSpectrum.{max u2 u1} (Prod.{u1, u2} R S) (Prod.instCommRingProd.{u1, u2} R S _inst_1 _inst_2)) (Sum.{u1, u2} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.{u2} S _inst_2))
-Case conversion may be inaccurate. Consider using '#align prime_spectrum.prime_spectrum_prod PrimeSpectrum.primeSpectrumProdₓ'. -/
 /-- 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`. -/
 noncomputable def primeSpectrumProd :
@@ -132,23 +120,11 @@ noncomputable def primeSpectrumProd :
 
 variable {R S}
 
-/- warning: prime_spectrum.prime_spectrum_prod_symm_inl_as_ideal -> PrimeSpectrum.primeSpectrumProd_symm_inl_asIdeal is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : CommRing.{u2} S] (x : PrimeSpectrum.{u1} R _inst_1), Eq.{succ (max u1 u2)} (Ideal.{max u1 u2} (Prod.{u1, u2} R S) (Ring.toSemiring.{max u1 u2} (Prod.{u1, u2} R S) (CommRing.toRing.{max u1 u2} (Prod.{u1, u2} R S) (Prod.commRing.{u1, u2} R S _inst_1 _inst_2)))) (PrimeSpectrum.asIdeal.{max u1 u2} (Prod.{u1, u2} R S) (Prod.commRing.{u1, u2} R S _inst_1 _inst_2) (coeFn.{max 1 (max (max (succ u1) (succ u2)) (succ (max u1 u2))) (succ (max u1 u2)) (succ u1) (succ u2), max (max (succ u1) (succ u2)) (succ (max u1 u2))} (Equiv.{max (succ u1) (succ u2), succ (max u1 u2)} (Sum.{u1, u2} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.{u2} S _inst_2)) (PrimeSpectrum.{max u1 u2} (Prod.{u1, u2} R S) (Prod.commRing.{u1, u2} R S _inst_1 _inst_2))) (fun (_x : Equiv.{max (succ u1) (succ u2), succ (max u1 u2)} (Sum.{u1, u2} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.{u2} S _inst_2)) (PrimeSpectrum.{max u1 u2} (Prod.{u1, u2} R S) (Prod.commRing.{u1, u2} R S _inst_1 _inst_2))) => (Sum.{u1, u2} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.{u2} S _inst_2)) -> (PrimeSpectrum.{max u1 u2} (Prod.{u1, u2} R S) (Prod.commRing.{u1, u2} R S _inst_1 _inst_2))) (Equiv.hasCoeToFun.{max (succ u1) (succ u2), succ (max u1 u2)} (Sum.{u1, u2} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.{u2} S _inst_2)) (PrimeSpectrum.{max u1 u2} (Prod.{u1, u2} R S) (Prod.commRing.{u1, u2} R S _inst_1 _inst_2))) (Equiv.symm.{succ (max u1 u2), max (succ u1) (succ u2)} (PrimeSpectrum.{max u1 u2} (Prod.{u1, u2} R S) (Prod.commRing.{u1, u2} R S _inst_1 _inst_2)) (Sum.{u1, u2} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.{u2} S _inst_2)) (PrimeSpectrum.primeSpectrumProd.{u1, u2} R S _inst_1 _inst_2)) (Sum.inl.{u1, u2} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.{u2} S _inst_2) x))) (Ideal.prod.{u1, u2} R S (CommRing.toRing.{u1} R _inst_1) (CommRing.toRing.{u2} S _inst_2) (PrimeSpectrum.asIdeal.{u1} R _inst_1 x) (Top.top.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))) (Submodule.hasTop.{u2, u2} S S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))))) (Semiring.toModule.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))))))
-but is expected to have type
-  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : CommRing.{u2} S] (x : PrimeSpectrum.{u1} R _inst_1), Eq.{max (succ u1) (succ u2)} (Ideal.{max u1 u2} (Prod.{u1, u2} R S) (CommSemiring.toSemiring.{max u1 u2} (Prod.{u1, u2} R S) (CommRing.toCommSemiring.{max u1 u2} (Prod.{u1, u2} R S) (Prod.instCommRingProd.{u1, u2} R S _inst_1 _inst_2)))) (PrimeSpectrum.asIdeal.{max u1 u2} (Prod.{u1, u2} R S) (Prod.instCommRingProd.{u1, u2} R S _inst_1 _inst_2) (FunLike.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2), max (succ u1) (succ u2)} (Equiv.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Sum.{u1, u2} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.{u2} S _inst_2)) (PrimeSpectrum.{max u2 u1} (Prod.{u1, u2} R S) (Prod.instCommRingProd.{u1, u2} R S _inst_1 _inst_2))) (Sum.{u1, u2} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.{u2} S _inst_2)) (fun (_x : Sum.{u1, u2} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.{u2} S _inst_2)) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : Sum.{u1, u2} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.{u2} S _inst_2)) => PrimeSpectrum.{max u2 u1} (Prod.{u1, u2} R S) (Prod.instCommRingProd.{u1, u2} R S _inst_1 _inst_2)) _x) (Equiv.instFunLikeEquiv.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Sum.{u1, u2} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.{u2} S _inst_2)) (PrimeSpectrum.{max u2 u1} (Prod.{u1, u2} R S) (Prod.instCommRingProd.{u1, u2} R S _inst_1 _inst_2))) (Equiv.symm.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (PrimeSpectrum.{max u2 u1} (Prod.{u1, u2} R S) (Prod.instCommRingProd.{u1, u2} R S _inst_1 _inst_2)) (Sum.{u1, u2} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.{u2} S _inst_2)) (PrimeSpectrum.primeSpectrumProd.{u1, u2} R S _inst_1 _inst_2)) (Sum.inl.{u1, u2} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.{u2} S _inst_2) x))) (Ideal.prod.{u1, u2} R S (CommRing.toRing.{u1} R _inst_1) (CommRing.toRing.{u2} S _inst_2) (PrimeSpectrum.asIdeal.{u1} R _inst_1 x) (Top.top.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))) (Submodule.instTopSubmodule.{u2, u2} S S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))))) (Semiring.toModule.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))))))
-Case conversion may be inaccurate. Consider using '#align prime_spectrum.prime_spectrum_prod_symm_inl_as_ideal PrimeSpectrum.primeSpectrumProd_symm_inl_asIdealₓ'. -/
 @[simp]
 theorem primeSpectrumProd_symm_inl_asIdeal (x : PrimeSpectrum R) :
     ((primeSpectrumProd R S).symm <| Sum.inl x).asIdeal = Ideal.prod x.asIdeal ⊤ := by cases x; rfl
 #align prime_spectrum.prime_spectrum_prod_symm_inl_as_ideal PrimeSpectrum.primeSpectrumProd_symm_inl_asIdeal
 
-/- warning: prime_spectrum.prime_spectrum_prod_symm_inr_as_ideal -> PrimeSpectrum.primeSpectrumProd_symm_inr_asIdeal is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : CommRing.{u2} S] (x : PrimeSpectrum.{u2} S _inst_2), Eq.{succ (max u1 u2)} (Ideal.{max u1 u2} (Prod.{u1, u2} R S) (Ring.toSemiring.{max u1 u2} (Prod.{u1, u2} R S) (CommRing.toRing.{max u1 u2} (Prod.{u1, u2} R S) (Prod.commRing.{u1, u2} R S _inst_1 _inst_2)))) (PrimeSpectrum.asIdeal.{max u1 u2} (Prod.{u1, u2} R S) (Prod.commRing.{u1, u2} R S _inst_1 _inst_2) (coeFn.{max 1 (max (max (succ u1) (succ u2)) (succ (max u1 u2))) (succ (max u1 u2)) (succ u1) (succ u2), max (max (succ u1) (succ u2)) (succ (max u1 u2))} (Equiv.{max (succ u1) (succ u2), succ (max u1 u2)} (Sum.{u1, u2} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.{u2} S _inst_2)) (PrimeSpectrum.{max u1 u2} (Prod.{u1, u2} R S) (Prod.commRing.{u1, u2} R S _inst_1 _inst_2))) (fun (_x : Equiv.{max (succ u1) (succ u2), succ (max u1 u2)} (Sum.{u1, u2} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.{u2} S _inst_2)) (PrimeSpectrum.{max u1 u2} (Prod.{u1, u2} R S) (Prod.commRing.{u1, u2} R S _inst_1 _inst_2))) => (Sum.{u1, u2} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.{u2} S _inst_2)) -> (PrimeSpectrum.{max u1 u2} (Prod.{u1, u2} R S) (Prod.commRing.{u1, u2} R S _inst_1 _inst_2))) (Equiv.hasCoeToFun.{max (succ u1) (succ u2), succ (max u1 u2)} (Sum.{u1, u2} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.{u2} S _inst_2)) (PrimeSpectrum.{max u1 u2} (Prod.{u1, u2} R S) (Prod.commRing.{u1, u2} R S _inst_1 _inst_2))) (Equiv.symm.{succ (max u1 u2), max (succ u1) (succ u2)} (PrimeSpectrum.{max u1 u2} (Prod.{u1, u2} R S) (Prod.commRing.{u1, u2} R S _inst_1 _inst_2)) (Sum.{u1, u2} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.{u2} S _inst_2)) (PrimeSpectrum.primeSpectrumProd.{u1, u2} R S _inst_1 _inst_2)) (Sum.inr.{u1, u2} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.{u2} S _inst_2) x))) (Ideal.prod.{u1, u2} R S (CommRing.toRing.{u1} R _inst_1) (CommRing.toRing.{u2} S _inst_2) (Top.top.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Submodule.hasTop.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (PrimeSpectrum.asIdeal.{u2} S _inst_2 x))
-but is expected to have type
-  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : CommRing.{u2} S] (x : PrimeSpectrum.{u2} S _inst_2), Eq.{max (succ u1) (succ u2)} (Ideal.{max u1 u2} (Prod.{u1, u2} R S) (CommSemiring.toSemiring.{max u1 u2} (Prod.{u1, u2} R S) (CommRing.toCommSemiring.{max u1 u2} (Prod.{u1, u2} R S) (Prod.instCommRingProd.{u1, u2} R S _inst_1 _inst_2)))) (PrimeSpectrum.asIdeal.{max u1 u2} (Prod.{u1, u2} R S) (Prod.instCommRingProd.{u1, u2} R S _inst_1 _inst_2) (FunLike.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2), max (succ u1) (succ u2)} (Equiv.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Sum.{u1, u2} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.{u2} S _inst_2)) (PrimeSpectrum.{max u2 u1} (Prod.{u1, u2} R S) (Prod.instCommRingProd.{u1, u2} R S _inst_1 _inst_2))) (Sum.{u1, u2} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.{u2} S _inst_2)) (fun (_x : Sum.{u1, u2} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.{u2} S _inst_2)) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : Sum.{u1, u2} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.{u2} S _inst_2)) => PrimeSpectrum.{max u2 u1} (Prod.{u1, u2} R S) (Prod.instCommRingProd.{u1, u2} R S _inst_1 _inst_2)) _x) (Equiv.instFunLikeEquiv.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Sum.{u1, u2} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.{u2} S _inst_2)) (PrimeSpectrum.{max u2 u1} (Prod.{u1, u2} R S) (Prod.instCommRingProd.{u1, u2} R S _inst_1 _inst_2))) (Equiv.symm.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (PrimeSpectrum.{max u2 u1} (Prod.{u1, u2} R S) (Prod.instCommRingProd.{u1, u2} R S _inst_1 _inst_2)) (Sum.{u1, u2} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.{u2} S _inst_2)) (PrimeSpectrum.primeSpectrumProd.{u1, u2} R S _inst_1 _inst_2)) (Sum.inr.{u1, u2} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.{u2} S _inst_2) x))) (Ideal.prod.{u1, u2} R S (CommRing.toRing.{u1} R _inst_1) (CommRing.toRing.{u2} S _inst_2) (Top.top.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Submodule.instTopSubmodule.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (PrimeSpectrum.asIdeal.{u2} S _inst_2 x))
-Case conversion may be inaccurate. Consider using '#align prime_spectrum.prime_spectrum_prod_symm_inr_as_ideal PrimeSpectrum.primeSpectrumProd_symm_inr_asIdealₓ'. -/
 @[simp]
 theorem primeSpectrumProd_symm_inr_asIdeal (x : PrimeSpectrum S) :
     ((primeSpectrumProd R S).symm <| Sum.inr x).asIdeal = Ideal.prod ⊤ x.asIdeal := by cases x; rfl
@@ -221,12 +197,6 @@ theorem vanishingIdeal_singleton (x : PrimeSpectrum R) :
 #align prime_spectrum.vanishing_ideal_singleton PrimeSpectrum.vanishingIdeal_singleton
 -/
 
-/- warning: prime_spectrum.subset_zero_locus_iff_le_vanishing_ideal -> PrimeSpectrum.subset_zeroLocus_iff_le_vanishingIdeal is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] (t : Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (I : Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))), Iff (HasSubset.Subset.{u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (Set.hasSubset.{u1} (PrimeSpectrum.{u1} R _inst_1)) t (PrimeSpectrum.zeroLocus.{u1} R _inst_1 ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Set.{u1} R) (HasLiftT.mk.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Set.{u1} R) (CoeTCₓ.coe.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Set.{u1} R) (SetLike.Set.hasCoeT.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) I))) (LE.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Preorder.toHasLe.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (SetLike.partialOrder.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) I (PrimeSpectrum.vanishingIdeal.{u1} R _inst_1 t))
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] (t : Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))), Iff (HasSubset.Subset.{u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (Set.instHasSubsetSet.{u1} (PrimeSpectrum.{u1} R _inst_1)) t (PrimeSpectrum.zeroLocus.{u1} R _inst_1 (SetLike.coe.{u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) R (Submodule.setLike.{u1, u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) I))) (LE.le.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Preorder.toLE.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Submodule.completeLattice.{u1, u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) I (PrimeSpectrum.vanishingIdeal.{u1} R _inst_1 t))
-Case conversion may be inaccurate. Consider using '#align prime_spectrum.subset_zero_locus_iff_le_vanishing_ideal PrimeSpectrum.subset_zeroLocus_iff_le_vanishingIdealₓ'. -/
 theorem subset_zeroLocus_iff_le_vanishingIdeal (t : Set (PrimeSpectrum R)) (I : Ideal R) :
     t ⊆ zeroLocus I ↔ I ≤ vanishingIdeal t :=
   ⟨fun h f k => (mem_vanishingIdeal _ _).mpr fun x j => (mem_zeroLocus _ _).mpr (h j) k, fun h =>
@@ -237,12 +207,6 @@ section Gc
 
 variable (R)
 
-/- warning: prime_spectrum.gc -> PrimeSpectrum.gc is a dubious translation:
-lean 3 declaration is
-  forall (R : Type.{u1}) [_inst_1 : CommRing.{u1} R], GaloisConnection.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (OrderDual.{u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1))) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (SetLike.partialOrder.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (OrderDual.preorder.{u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (PartialOrder.toPreorder.{u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (Set.completeBooleanAlgebra.{u1} (PrimeSpectrum.{u1} R _inst_1))))))))) (fun (I : Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) => PrimeSpectrum.zeroLocus.{u1} R _inst_1 ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Set.{u1} R) (HasLiftT.mk.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Set.{u1} R) (CoeTCₓ.coe.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Set.{u1} R) (SetLike.Set.hasCoeT.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) I)) (fun (t : OrderDual.{u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1))) => PrimeSpectrum.vanishingIdeal.{u1} R _inst_1 t)
-but is expected to have type
-  forall (R : Type.{u1}) [_inst_1 : CommRing.{u1} R], GaloisConnection.{u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (OrderDual.{u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1))) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Submodule.completeLattice.{u1, u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))) (OrderDual.preorder.{u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (PartialOrder.toPreorder.{u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (Set.instCompleteBooleanAlgebraSet.{u1} (PrimeSpectrum.{u1} R _inst_1))))))))) (fun (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) => PrimeSpectrum.zeroLocus.{u1} R _inst_1 (SetLike.coe.{u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) R (Submodule.setLike.{u1, u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) I)) (fun (t : OrderDual.{u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1))) => PrimeSpectrum.vanishingIdeal.{u1} R _inst_1 t)
-Case conversion may be inaccurate. Consider using '#align prime_spectrum.gc PrimeSpectrum.gcₓ'. -/
 /-- `zero_locus` and `vanishing_ideal` form a galois connection. -/
 theorem gc :
     @GaloisConnection (Ideal R) (Set (PrimeSpectrum R))ᵒᵈ _ _ (fun I => zeroLocus I) fun t =>
@@ -250,12 +214,6 @@ theorem gc :
   fun I t => subset_zeroLocus_iff_le_vanishingIdeal t I
 #align prime_spectrum.gc PrimeSpectrum.gc
 
-/- warning: prime_spectrum.gc_set -> PrimeSpectrum.gc_set is a dubious translation:
-lean 3 declaration is
-  forall (R : Type.{u1}) [_inst_1 : CommRing.{u1} R], GaloisConnection.{u1, u1} (Set.{u1} R) (OrderDual.{u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1))) (PartialOrder.toPreorder.{u1} (Set.{u1} R) (CompleteSemilatticeInf.toPartialOrder.{u1} (Set.{u1} R) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Set.{u1} R) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} R) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} R) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} R) (Set.completeBooleanAlgebra.{u1} R))))))) (OrderDual.preorder.{u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (PartialOrder.toPreorder.{u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (Set.completeBooleanAlgebra.{u1} (PrimeSpectrum.{u1} R _inst_1))))))))) (fun (s : Set.{u1} R) => PrimeSpectrum.zeroLocus.{u1} R _inst_1 s) (fun (t : OrderDual.{u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1))) => (fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Set.{u1} R) (HasLiftT.mk.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Set.{u1} R) (CoeTCₓ.coe.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Set.{u1} R) (SetLike.Set.hasCoeT.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) (PrimeSpectrum.vanishingIdeal.{u1} R _inst_1 t))
-but is expected to have type
-  forall (R : Type.{u1}) [_inst_1 : CommRing.{u1} R], GaloisConnection.{u1, u1} (Set.{u1} R) (OrderDual.{u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1))) (PartialOrder.toPreorder.{u1} (Set.{u1} R) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Set.{u1} R) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Set.{u1} R) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} R) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} R) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} R) (Set.instCompleteBooleanAlgebraSet.{u1} R))))))) (OrderDual.preorder.{u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (PartialOrder.toPreorder.{u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (Set.instCompleteBooleanAlgebraSet.{u1} (PrimeSpectrum.{u1} R _inst_1))))))))) (fun (s : Set.{u1} R) => PrimeSpectrum.zeroLocus.{u1} R _inst_1 s) (fun (t : OrderDual.{u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1))) => SetLike.coe.{u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) R (Submodule.setLike.{u1, u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (PrimeSpectrum.vanishingIdeal.{u1} R _inst_1 t))
-Case conversion may be inaccurate. Consider using '#align prime_spectrum.gc_set PrimeSpectrum.gc_setₓ'. -/
 /-- `zero_locus` and `vanishing_ideal` form a galois connection. -/
 theorem gc_set :
     @GaloisConnection (Set R) (Set (PrimeSpectrum R))ᵒᵈ _ _ (fun s => zeroLocus s) fun t =>
@@ -280,12 +238,6 @@ theorem subset_vanishingIdeal_zeroLocus (s : Set R) : s ⊆ vanishingIdeal (zero
 #align prime_spectrum.subset_vanishing_ideal_zero_locus PrimeSpectrum.subset_vanishingIdeal_zeroLocus
 -/
 
-/- warning: prime_spectrum.le_vanishing_ideal_zero_locus -> PrimeSpectrum.le_vanishingIdeal_zeroLocus is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] (I : Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))), LE.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Preorder.toHasLe.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (SetLike.partialOrder.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) I (PrimeSpectrum.vanishingIdeal.{u1} R _inst_1 (PrimeSpectrum.zeroLocus.{u1} R _inst_1 ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Set.{u1} R) (HasLiftT.mk.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Set.{u1} R) (CoeTCₓ.coe.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Set.{u1} R) (SetLike.Set.hasCoeT.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) I)))
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))), LE.le.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Preorder.toLE.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Submodule.completeLattice.{u1, u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) I (PrimeSpectrum.vanishingIdeal.{u1} R _inst_1 (PrimeSpectrum.zeroLocus.{u1} R _inst_1 (SetLike.coe.{u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) R (Submodule.setLike.{u1, u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) I)))
-Case conversion may be inaccurate. Consider using '#align prime_spectrum.le_vanishing_ideal_zero_locus PrimeSpectrum.le_vanishingIdeal_zeroLocusₓ'. -/
 theorem le_vanishingIdeal_zeroLocus (I : Ideal R) : I ≤ vanishingIdeal (zeroLocus I) :=
   (gc R).le_u_l I
 #align prime_spectrum.le_vanishing_ideal_zero_locus PrimeSpectrum.le_vanishingIdeal_zeroLocus
@@ -321,34 +273,16 @@ theorem zeroLocus_anti_mono {s t : Set R} (h : s ⊆ t) : zeroLocus t ⊆ zeroLo
 #align prime_spectrum.zero_locus_anti_mono PrimeSpectrum.zeroLocus_anti_mono
 -/
 
-/- warning: prime_spectrum.zero_locus_anti_mono_ideal -> PrimeSpectrum.zeroLocus_anti_mono_ideal is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {s : Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))} {t : Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))}, (LE.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Preorder.toHasLe.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (SetLike.partialOrder.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) s t) -> (HasSubset.Subset.{u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (Set.hasSubset.{u1} (PrimeSpectrum.{u1} R _inst_1)) (PrimeSpectrum.zeroLocus.{u1} R _inst_1 ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Set.{u1} R) (HasLiftT.mk.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Set.{u1} R) (CoeTCₓ.coe.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Set.{u1} R) (SetLike.Set.hasCoeT.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) t)) (PrimeSpectrum.zeroLocus.{u1} R _inst_1 ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Set.{u1} R) (HasLiftT.mk.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Set.{u1} R) (CoeTCₓ.coe.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Set.{u1} R) (SetLike.Set.hasCoeT.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) s)))
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {s : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))} {t : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))}, (LE.le.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Preorder.toLE.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Submodule.completeLattice.{u1, u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) s t) -> (HasSubset.Subset.{u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (Set.instHasSubsetSet.{u1} (PrimeSpectrum.{u1} R _inst_1)) (PrimeSpectrum.zeroLocus.{u1} R _inst_1 (SetLike.coe.{u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) R (Submodule.setLike.{u1, u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) t)) (PrimeSpectrum.zeroLocus.{u1} R _inst_1 (SetLike.coe.{u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) R (Submodule.setLike.{u1, u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) s)))
-Case conversion may be inaccurate. Consider using '#align prime_spectrum.zero_locus_anti_mono_ideal PrimeSpectrum.zeroLocus_anti_mono_idealₓ'. -/
 theorem zeroLocus_anti_mono_ideal {s t : Ideal R} (h : s ≤ t) :
     zeroLocus (t : Set R) ⊆ zeroLocus (s : Set R) :=
   (gc R).monotone_l h
 #align prime_spectrum.zero_locus_anti_mono_ideal PrimeSpectrum.zeroLocus_anti_mono_ideal
 
-/- warning: prime_spectrum.vanishing_ideal_anti_mono -> PrimeSpectrum.vanishingIdeal_anti_mono is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {s : Set.{u1} (PrimeSpectrum.{u1} R _inst_1)} {t : Set.{u1} (PrimeSpectrum.{u1} R _inst_1)}, (HasSubset.Subset.{u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (Set.hasSubset.{u1} (PrimeSpectrum.{u1} R _inst_1)) s t) -> (LE.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Preorder.toHasLe.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (SetLike.partialOrder.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) (PrimeSpectrum.vanishingIdeal.{u1} R _inst_1 t) (PrimeSpectrum.vanishingIdeal.{u1} R _inst_1 s))
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {s : Set.{u1} (PrimeSpectrum.{u1} R _inst_1)} {t : Set.{u1} (PrimeSpectrum.{u1} R _inst_1)}, (HasSubset.Subset.{u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (Set.instHasSubsetSet.{u1} (PrimeSpectrum.{u1} R _inst_1)) s t) -> (LE.le.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Preorder.toLE.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Submodule.completeLattice.{u1, u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (PrimeSpectrum.vanishingIdeal.{u1} R _inst_1 t) (PrimeSpectrum.vanishingIdeal.{u1} R _inst_1 s))
-Case conversion may be inaccurate. Consider using '#align prime_spectrum.vanishing_ideal_anti_mono PrimeSpectrum.vanishingIdeal_anti_monoₓ'. -/
 theorem vanishingIdeal_anti_mono {s t : Set (PrimeSpectrum R)} (h : s ⊆ t) :
     vanishingIdeal t ≤ vanishingIdeal s :=
   (gc R).monotone_u h
 #align prime_spectrum.vanishing_ideal_anti_mono PrimeSpectrum.vanishingIdeal_anti_mono
 
-/- warning: prime_spectrum.zero_locus_subset_zero_locus_iff -> PrimeSpectrum.zeroLocus_subset_zeroLocus_iff is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] (I : Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (J : Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))), Iff (HasSubset.Subset.{u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (Set.hasSubset.{u1} (PrimeSpectrum.{u1} R _inst_1)) (PrimeSpectrum.zeroLocus.{u1} R _inst_1 ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Set.{u1} R) (HasLiftT.mk.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Set.{u1} R) (CoeTCₓ.coe.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Set.{u1} R) (SetLike.Set.hasCoeT.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) I)) (PrimeSpectrum.zeroLocus.{u1} R _inst_1 ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Set.{u1} R) (HasLiftT.mk.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Set.{u1} R) (CoeTCₓ.coe.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Set.{u1} R) (SetLike.Set.hasCoeT.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) J))) (LE.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Preorder.toHasLe.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (SetLike.partialOrder.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) J (Ideal.radical.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1) I))
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))), Iff (HasSubset.Subset.{u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (Set.instHasSubsetSet.{u1} (PrimeSpectrum.{u1} R _inst_1)) (PrimeSpectrum.zeroLocus.{u1} R _inst_1 (SetLike.coe.{u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) R (Submodule.setLike.{u1, u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) I)) (PrimeSpectrum.zeroLocus.{u1} R _inst_1 (SetLike.coe.{u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) R (Submodule.setLike.{u1, u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) J))) (LE.le.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Preorder.toLE.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Submodule.completeLattice.{u1, u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) J (Ideal.radical.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1) I))
-Case conversion may be inaccurate. Consider using '#align prime_spectrum.zero_locus_subset_zero_locus_iff PrimeSpectrum.zeroLocus_subset_zeroLocus_iffₓ'. -/
 theorem zeroLocus_subset_zeroLocus_iff (I J : Ideal R) :
     zeroLocus (I : Set R) ⊆ zeroLocus (J : Set R) ↔ J ≤ I.radical :=
   ⟨fun h =>
@@ -366,22 +300,10 @@ theorem zeroLocus_subset_zeroLocus_singleton_iff (f g : R) :
 #align prime_spectrum.zero_locus_subset_zero_locus_singleton_iff PrimeSpectrum.zeroLocus_subset_zeroLocus_singleton_iff
 -/
 
-/- warning: prime_spectrum.zero_locus_bot -> PrimeSpectrum.zeroLocus_bot is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R], Eq.{succ u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (PrimeSpectrum.zeroLocus.{u1} R _inst_1 ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Set.{u1} R) (HasLiftT.mk.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Set.{u1} R) (CoeTCₓ.coe.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Set.{u1} R) (SetLike.Set.hasCoeT.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) (Bot.bot.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Submodule.hasBot.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) (Set.univ.{u1} (PrimeSpectrum.{u1} R _inst_1))
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R], Eq.{succ u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (PrimeSpectrum.zeroLocus.{u1} R _inst_1 (SetLike.coe.{u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) R (Submodule.setLike.{u1, u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Bot.bot.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Submodule.instBotSubmodule.{u1, u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))) (Set.univ.{u1} (PrimeSpectrum.{u1} R _inst_1))
-Case conversion may be inaccurate. Consider using '#align prime_spectrum.zero_locus_bot PrimeSpectrum.zeroLocus_botₓ'. -/
 theorem zeroLocus_bot : zeroLocus ((⊥ : Ideal R) : Set R) = Set.univ :=
   (gc R).l_bot
 #align prime_spectrum.zero_locus_bot PrimeSpectrum.zeroLocus_bot
 
-/- warning: prime_spectrum.zero_locus_singleton_zero -> PrimeSpectrum.zeroLocus_singleton_zero is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R], Eq.{succ u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (PrimeSpectrum.zeroLocus.{u1} R _inst_1 (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.hasSingleton.{u1} R) (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))))))))) (Set.univ.{u1} (PrimeSpectrum.{u1} R _inst_1))
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R], Eq.{succ u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (PrimeSpectrum.zeroLocus.{u1} R _inst_1 (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.instSingletonSet.{u1} R) (OfNat.ofNat.{u1} R 0 (Zero.toOfNat0.{u1} R (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))) (Set.univ.{u1} (PrimeSpectrum.{u1} R _inst_1))
-Case conversion may be inaccurate. Consider using '#align prime_spectrum.zero_locus_singleton_zero PrimeSpectrum.zeroLocus_singleton_zeroₓ'. -/
 @[simp]
 theorem zeroLocus_singleton_zero : zeroLocus ({0} : Set R) = Set.univ :=
   zeroLocus_bot
@@ -394,23 +316,11 @@ theorem zeroLocus_empty : zeroLocus (∅ : Set R) = Set.univ :=
 #align prime_spectrum.zero_locus_empty PrimeSpectrum.zeroLocus_empty
 -/
 
-/- warning: prime_spectrum.vanishing_ideal_univ -> PrimeSpectrum.vanishingIdeal_univ is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R], Eq.{succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PrimeSpectrum.vanishingIdeal.{u1} R _inst_1 (EmptyCollection.emptyCollection.{u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (Set.hasEmptyc.{u1} (PrimeSpectrum.{u1} R _inst_1)))) (Top.top.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Submodule.hasTop.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R], Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (PrimeSpectrum.vanishingIdeal.{u1} R _inst_1 (EmptyCollection.emptyCollection.{u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (Set.instEmptyCollectionSet.{u1} (PrimeSpectrum.{u1} R _inst_1)))) (Top.top.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Submodule.instTopSubmodule.{u1, u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))
-Case conversion may be inaccurate. Consider using '#align prime_spectrum.vanishing_ideal_univ PrimeSpectrum.vanishingIdeal_univₓ'. -/
 @[simp]
 theorem vanishingIdeal_univ : vanishingIdeal (∅ : Set (PrimeSpectrum R)) = ⊤ := by
   simpa using (gc R).u_top
 #align prime_spectrum.vanishing_ideal_univ PrimeSpectrum.vanishingIdeal_univ
 
-/- warning: prime_spectrum.zero_locus_empty_of_one_mem -> PrimeSpectrum.zeroLocus_empty_of_one_mem is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {s : Set.{u1} R}, (Membership.Mem.{u1, u1} R (Set.{u1} R) (Set.hasMem.{u1} R) (OfNat.ofNat.{u1} R 1 (OfNat.mk.{u1} R 1 (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddGroupWithOne.toAddMonoidWithOne.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (CommRing.toRing.{u1} R _inst_1)))))))) s) -> (Eq.{succ u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (PrimeSpectrum.zeroLocus.{u1} R _inst_1 s) (EmptyCollection.emptyCollection.{u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (Set.hasEmptyc.{u1} (PrimeSpectrum.{u1} R _inst_1))))
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {s : Set.{u1} R}, (Membership.mem.{u1, u1} R (Set.{u1} R) (Set.instMembershipSet.{u1} R) (OfNat.ofNat.{u1} R 1 (One.toOfNat1.{u1} R (Semiring.toOne.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) s) -> (Eq.{succ u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (PrimeSpectrum.zeroLocus.{u1} R _inst_1 s) (EmptyCollection.emptyCollection.{u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (Set.instEmptyCollectionSet.{u1} (PrimeSpectrum.{u1} R _inst_1))))
-Case conversion may be inaccurate. Consider using '#align prime_spectrum.zero_locus_empty_of_one_mem PrimeSpectrum.zeroLocus_empty_of_one_memₓ'. -/
 theorem zeroLocus_empty_of_one_mem {s : Set R} (h : (1 : R) ∈ s) : zeroLocus s = ∅ :=
   by
   rw [Set.eq_empty_iff_forall_not_mem]
@@ -421,23 +331,11 @@ theorem zeroLocus_empty_of_one_mem {s : Set R} (h : (1 : R) ∈ s) : zeroLocus s
   apply x_prime.ne_top eq_top
 #align prime_spectrum.zero_locus_empty_of_one_mem PrimeSpectrum.zeroLocus_empty_of_one_mem
 
-/- warning: prime_spectrum.zero_locus_singleton_one -> PrimeSpectrum.zeroLocus_singleton_one is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R], Eq.{succ u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (PrimeSpectrum.zeroLocus.{u1} R _inst_1 (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.hasSingleton.{u1} R) (OfNat.ofNat.{u1} R 1 (OfNat.mk.{u1} R 1 (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddGroupWithOne.toAddMonoidWithOne.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (CommRing.toRing.{u1} R _inst_1)))))))))) (EmptyCollection.emptyCollection.{u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (Set.hasEmptyc.{u1} (PrimeSpectrum.{u1} R _inst_1)))
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R], Eq.{succ u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (PrimeSpectrum.zeroLocus.{u1} R _inst_1 (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.instSingletonSet.{u1} R) (OfNat.ofNat.{u1} R 1 (One.toOfNat1.{u1} R (Semiring.toOne.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))) (EmptyCollection.emptyCollection.{u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (Set.instEmptyCollectionSet.{u1} (PrimeSpectrum.{u1} R _inst_1)))
-Case conversion may be inaccurate. Consider using '#align prime_spectrum.zero_locus_singleton_one PrimeSpectrum.zeroLocus_singleton_oneₓ'. -/
 @[simp]
 theorem zeroLocus_singleton_one : zeroLocus ({1} : Set R) = ∅ :=
   zeroLocus_empty_of_one_mem (Set.mem_singleton (1 : R))
 #align prime_spectrum.zero_locus_singleton_one PrimeSpectrum.zeroLocus_singleton_one
 
-/- warning: prime_spectrum.zero_locus_empty_iff_eq_top -> PrimeSpectrum.zeroLocus_empty_iff_eq_top is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {I : Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))}, Iff (Eq.{succ u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (PrimeSpectrum.zeroLocus.{u1} R _inst_1 ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Set.{u1} R) (HasLiftT.mk.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Set.{u1} R) (CoeTCₓ.coe.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Set.{u1} R) (SetLike.Set.hasCoeT.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) I)) (EmptyCollection.emptyCollection.{u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (Set.hasEmptyc.{u1} (PrimeSpectrum.{u1} R _inst_1)))) (Eq.{succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) I (Top.top.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Submodule.hasTop.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))}, Iff (Eq.{succ u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (PrimeSpectrum.zeroLocus.{u1} R _inst_1 (SetLike.coe.{u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) R (Submodule.setLike.{u1, u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) I)) (EmptyCollection.emptyCollection.{u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (Set.instEmptyCollectionSet.{u1} (PrimeSpectrum.{u1} R _inst_1)))) (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) I (Top.top.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Submodule.instTopSubmodule.{u1, u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))
-Case conversion may be inaccurate. Consider using '#align prime_spectrum.zero_locus_empty_iff_eq_top PrimeSpectrum.zeroLocus_empty_iff_eq_topₓ'. -/
 theorem zeroLocus_empty_iff_eq_top {I : Ideal R} : zeroLocus (I : Set R) = ∅ ↔ I = ⊤ :=
   by
   constructor
@@ -455,34 +353,16 @@ theorem zeroLocus_univ : zeroLocus (Set.univ : Set R) = ∅ :=
 #align prime_spectrum.zero_locus_univ PrimeSpectrum.zeroLocus_univ
 -/
 
-/- warning: prime_spectrum.vanishing_ideal_eq_top_iff -> PrimeSpectrum.vanishingIdeal_eq_top_iff is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {s : Set.{u1} (PrimeSpectrum.{u1} R _inst_1)}, Iff (Eq.{succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PrimeSpectrum.vanishingIdeal.{u1} R _inst_1 s) (Top.top.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Submodule.hasTop.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (Eq.{succ u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) s (EmptyCollection.emptyCollection.{u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (Set.hasEmptyc.{u1} (PrimeSpectrum.{u1} R _inst_1))))
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {s : Set.{u1} (PrimeSpectrum.{u1} R _inst_1)}, Iff (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (PrimeSpectrum.vanishingIdeal.{u1} R _inst_1 s) (Top.top.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Submodule.instTopSubmodule.{u1, u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Eq.{succ u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) s (EmptyCollection.emptyCollection.{u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (Set.instEmptyCollectionSet.{u1} (PrimeSpectrum.{u1} R _inst_1))))
-Case conversion may be inaccurate. Consider using '#align prime_spectrum.vanishing_ideal_eq_top_iff PrimeSpectrum.vanishingIdeal_eq_top_iffₓ'. -/
 theorem vanishingIdeal_eq_top_iff {s : Set (PrimeSpectrum R)} : vanishingIdeal s = ⊤ ↔ s = ∅ := by
   rw [← top_le_iff, ← subset_zero_locus_iff_le_vanishing_ideal, Submodule.top_coe, zero_locus_univ,
     Set.subset_empty_iff]
 #align prime_spectrum.vanishing_ideal_eq_top_iff PrimeSpectrum.vanishingIdeal_eq_top_iff
 
-/- warning: prime_spectrum.zero_locus_sup -> PrimeSpectrum.zeroLocus_sup is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] (I : Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (J : Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))), Eq.{succ u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (PrimeSpectrum.zeroLocus.{u1} R _inst_1 ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Set.{u1} R) (HasLiftT.mk.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Set.{u1} R) (CoeTCₓ.coe.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Set.{u1} R) (SetLike.Set.hasCoeT.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) (Sup.sup.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (SemilatticeSup.toHasSup.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (IdemSemiring.toSemilatticeSup.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Submodule.idemSemiring.{u1, u1} R (CommRing.toCommSemiring.{u1} R _inst_1) R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) I J))) (Inter.inter.{u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (Set.hasInter.{u1} (PrimeSpectrum.{u1} R _inst_1)) (PrimeSpectrum.zeroLocus.{u1} R _inst_1 ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Set.{u1} R) (HasLiftT.mk.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Set.{u1} R) (CoeTCₓ.coe.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Set.{u1} R) (SetLike.Set.hasCoeT.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) I)) (PrimeSpectrum.zeroLocus.{u1} R _inst_1 ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Set.{u1} R) (HasLiftT.mk.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Set.{u1} R) (CoeTCₓ.coe.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Set.{u1} R) (SetLike.Set.hasCoeT.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) J)))
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))), Eq.{succ u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (PrimeSpectrum.zeroLocus.{u1} R _inst_1 (SetLike.coe.{u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) R (Submodule.setLike.{u1, u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Sup.sup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (SemilatticeSup.toSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (IdemCommSemiring.toSemilatticeSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Ideal.instIdemCommSemiringIdealToSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) I J))) (Inter.inter.{u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (Set.instInterSet.{u1} (PrimeSpectrum.{u1} R _inst_1)) (PrimeSpectrum.zeroLocus.{u1} R _inst_1 (SetLike.coe.{u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) R (Submodule.setLike.{u1, u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) I)) (PrimeSpectrum.zeroLocus.{u1} R _inst_1 (SetLike.coe.{u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) R (Submodule.setLike.{u1, u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) J)))
-Case conversion may be inaccurate. Consider using '#align prime_spectrum.zero_locus_sup PrimeSpectrum.zeroLocus_supₓ'. -/
 theorem zeroLocus_sup (I J : Ideal R) :
     zeroLocus ((I ⊔ J : Ideal R) : Set R) = zeroLocus I ∩ zeroLocus J :=
   (gc R).l_sup
 #align prime_spectrum.zero_locus_sup PrimeSpectrum.zeroLocus_sup
 
-/- warning: prime_spectrum.zero_locus_union -> PrimeSpectrum.zeroLocus_union is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] (s : Set.{u1} R) (s' : Set.{u1} R), Eq.{succ u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (PrimeSpectrum.zeroLocus.{u1} R _inst_1 (Union.union.{u1} (Set.{u1} R) (Set.hasUnion.{u1} R) s s')) (Inter.inter.{u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (Set.hasInter.{u1} (PrimeSpectrum.{u1} R _inst_1)) (PrimeSpectrum.zeroLocus.{u1} R _inst_1 s) (PrimeSpectrum.zeroLocus.{u1} R _inst_1 s'))
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] (s : Set.{u1} R) (s' : Set.{u1} R), Eq.{succ u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (PrimeSpectrum.zeroLocus.{u1} R _inst_1 (Union.union.{u1} (Set.{u1} R) (Set.instUnionSet.{u1} R) s s')) (Inter.inter.{u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (Set.instInterSet.{u1} (PrimeSpectrum.{u1} R _inst_1)) (PrimeSpectrum.zeroLocus.{u1} R _inst_1 s) (PrimeSpectrum.zeroLocus.{u1} R _inst_1 s'))
-Case conversion may be inaccurate. Consider using '#align prime_spectrum.zero_locus_union PrimeSpectrum.zeroLocus_unionₓ'. -/
 theorem zeroLocus_union (s s' : Set R) : zeroLocus (s ∪ s') = zeroLocus s ∩ zeroLocus s' :=
   (gc_set R).l_sup
 #align prime_spectrum.zero_locus_union PrimeSpectrum.zeroLocus_union
@@ -494,23 +374,11 @@ theorem vanishingIdeal_union (t t' : Set (PrimeSpectrum R)) :
 #align prime_spectrum.vanishing_ideal_union PrimeSpectrum.vanishingIdeal_union
 -/
 
-/- warning: prime_spectrum.zero_locus_supr -> PrimeSpectrum.zeroLocus_iSup is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {ι : Sort.{u2}} (I : ι -> (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))), Eq.{succ u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (PrimeSpectrum.zeroLocus.{u1} R _inst_1 ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Set.{u1} R) (HasLiftT.mk.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Set.{u1} R) (CoeTCₓ.coe.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Set.{u1} R) (SetLike.Set.hasCoeT.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) (iSup.{u1, u2} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (ConditionallyCompleteLattice.toHasSup.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) ι (fun (i : ι) => I i)))) (Set.iInter.{u1, u2} (PrimeSpectrum.{u1} R _inst_1) ι (fun (i : ι) => PrimeSpectrum.zeroLocus.{u1} R _inst_1 ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Set.{u1} R) (HasLiftT.mk.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Set.{u1} R) (CoeTCₓ.coe.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Set.{u1} R) (SetLike.Set.hasCoeT.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) (I i))))
-but is expected to have type
-  forall {R : Type.{u2}} [_inst_1 : CommRing.{u2} R] {ι : Sort.{u1}} (I : ι -> (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))), Eq.{succ u2} (Set.{u2} (PrimeSpectrum.{u2} R _inst_1)) (PrimeSpectrum.zeroLocus.{u2} R _inst_1 (SetLike.coe.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (iSup.{u2, u1} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (ConditionallyCompleteLattice.toSupSet.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Submodule.completeLattice.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) ι (fun (i : ι) => I i)))) (Set.iInter.{u2, u1} (PrimeSpectrum.{u2} R _inst_1) ι (fun (i : ι) => PrimeSpectrum.zeroLocus.{u2} R _inst_1 (SetLike.coe.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (I i))))
-Case conversion may be inaccurate. Consider using '#align prime_spectrum.zero_locus_supr PrimeSpectrum.zeroLocus_iSupₓ'. -/
 theorem zeroLocus_iSup {ι : Sort _} (I : ι → Ideal R) :
     zeroLocus ((⨆ i, I i : Ideal R) : Set R) = ⋂ i, zeroLocus (I i) :=
   (gc R).l_iSup
 #align prime_spectrum.zero_locus_supr PrimeSpectrum.zeroLocus_iSup
 
-/- warning: prime_spectrum.zero_locus_Union -> PrimeSpectrum.zeroLocus_iUnion is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {ι : Sort.{u2}} (s : ι -> (Set.{u1} R)), Eq.{succ u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (PrimeSpectrum.zeroLocus.{u1} R _inst_1 (Set.iUnion.{u1, u2} R ι (fun (i : ι) => s i))) (Set.iInter.{u1, u2} (PrimeSpectrum.{u1} R _inst_1) ι (fun (i : ι) => PrimeSpectrum.zeroLocus.{u1} R _inst_1 (s i)))
-but is expected to have type
-  forall {R : Type.{u2}} [_inst_1 : CommRing.{u2} R] {ι : Sort.{u1}} (s : ι -> (Set.{u2} R)), Eq.{succ u2} (Set.{u2} (PrimeSpectrum.{u2} R _inst_1)) (PrimeSpectrum.zeroLocus.{u2} R _inst_1 (Set.iUnion.{u2, u1} R ι (fun (i : ι) => s i))) (Set.iInter.{u2, u1} (PrimeSpectrum.{u2} R _inst_1) ι (fun (i : ι) => PrimeSpectrum.zeroLocus.{u2} R _inst_1 (s i)))
-Case conversion may be inaccurate. Consider using '#align prime_spectrum.zero_locus_Union PrimeSpectrum.zeroLocus_iUnionₓ'. -/
 theorem zeroLocus_iUnion {ι : Sort _} (s : ι → Set R) :
     zeroLocus (⋃ i, s i) = ⋂ i, zeroLocus (s i) :=
   (gc_set R).l_iSup
@@ -522,56 +390,26 @@ theorem zeroLocus_bUnion (s : Set (Set R)) :
 #align prime_spectrum.zero_locus_bUnion PrimeSpectrum.zeroLocus_bUnion
 -/
 
-/- warning: prime_spectrum.vanishing_ideal_Union -> PrimeSpectrum.vanishingIdeal_iUnion is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {ι : Sort.{u2}} (t : ι -> (Set.{u1} (PrimeSpectrum.{u1} R _inst_1))), Eq.{succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PrimeSpectrum.vanishingIdeal.{u1} R _inst_1 (Set.iUnion.{u1, u2} (PrimeSpectrum.{u1} R _inst_1) ι (fun (i : ι) => t i))) (iInf.{u1, u2} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Submodule.hasInf.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) ι (fun (i : ι) => PrimeSpectrum.vanishingIdeal.{u1} R _inst_1 (t i)))
-but is expected to have type
-  forall {R : Type.{u2}} [_inst_1 : CommRing.{u2} R] {ι : Sort.{u1}} (t : ι -> (Set.{u2} (PrimeSpectrum.{u2} R _inst_1))), Eq.{succ u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PrimeSpectrum.vanishingIdeal.{u2} R _inst_1 (Set.iUnion.{u2, u1} (PrimeSpectrum.{u2} R _inst_1) ι (fun (i : ι) => t i))) (iInf.{u2, u1} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Submodule.instInfSetSubmodule.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) ι (fun (i : ι) => PrimeSpectrum.vanishingIdeal.{u2} R _inst_1 (t i)))
-Case conversion may be inaccurate. Consider using '#align prime_spectrum.vanishing_ideal_Union PrimeSpectrum.vanishingIdeal_iUnionₓ'. -/
 theorem vanishingIdeal_iUnion {ι : Sort _} (t : ι → Set (PrimeSpectrum R)) :
     vanishingIdeal (⋃ i, t i) = ⨅ i, vanishingIdeal (t i) :=
   (gc R).u_iInf
 #align prime_spectrum.vanishing_ideal_Union PrimeSpectrum.vanishingIdeal_iUnion
 
-/- warning: prime_spectrum.zero_locus_inf -> PrimeSpectrum.zeroLocus_inf is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] (I : Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (J : Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))), Eq.{succ u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (PrimeSpectrum.zeroLocus.{u1} R _inst_1 ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Set.{u1} R) (HasLiftT.mk.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Set.{u1} R) (CoeTCₓ.coe.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Set.{u1} R) (SetLike.Set.hasCoeT.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) (Inf.inf.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Submodule.hasInf.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) I J))) (Union.union.{u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (Set.hasUnion.{u1} (PrimeSpectrum.{u1} R _inst_1)) (PrimeSpectrum.zeroLocus.{u1} R _inst_1 ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Set.{u1} R) (HasLiftT.mk.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Set.{u1} R) (CoeTCₓ.coe.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Set.{u1} R) (SetLike.Set.hasCoeT.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) I)) (PrimeSpectrum.zeroLocus.{u1} R _inst_1 ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Set.{u1} R) (HasLiftT.mk.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Set.{u1} R) (CoeTCₓ.coe.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Set.{u1} R) (SetLike.Set.hasCoeT.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) J)))
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))), Eq.{succ u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (PrimeSpectrum.zeroLocus.{u1} R _inst_1 (SetLike.coe.{u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) R (Submodule.setLike.{u1, u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Inf.inf.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Submodule.instInfSubmodule.{u1, u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) I J))) (Union.union.{u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (Set.instUnionSet.{u1} (PrimeSpectrum.{u1} R _inst_1)) (PrimeSpectrum.zeroLocus.{u1} R _inst_1 (SetLike.coe.{u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) R (Submodule.setLike.{u1, u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) I)) (PrimeSpectrum.zeroLocus.{u1} R _inst_1 (SetLike.coe.{u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) R (Submodule.setLike.{u1, u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) J)))
-Case conversion may be inaccurate. Consider using '#align prime_spectrum.zero_locus_inf PrimeSpectrum.zeroLocus_infₓ'. -/
 theorem zeroLocus_inf (I J : Ideal R) :
     zeroLocus ((I ⊓ J : Ideal R) : Set R) = zeroLocus I ∪ zeroLocus J :=
   Set.ext fun x => x.2.inf_le
 #align prime_spectrum.zero_locus_inf PrimeSpectrum.zeroLocus_inf
 
-/- warning: prime_spectrum.union_zero_locus -> PrimeSpectrum.union_zeroLocus is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] (s : Set.{u1} R) (s' : Set.{u1} R), Eq.{succ u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (Union.union.{u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (Set.hasUnion.{u1} (PrimeSpectrum.{u1} R _inst_1)) (PrimeSpectrum.zeroLocus.{u1} R _inst_1 s) (PrimeSpectrum.zeroLocus.{u1} R _inst_1 s')) (PrimeSpectrum.zeroLocus.{u1} R _inst_1 ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Set.{u1} R) (HasLiftT.mk.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Set.{u1} R) (CoeTCₓ.coe.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Set.{u1} R) (SetLike.Set.hasCoeT.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) (Inf.inf.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Submodule.hasInf.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Ideal.span.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) s) (Ideal.span.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) s'))))
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] (s : Set.{u1} R) (s' : Set.{u1} R), Eq.{succ u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (Union.union.{u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (Set.instUnionSet.{u1} (PrimeSpectrum.{u1} R _inst_1)) (PrimeSpectrum.zeroLocus.{u1} R _inst_1 s) (PrimeSpectrum.zeroLocus.{u1} R _inst_1 s')) (PrimeSpectrum.zeroLocus.{u1} R _inst_1 (SetLike.coe.{u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) R (Submodule.setLike.{u1, u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Inf.inf.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Submodule.instInfSubmodule.{u1, u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) s) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) s'))))
-Case conversion may be inaccurate. Consider using '#align prime_spectrum.union_zero_locus PrimeSpectrum.union_zeroLocusₓ'. -/
 theorem union_zeroLocus (s s' : Set R) :
     zeroLocus s ∪ zeroLocus s' = zeroLocus (Ideal.span s ⊓ Ideal.span s' : Ideal R) := by
   rw [zero_locus_inf]; simp
 #align prime_spectrum.union_zero_locus PrimeSpectrum.union_zeroLocus
 
-/- warning: prime_spectrum.zero_locus_mul -> PrimeSpectrum.zeroLocus_mul is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] (I : Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (J : Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))), Eq.{succ u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (PrimeSpectrum.zeroLocus.{u1} R _inst_1 ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Set.{u1} R) (HasLiftT.mk.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Set.{u1} R) (CoeTCₓ.coe.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Set.{u1} R) (SetLike.Set.hasCoeT.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (instHMul.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasMul.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) I J))) (Union.union.{u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (Set.hasUnion.{u1} (PrimeSpectrum.{u1} R _inst_1)) (PrimeSpectrum.zeroLocus.{u1} R _inst_1 ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Set.{u1} R) (HasLiftT.mk.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Set.{u1} R) (CoeTCₓ.coe.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Set.{u1} R) (SetLike.Set.hasCoeT.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) I)) (PrimeSpectrum.zeroLocus.{u1} R _inst_1 ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Set.{u1} R) (HasLiftT.mk.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Set.{u1} R) (CoeTCₓ.coe.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Set.{u1} R) (SetLike.Set.hasCoeT.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) J)))
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))), Eq.{succ u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (PrimeSpectrum.zeroLocus.{u1} R _inst_1 (SetLike.coe.{u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) R (Submodule.setLike.{u1, u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Ideal.instMulIdealToSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) I J))) (Union.union.{u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (Set.instUnionSet.{u1} (PrimeSpectrum.{u1} R _inst_1)) (PrimeSpectrum.zeroLocus.{u1} R _inst_1 (SetLike.coe.{u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) R (Submodule.setLike.{u1, u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) I)) (PrimeSpectrum.zeroLocus.{u1} R _inst_1 (SetLike.coe.{u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) R (Submodule.setLike.{u1, u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) J)))
-Case conversion may be inaccurate. Consider using '#align prime_spectrum.zero_locus_mul PrimeSpectrum.zeroLocus_mulₓ'. -/
 theorem zeroLocus_mul (I J : Ideal R) :
     zeroLocus ((I * J : Ideal R) : Set R) = zeroLocus I ∪ zeroLocus J :=
   Set.ext fun x => x.2.mul_le
 #align prime_spectrum.zero_locus_mul PrimeSpectrum.zeroLocus_mul
 
-/- warning: prime_spectrum.zero_locus_singleton_mul -> PrimeSpectrum.zeroLocus_singleton_mul is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] (f : R) (g : R), Eq.{succ u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (PrimeSpectrum.zeroLocus.{u1} R _inst_1 (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.hasSingleton.{u1} R) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R (CommRing.toRing.{u1} R _inst_1)))) f g))) (Union.union.{u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (Set.hasUnion.{u1} (PrimeSpectrum.{u1} R _inst_1)) (PrimeSpectrum.zeroLocus.{u1} R _inst_1 (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.hasSingleton.{u1} R) f)) (PrimeSpectrum.zeroLocus.{u1} R _inst_1 (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.hasSingleton.{u1} R) g)))
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] (f : R) (g : R), Eq.{succ u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (PrimeSpectrum.zeroLocus.{u1} R _inst_1 (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.instSingletonSet.{u1} R) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (NonUnitalNonAssocRing.toMul.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) f g))) (Union.union.{u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (Set.instUnionSet.{u1} (PrimeSpectrum.{u1} R _inst_1)) (PrimeSpectrum.zeroLocus.{u1} R _inst_1 (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.instSingletonSet.{u1} R) f)) (PrimeSpectrum.zeroLocus.{u1} R _inst_1 (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.instSingletonSet.{u1} R) g)))
-Case conversion may be inaccurate. Consider using '#align prime_spectrum.zero_locus_singleton_mul PrimeSpectrum.zeroLocus_singleton_mulₓ'. -/
 theorem zeroLocus_singleton_mul (f g : R) :
     zeroLocus ({f * g} : Set R) = zeroLocus {f} ∪ zeroLocus {g} :=
   Set.ext fun x => by simpa using x.2.mul_mem_iff_mem_or_mem
@@ -585,24 +423,12 @@ theorem zeroLocus_pow (I : Ideal R) {n : ℕ} (hn : 0 < n) :
 #align prime_spectrum.zero_locus_pow PrimeSpectrum.zeroLocus_pow
 -/
 
-/- warning: prime_spectrum.zero_locus_singleton_pow -> PrimeSpectrum.zeroLocus_singleton_pow is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] (f : R) (n : Nat), (LT.lt.{0} Nat Nat.hasLt (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero))) n) -> (Eq.{succ u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (PrimeSpectrum.zeroLocus.{u1} R _inst_1 (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.hasSingleton.{u1} R) (HPow.hPow.{u1, 0, u1} R Nat R (instHPow.{u1, 0} R Nat (Monoid.Pow.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))) f n))) (PrimeSpectrum.zeroLocus.{u1} R _inst_1 (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.hasSingleton.{u1} R) f)))
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] (f : R) (n : Nat), (LT.lt.{0} Nat instLTNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)) n) -> (Eq.{succ u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (PrimeSpectrum.zeroLocus.{u1} R _inst_1 (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.instSingletonSet.{u1} R) (HPow.hPow.{u1, 0, u1} R Nat R (instHPow.{u1, 0} R Nat (Monoid.Pow.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) f n))) (PrimeSpectrum.zeroLocus.{u1} R _inst_1 (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.instSingletonSet.{u1} R) f)))
-Case conversion may be inaccurate. Consider using '#align prime_spectrum.zero_locus_singleton_pow PrimeSpectrum.zeroLocus_singleton_powₓ'. -/
 @[simp]
 theorem zeroLocus_singleton_pow (f : R) (n : ℕ) (hn : 0 < n) :
     zeroLocus ({f ^ n} : Set R) = zeroLocus {f} :=
   Set.ext fun x => by simpa using x.2.pow_mem_iff_mem n hn
 #align prime_spectrum.zero_locus_singleton_pow PrimeSpectrum.zeroLocus_singleton_pow
 
-/- warning: prime_spectrum.sup_vanishing_ideal_le -> PrimeSpectrum.sup_vanishingIdeal_le is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] (t : Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (t' : Set.{u1} (PrimeSpectrum.{u1} R _inst_1)), LE.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Preorder.toHasLe.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (SetLike.partialOrder.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) (Sup.sup.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (SemilatticeSup.toHasSup.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (IdemSemiring.toSemilatticeSup.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Submodule.idemSemiring.{u1, u1} R (CommRing.toCommSemiring.{u1} R _inst_1) R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (PrimeSpectrum.vanishingIdeal.{u1} R _inst_1 t) (PrimeSpectrum.vanishingIdeal.{u1} R _inst_1 t')) (PrimeSpectrum.vanishingIdeal.{u1} R _inst_1 (Inter.inter.{u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (Set.hasInter.{u1} (PrimeSpectrum.{u1} R _inst_1)) t t'))
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] (t : Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (t' : Set.{u1} (PrimeSpectrum.{u1} R _inst_1)), LE.le.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Preorder.toLE.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Submodule.completeLattice.{u1, u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (Sup.sup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (SemilatticeSup.toSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (IdemCommSemiring.toSemilatticeSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Ideal.instIdemCommSemiringIdealToSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (PrimeSpectrum.vanishingIdeal.{u1} R _inst_1 t) (PrimeSpectrum.vanishingIdeal.{u1} R _inst_1 t')) (PrimeSpectrum.vanishingIdeal.{u1} R _inst_1 (Inter.inter.{u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (Set.instInterSet.{u1} (PrimeSpectrum.{u1} R _inst_1)) t t'))
-Case conversion may be inaccurate. Consider using '#align prime_spectrum.sup_vanishing_ideal_le PrimeSpectrum.sup_vanishingIdeal_leₓ'. -/
 theorem sup_vanishingIdeal_le (t t' : Set (PrimeSpectrum R)) :
     vanishingIdeal t ⊔ vanishingIdeal t' ≤ vanishingIdeal (t ∩ t') :=
   by
@@ -613,12 +439,6 @@ theorem sup_vanishingIdeal_le (t t' : Set (PrimeSpectrum R)) :
   apply Submodule.add_mem <;> solve_by_elim
 #align prime_spectrum.sup_vanishing_ideal_le PrimeSpectrum.sup_vanishingIdeal_le
 
-/- warning: prime_spectrum.mem_compl_zero_locus_iff_not_mem -> PrimeSpectrum.mem_compl_zeroLocus_iff_not_mem is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {f : R} {I : PrimeSpectrum.{u1} R _inst_1}, Iff (Membership.Mem.{u1, u1} (PrimeSpectrum.{u1} R _inst_1) (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (Set.hasMem.{u1} (PrimeSpectrum.{u1} R _inst_1)) I (HasCompl.compl.{u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (BooleanAlgebra.toHasCompl.{u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (Set.booleanAlgebra.{u1} (PrimeSpectrum.{u1} R _inst_1))) (PrimeSpectrum.zeroLocus.{u1} R _inst_1 (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.hasSingleton.{u1} R) f)))) (Not (Membership.Mem.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (SetLike.hasMem.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) f (PrimeSpectrum.asIdeal.{u1} R _inst_1 I)))
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {f : R} {I : PrimeSpectrum.{u1} R _inst_1}, Iff (Membership.mem.{u1, u1} (PrimeSpectrum.{u1} R _inst_1) (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (Set.instMembershipSet.{u1} (PrimeSpectrum.{u1} R _inst_1)) I (HasCompl.compl.{u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (BooleanAlgebra.toHasCompl.{u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (Set.instBooleanAlgebraSet.{u1} (PrimeSpectrum.{u1} R _inst_1))) (PrimeSpectrum.zeroLocus.{u1} R _inst_1 (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.instSingletonSet.{u1} R) f)))) (Not (Membership.mem.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) R (Submodule.setLike.{u1, u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) f (PrimeSpectrum.asIdeal.{u1} R _inst_1 I)))
-Case conversion may be inaccurate. Consider using '#align prime_spectrum.mem_compl_zero_locus_iff_not_mem PrimeSpectrum.mem_compl_zeroLocus_iff_not_memₓ'. -/
 theorem mem_compl_zeroLocus_iff_not_mem {f : R} {I : PrimeSpectrum R} :
     I ∈ (zeroLocus {f} : Set (PrimeSpectrum R))ᶜ ↔ f ∉ I.asIdeal := by
   rw [Set.mem_compl_iff, mem_zero_locus, Set.singleton_subset_iff] <;> rfl
@@ -639,12 +459,6 @@ instance zariskiTopology : TopologicalSpace (PrimeSpectrum R) :=
 #align prime_spectrum.zariski_topology PrimeSpectrum.zariskiTopology
 -/
 
-/- warning: prime_spectrum.is_open_iff -> PrimeSpectrum.isOpen_iff is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] (U : Set.{u1} (PrimeSpectrum.{u1} R _inst_1)), Iff (IsOpen.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1) U) (Exists.{succ u1} (Set.{u1} R) (fun (s : Set.{u1} R) => Eq.{succ u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (HasCompl.compl.{u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (BooleanAlgebra.toHasCompl.{u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (Set.booleanAlgebra.{u1} (PrimeSpectrum.{u1} R _inst_1))) U) (PrimeSpectrum.zeroLocus.{u1} R _inst_1 s)))
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] (U : Set.{u1} (PrimeSpectrum.{u1} R _inst_1)), Iff (IsOpen.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1) U) (Exists.{succ u1} (Set.{u1} R) (fun (s : Set.{u1} R) => Eq.{succ u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (HasCompl.compl.{u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (BooleanAlgebra.toHasCompl.{u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (Set.instBooleanAlgebraSet.{u1} (PrimeSpectrum.{u1} R _inst_1))) U) (PrimeSpectrum.zeroLocus.{u1} R _inst_1 s)))
-Case conversion may be inaccurate. Consider using '#align prime_spectrum.is_open_iff PrimeSpectrum.isOpen_iffₓ'. -/
 theorem isOpen_iff (U : Set (PrimeSpectrum R)) : IsOpen U ↔ ∃ s, Uᶜ = zeroLocus s := by
   simp only [@eq_comm _ (Uᶜ)] <;> rfl
 #align prime_spectrum.is_open_iff PrimeSpectrum.isOpen_iff
@@ -736,12 +550,6 @@ theorem isRadical_vanishingIdeal (s : Set (PrimeSpectrum R)) : (vanishingIdeal s
 #align prime_spectrum.is_radical_vanishing_ideal PrimeSpectrum.isRadical_vanishingIdeal
 -/
 
-/- warning: prime_spectrum.vanishing_ideal_anti_mono_iff -> PrimeSpectrum.vanishingIdeal_anti_mono_iff is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {s : Set.{u1} (PrimeSpectrum.{u1} R _inst_1)} {t : Set.{u1} (PrimeSpectrum.{u1} R _inst_1)}, (IsClosed.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1) t) -> (Iff (HasSubset.Subset.{u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (Set.hasSubset.{u1} (PrimeSpectrum.{u1} R _inst_1)) s t) (LE.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Preorder.toHasLe.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (SetLike.partialOrder.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) (PrimeSpectrum.vanishingIdeal.{u1} R _inst_1 t) (PrimeSpectrum.vanishingIdeal.{u1} R _inst_1 s)))
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {s : Set.{u1} (PrimeSpectrum.{u1} R _inst_1)} {t : Set.{u1} (PrimeSpectrum.{u1} R _inst_1)}, (IsClosed.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1) t) -> (Iff (HasSubset.Subset.{u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (Set.instHasSubsetSet.{u1} (PrimeSpectrum.{u1} R _inst_1)) s t) (LE.le.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Preorder.toLE.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Submodule.completeLattice.{u1, u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (PrimeSpectrum.vanishingIdeal.{u1} R _inst_1 t) (PrimeSpectrum.vanishingIdeal.{u1} R _inst_1 s)))
-Case conversion may be inaccurate. Consider using '#align prime_spectrum.vanishing_ideal_anti_mono_iff PrimeSpectrum.vanishingIdeal_anti_mono_iffₓ'. -/
 theorem vanishingIdeal_anti_mono_iff {s t : Set (PrimeSpectrum R)} (ht : IsClosed t) :
     s ⊆ t ↔ vanishingIdeal t ≤ vanishingIdeal s :=
   ⟨vanishingIdeal_anti_mono, fun h =>
@@ -750,24 +558,12 @@ theorem vanishingIdeal_anti_mono_iff {s t : Set (PrimeSpectrum R)} (ht : IsClose
     convert← zero_locus_anti_mono_ideal h <;> apply zero_locus_vanishing_ideal_eq_closure⟩
 #align prime_spectrum.vanishing_ideal_anti_mono_iff PrimeSpectrum.vanishingIdeal_anti_mono_iff
 
-/- warning: prime_spectrum.vanishing_ideal_strict_anti_mono_iff -> PrimeSpectrum.vanishingIdeal_strict_anti_mono_iff is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {s : Set.{u1} (PrimeSpectrum.{u1} R _inst_1)} {t : Set.{u1} (PrimeSpectrum.{u1} R _inst_1)}, (IsClosed.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1) s) -> (IsClosed.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1) t) -> (Iff (HasSSubset.SSubset.{u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (Set.hasSsubset.{u1} (PrimeSpectrum.{u1} R _inst_1)) s t) (LT.lt.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Preorder.toHasLt.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (SetLike.partialOrder.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) (PrimeSpectrum.vanishingIdeal.{u1} R _inst_1 t) (PrimeSpectrum.vanishingIdeal.{u1} R _inst_1 s)))
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {s : Set.{u1} (PrimeSpectrum.{u1} R _inst_1)} {t : Set.{u1} (PrimeSpectrum.{u1} R _inst_1)}, (IsClosed.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1) s) -> (IsClosed.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1) t) -> (Iff (HasSSubset.SSubset.{u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (Set.instHasSSubsetSet.{u1} (PrimeSpectrum.{u1} R _inst_1)) s t) (LT.lt.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Preorder.toLT.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Submodule.completeLattice.{u1, u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (PrimeSpectrum.vanishingIdeal.{u1} R _inst_1 t) (PrimeSpectrum.vanishingIdeal.{u1} R _inst_1 s)))
-Case conversion may be inaccurate. Consider using '#align prime_spectrum.vanishing_ideal_strict_anti_mono_iff PrimeSpectrum.vanishingIdeal_strict_anti_mono_iffₓ'. -/
 theorem vanishingIdeal_strict_anti_mono_iff {s t : Set (PrimeSpectrum R)} (hs : IsClosed s)
     (ht : IsClosed t) : s ⊂ t ↔ vanishingIdeal t < vanishingIdeal s := by
   rw [Set.ssubset_def, vanishing_ideal_anti_mono_iff hs, vanishing_ideal_anti_mono_iff ht,
     lt_iff_le_not_le]
 #align prime_spectrum.vanishing_ideal_strict_anti_mono_iff PrimeSpectrum.vanishingIdeal_strict_anti_mono_iff
 
-/- warning: prime_spectrum.closeds_embedding -> PrimeSpectrum.closedsEmbedding is a dubious translation:
-lean 3 declaration is
-  forall (R : Type.{u1}) [_inst_3 : CommRing.{u1} R], OrderEmbedding.{u1, u1} (OrderDual.{u1} (TopologicalSpace.Closeds.{u1} (PrimeSpectrum.{u1} R _inst_3) (PrimeSpectrum.zariskiTopology.{u1} R _inst_3))) (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_3))) (OrderDual.hasLe.{u1} (TopologicalSpace.Closeds.{u1} (PrimeSpectrum.{u1} R _inst_3) (PrimeSpectrum.zariskiTopology.{u1} R _inst_3)) (Preorder.toHasLe.{u1} (TopologicalSpace.Closeds.{u1} (PrimeSpectrum.{u1} R _inst_3) (PrimeSpectrum.zariskiTopology.{u1} R _inst_3)) (PartialOrder.toPreorder.{u1} (TopologicalSpace.Closeds.{u1} (PrimeSpectrum.{u1} R _inst_3) (PrimeSpectrum.zariskiTopology.{u1} R _inst_3)) (SetLike.partialOrder.{u1, u1} (TopologicalSpace.Closeds.{u1} (PrimeSpectrum.{u1} R _inst_3) (PrimeSpectrum.zariskiTopology.{u1} R _inst_3)) (PrimeSpectrum.{u1} R _inst_3) (TopologicalSpace.Closeds.setLike.{u1} (PrimeSpectrum.{u1} R _inst_3) (PrimeSpectrum.zariskiTopology.{u1} R _inst_3)))))) (Preorder.toHasLe.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_3))) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_3))) (SetLike.partialOrder.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_3))) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_3))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_3)))))))
-but is expected to have type
-  forall (R : Type.{u1}) [_inst_3 : CommRing.{u1} R], OrderEmbedding.{u1, u1} (OrderDual.{u1} (TopologicalSpace.Closeds.{u1} (PrimeSpectrum.{u1} R _inst_3) (PrimeSpectrum.zariskiTopology.{u1} R _inst_3))) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3))) (OrderDual.instLEOrderDual.{u1} (TopologicalSpace.Closeds.{u1} (PrimeSpectrum.{u1} R _inst_3) (PrimeSpectrum.zariskiTopology.{u1} R _inst_3)) (Preorder.toLE.{u1} (TopologicalSpace.Closeds.{u1} (PrimeSpectrum.{u1} R _inst_3) (PrimeSpectrum.zariskiTopology.{u1} R _inst_3)) (PartialOrder.toPreorder.{u1} (TopologicalSpace.Closeds.{u1} (PrimeSpectrum.{u1} R _inst_3) (PrimeSpectrum.zariskiTopology.{u1} R _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (TopologicalSpace.Closeds.{u1} (PrimeSpectrum.{u1} R _inst_3) (PrimeSpectrum.zariskiTopology.{u1} R _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (TopologicalSpace.Closeds.{u1} (PrimeSpectrum.{u1} R _inst_3) (PrimeSpectrum.zariskiTopology.{u1} R _inst_3)) (TopologicalSpace.Closeds.instCompleteLatticeCloseds.{u1} (PrimeSpectrum.{u1} R _inst_3) (PrimeSpectrum.zariskiTopology.{u1} R _inst_3))))))) (Preorder.toLE.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3))) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3))) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3))) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3))) (Submodule.completeLattice.{u1, u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3))))))))
-Case conversion may be inaccurate. Consider using '#align prime_spectrum.closeds_embedding PrimeSpectrum.closedsEmbeddingₓ'. -/
 /-- The antitone order embedding of closed subsets of `Spec R` into ideals of `R`. -/
 def closedsEmbedding (R : Type _) [CommRing R] :
     (TopologicalSpace.Closeds <| PrimeSpectrum R)ᵒᵈ ↪o Ideal R :=
@@ -852,12 +648,6 @@ section Comap
 
 variable {S' : Type _} [CommRing S']
 
-/- warning: prime_spectrum.preimage_comap_zero_locus_aux -> PrimeSpectrum.preimage_comap_zeroLocus_aux is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : CommRing.{u2} S] (f : RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) (s : Set.{u1} R), Eq.{succ u2} (Set.{u2} (PrimeSpectrum.{u2} S _inst_2)) (Set.preimage.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (fun (y : PrimeSpectrum.{u2} S _inst_2) => PrimeSpectrum.mk.{u1} R _inst_1 (Ideal.comap.{u1, u2, max u1 u2} R S (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) (RingHom.ringHomClass.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) f (PrimeSpectrum.asIdeal.{u2} S _inst_2 y)) (inferInstance.{0} (Ideal.IsPrime.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ideal.comap.{u1, u2, max u1 u2} R S (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) (RingHom.ringHomClass.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) f (PrimeSpectrum.asIdeal.{u2} S _inst_2 y))) (Ideal.IsPrime.comap.{u1, u2, max u1 u2} R S (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) (RingHom.ringHomClass.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) f (PrimeSpectrum.asIdeal.{u2} S _inst_2 y) (PrimeSpectrum.isPrime.{u2} S _inst_2 y)))) (PrimeSpectrum.zeroLocus.{u1} R _inst_1 s)) (PrimeSpectrum.zeroLocus.{u2} S _inst_2 (Set.image.{u1, u2} R S (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) (fun (_x : RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) => R -> S) (RingHom.hasCoeToFun.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) f) s))
-but is expected to have type
-  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : CommRing.{u2} S] (f : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (s : Set.{u1} R), Eq.{succ u2} (Set.{u2} (PrimeSpectrum.{u2} S _inst_2)) (Set.preimage.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (fun (y : PrimeSpectrum.{u2} S _inst_2) => PrimeSpectrum.mk.{u1} R _inst_1 (Ideal.comap.{u1, u2, max u1 u2} R S (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (RingHom.instRingHomClassRingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) f (PrimeSpectrum.asIdeal.{u2} S _inst_2 y)) (inferInstance.{0} (Ideal.IsPrime.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Ideal.comap.{u1, u2, max u1 u2} R S (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (RingHom.instRingHomClassRingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) f (PrimeSpectrum.asIdeal.{u2} S _inst_2 y))) (Ideal.IsPrime.comap.{u1, u2, max u1 u2} R S (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (RingHom.instRingHomClassRingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) f (PrimeSpectrum.asIdeal.{u2} S _inst_2 y) (PrimeSpectrum.IsPrime.{u2} S _inst_2 y)))) (PrimeSpectrum.zeroLocus.{u1} R _inst_1 s)) (PrimeSpectrum.zeroLocus.{u2} S _inst_2 (Set.image.{u1, u2} R S (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) R S (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (NonUnitalNonAssocSemiring.toMul.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (RingHom.instRingHomClassRingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))))) f) s))
-Case conversion may be inaccurate. Consider using '#align prime_spectrum.preimage_comap_zero_locus_aux PrimeSpectrum.preimage_comap_zeroLocus_auxₓ'. -/
 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 =
@@ -884,12 +674,6 @@ def comap (f : R →+* S) : C(PrimeSpectrum S, PrimeSpectrum R)
 
 variable (f : R →+* S)
 
-/- warning: prime_spectrum.comap_as_ideal -> PrimeSpectrum.comap_asIdeal is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : CommRing.{u2} S] (f : RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) (y : PrimeSpectrum.{u2} S _inst_2), Eq.{succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PrimeSpectrum.asIdeal.{u1} R _inst_1 (coeFn.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (ContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (fun (_x : ContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) => (PrimeSpectrum.{u2} S _inst_2) -> (PrimeSpectrum.{u1} R _inst_1)) (ContinuousMap.hasCoeToFun.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (PrimeSpectrum.comap.{u1, u2} R S _inst_1 _inst_2 f) y)) (Ideal.comap.{u1, u2, max u1 u2} R S (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) (RingHom.ringHomClass.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) f (PrimeSpectrum.asIdeal.{u2} S _inst_2 y))
-but is expected to have type
-  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : CommRing.{u2} S] (f : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (y : PrimeSpectrum.{u2} S _inst_2), Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (PrimeSpectrum.asIdeal.{u1} R _inst_1 (FunLike.coe.{max (succ u1) (succ u2), succ u2, succ u1} (ContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (PrimeSpectrum.{u2} S _inst_2) (fun (_x : PrimeSpectrum.{u2} S _inst_2) => (fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : PrimeSpectrum.{u2} S _inst_2) => PrimeSpectrum.{u1} R _inst_1) _x) (ContinuousMapClass.toFunLike.{max u1 u2, u2, u1} (ContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1) (ContinuousMap.instContinuousMapClassContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1))) (PrimeSpectrum.comap.{u1, u2} R S _inst_1 _inst_2 f) y)) (Ideal.comap.{u1, u2, max u1 u2} R S (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (RingHom.instRingHomClassRingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) f (PrimeSpectrum.asIdeal.{u2} S _inst_2 y))
-Case conversion may be inaccurate. Consider using '#align prime_spectrum.comap_as_ideal PrimeSpectrum.comap_asIdealₓ'. -/
 @[simp]
 theorem comap_asIdeal (y : PrimeSpectrum S) : (comap f y).asIdeal = Ideal.comap f y.asIdeal :=
   rfl
@@ -901,45 +685,21 @@ theorem comap_id : comap (RingHom.id R) = ContinuousMap.id _ := by ext; rfl
 #align prime_spectrum.comap_id PrimeSpectrum.comap_id
 -/
 
-/- warning: prime_spectrum.comap_comp -> PrimeSpectrum.comap_comp is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : CommRing.{u2} S] {S' : Type.{u3}} [_inst_3 : CommRing.{u3} S'] (f : RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) (g : RingHom.{u2, u3} S S' (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2))) (NonAssocRing.toNonAssocSemiring.{u3} S' (Ring.toNonAssocRing.{u3} S' (CommRing.toRing.{u3} S' _inst_3)))), Eq.{max (succ u3) (succ u1)} (ContinuousMap.{u3, u1} (PrimeSpectrum.{u3} S' _inst_3) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u3} S' _inst_3) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (PrimeSpectrum.comap.{u1, u3} R S' _inst_1 _inst_3 (RingHom.comp.{u1, u2, u3} R S S' (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2))) (NonAssocRing.toNonAssocSemiring.{u3} S' (Ring.toNonAssocRing.{u3} S' (CommRing.toRing.{u3} S' _inst_3))) g f)) (ContinuousMap.comp.{u3, u2, u1} (PrimeSpectrum.{u3} S' _inst_3) (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u3} S' _inst_3) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1) (PrimeSpectrum.comap.{u1, u2} R S _inst_1 _inst_2 f) (PrimeSpectrum.comap.{u2, u3} S S' _inst_2 _inst_3 g))
-but is expected to have type
-  forall {R : Type.{u2}} {S : Type.{u3}} [_inst_1 : CommRing.{u2} R] [_inst_2 : CommRing.{u3} S] {S' : Type.{u1}} [_inst_3 : CommRing.{u1} S'] (f : RingHom.{u2, u3} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (g : RingHom.{u3, u1} S S' (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (Semiring.toNonAssocSemiring.{u1} S' (CommSemiring.toSemiring.{u1} S' (CommRing.toCommSemiring.{u1} S' _inst_3)))), Eq.{max (succ u2) (succ u1)} (ContinuousMap.{u1, u2} (PrimeSpectrum.{u1} S' _inst_3) (PrimeSpectrum.{u2} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} S' _inst_3) (PrimeSpectrum.zariskiTopology.{u2} R _inst_1)) (PrimeSpectrum.comap.{u2, u1} R S' _inst_1 _inst_3 (RingHom.comp.{u2, u3, u1} R S S' (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (Semiring.toNonAssocSemiring.{u1} S' (CommSemiring.toSemiring.{u1} S' (CommRing.toCommSemiring.{u1} S' _inst_3))) g f)) (ContinuousMap.comp.{u1, u3, u2} (PrimeSpectrum.{u1} S' _inst_3) (PrimeSpectrum.{u3} S _inst_2) (PrimeSpectrum.{u2} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} S' _inst_3) (PrimeSpectrum.zariskiTopology.{u3} S _inst_2) (PrimeSpectrum.zariskiTopology.{u2} R _inst_1) (PrimeSpectrum.comap.{u2, u3} R S _inst_1 _inst_2 f) (PrimeSpectrum.comap.{u3, u1} S S' _inst_2 _inst_3 g))
-Case conversion may be inaccurate. Consider using '#align prime_spectrum.comap_comp PrimeSpectrum.comap_compₓ'. -/
 @[simp]
 theorem comap_comp (f : R →+* S) (g : S →+* S') : comap (g.comp f) = (comap f).comp (comap g) :=
   rfl
 #align prime_spectrum.comap_comp PrimeSpectrum.comap_comp
 
-/- warning: prime_spectrum.comap_comp_apply -> PrimeSpectrum.comap_comp_apply is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : CommRing.{u2} S] {S' : Type.{u3}} [_inst_3 : CommRing.{u3} S'] (f : RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) (g : RingHom.{u2, u3} S S' (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2))) (NonAssocRing.toNonAssocSemiring.{u3} S' (Ring.toNonAssocRing.{u3} S' (CommRing.toRing.{u3} S' _inst_3)))) (x : PrimeSpectrum.{u3} S' _inst_3), Eq.{succ u1} (PrimeSpectrum.{u1} R _inst_1) (coeFn.{max (succ u3) (succ u1), max (succ u3) (succ u1)} (ContinuousMap.{u3, u1} (PrimeSpectrum.{u3} S' _inst_3) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u3} S' _inst_3) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (fun (_x : ContinuousMap.{u3, u1} (PrimeSpectrum.{u3} S' _inst_3) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u3} S' _inst_3) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) => (PrimeSpectrum.{u3} S' _inst_3) -> (PrimeSpectrum.{u1} R _inst_1)) (ContinuousMap.hasCoeToFun.{u3, u1} (PrimeSpectrum.{u3} S' _inst_3) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u3} S' _inst_3) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (PrimeSpectrum.comap.{u1, u3} R S' _inst_1 _inst_3 (RingHom.comp.{u1, u2, u3} R S S' (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2))) (NonAssocRing.toNonAssocSemiring.{u3} S' (Ring.toNonAssocRing.{u3} S' (CommRing.toRing.{u3} S' _inst_3))) g f)) x) (coeFn.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (ContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (fun (_x : ContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) => (PrimeSpectrum.{u2} S _inst_2) -> (PrimeSpectrum.{u1} R _inst_1)) (ContinuousMap.hasCoeToFun.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (PrimeSpectrum.comap.{u1, u2} R S _inst_1 _inst_2 f) (coeFn.{max (succ u3) (succ u2), max (succ u3) (succ u2)} (ContinuousMap.{u3, u2} (PrimeSpectrum.{u3} S' _inst_3) (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u3} S' _inst_3) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2)) (fun (_x : ContinuousMap.{u3, u2} (PrimeSpectrum.{u3} S' _inst_3) (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u3} S' _inst_3) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2)) => (PrimeSpectrum.{u3} S' _inst_3) -> (PrimeSpectrum.{u2} S _inst_2)) (ContinuousMap.hasCoeToFun.{u3, u2} (PrimeSpectrum.{u3} S' _inst_3) (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u3} S' _inst_3) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2)) (PrimeSpectrum.comap.{u2, u3} S S' _inst_2 _inst_3 g) x))
-but is expected to have type
-  forall {R : Type.{u2}} {S : Type.{u3}} [_inst_1 : CommRing.{u2} R] [_inst_2 : CommRing.{u3} S] {S' : Type.{u1}} [_inst_3 : CommRing.{u1} S'] (f : RingHom.{u2, u3} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (g : RingHom.{u3, u1} S S' (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (Semiring.toNonAssocSemiring.{u1} S' (CommSemiring.toSemiring.{u1} S' (CommRing.toCommSemiring.{u1} S' _inst_3)))) (x : PrimeSpectrum.{u1} S' _inst_3), Eq.{succ u2} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : PrimeSpectrum.{u1} S' _inst_3) => PrimeSpectrum.{u2} R _inst_1) x) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (ContinuousMap.{u1, u2} (PrimeSpectrum.{u1} S' _inst_3) (PrimeSpectrum.{u2} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} S' _inst_3) (PrimeSpectrum.zariskiTopology.{u2} R _inst_1)) (PrimeSpectrum.{u1} S' _inst_3) (fun (_x : PrimeSpectrum.{u1} S' _inst_3) => (fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : PrimeSpectrum.{u1} S' _inst_3) => PrimeSpectrum.{u2} R _inst_1) _x) (ContinuousMapClass.toFunLike.{max u2 u1, u1, u2} (ContinuousMap.{u1, u2} (PrimeSpectrum.{u1} S' _inst_3) (PrimeSpectrum.{u2} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} S' _inst_3) (PrimeSpectrum.zariskiTopology.{u2} R _inst_1)) (PrimeSpectrum.{u1} S' _inst_3) (PrimeSpectrum.{u2} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} S' _inst_3) (PrimeSpectrum.zariskiTopology.{u2} R _inst_1) (ContinuousMap.instContinuousMapClassContinuousMap.{u1, u2} (PrimeSpectrum.{u1} S' _inst_3) (PrimeSpectrum.{u2} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} S' _inst_3) (PrimeSpectrum.zariskiTopology.{u2} R _inst_1))) (PrimeSpectrum.comap.{u2, u1} R S' _inst_1 _inst_3 (RingHom.comp.{u2, u3, u1} R S S' (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (Semiring.toNonAssocSemiring.{u1} S' (CommSemiring.toSemiring.{u1} S' (CommRing.toCommSemiring.{u1} S' _inst_3))) g f)) x) (FunLike.coe.{max (succ u2) (succ u3), succ u3, succ u2} (ContinuousMap.{u3, u2} (PrimeSpectrum.{u3} S _inst_2) (PrimeSpectrum.{u2} R _inst_1) (PrimeSpectrum.zariskiTopology.{u3} S _inst_2) (PrimeSpectrum.zariskiTopology.{u2} R _inst_1)) (PrimeSpectrum.{u3} S _inst_2) (fun (_x : PrimeSpectrum.{u3} S _inst_2) => (fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : PrimeSpectrum.{u3} S _inst_2) => PrimeSpectrum.{u2} R _inst_1) _x) (ContinuousMapClass.toFunLike.{max u2 u3, u3, u2} (ContinuousMap.{u3, u2} (PrimeSpectrum.{u3} S _inst_2) (PrimeSpectrum.{u2} R _inst_1) (PrimeSpectrum.zariskiTopology.{u3} S _inst_2) (PrimeSpectrum.zariskiTopology.{u2} R _inst_1)) (PrimeSpectrum.{u3} S _inst_2) (PrimeSpectrum.{u2} R _inst_1) (PrimeSpectrum.zariskiTopology.{u3} S _inst_2) (PrimeSpectrum.zariskiTopology.{u2} R _inst_1) (ContinuousMap.instContinuousMapClassContinuousMap.{u3, u2} (PrimeSpectrum.{u3} S _inst_2) (PrimeSpectrum.{u2} R _inst_1) (PrimeSpectrum.zariskiTopology.{u3} S _inst_2) (PrimeSpectrum.zariskiTopology.{u2} R _inst_1))) (PrimeSpectrum.comap.{u2, u3} R S _inst_1 _inst_2 f) (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (ContinuousMap.{u1, u3} (PrimeSpectrum.{u1} S' _inst_3) (PrimeSpectrum.{u3} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} S' _inst_3) (PrimeSpectrum.zariskiTopology.{u3} S _inst_2)) (PrimeSpectrum.{u1} S' _inst_3) (fun (_x : PrimeSpectrum.{u1} S' _inst_3) => (fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : PrimeSpectrum.{u1} S' _inst_3) => PrimeSpectrum.{u3} S _inst_2) _x) (ContinuousMapClass.toFunLike.{max u3 u1, u1, u3} (ContinuousMap.{u1, u3} (PrimeSpectrum.{u1} S' _inst_3) (PrimeSpectrum.{u3} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} S' _inst_3) (PrimeSpectrum.zariskiTopology.{u3} S _inst_2)) (PrimeSpectrum.{u1} S' _inst_3) (PrimeSpectrum.{u3} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} S' _inst_3) (PrimeSpectrum.zariskiTopology.{u3} S _inst_2) (ContinuousMap.instContinuousMapClassContinuousMap.{u1, u3} (PrimeSpectrum.{u1} S' _inst_3) (PrimeSpectrum.{u3} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} S' _inst_3) (PrimeSpectrum.zariskiTopology.{u3} S _inst_2))) (PrimeSpectrum.comap.{u3, u1} S S' _inst_2 _inst_3 g) x))
-Case conversion may be inaccurate. Consider using '#align prime_spectrum.comap_comp_apply PrimeSpectrum.comap_comp_applyₓ'. -/
 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) :=
   rfl
 #align prime_spectrum.comap_comp_apply PrimeSpectrum.comap_comp_apply
 
-/- warning: prime_spectrum.preimage_comap_zero_locus -> PrimeSpectrum.preimage_comap_zeroLocus is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : CommRing.{u2} S] (f : RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) (s : Set.{u1} R), Eq.{succ u2} (Set.{u2} (PrimeSpectrum.{u2} S _inst_2)) (Set.preimage.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (coeFn.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (ContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (fun (_x : ContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) => (PrimeSpectrum.{u2} S _inst_2) -> (PrimeSpectrum.{u1} R _inst_1)) (ContinuousMap.hasCoeToFun.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (PrimeSpectrum.comap.{u1, u2} R S _inst_1 _inst_2 f)) (PrimeSpectrum.zeroLocus.{u1} R _inst_1 s)) (PrimeSpectrum.zeroLocus.{u2} S _inst_2 (Set.image.{u1, u2} R S (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) (fun (_x : RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) => R -> S) (RingHom.hasCoeToFun.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) f) s))
-but is expected to have type
-  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : CommRing.{u2} S] (f : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (s : Set.{u1} R), Eq.{succ u2} (Set.{u2} (PrimeSpectrum.{u2} S _inst_2)) (Set.preimage.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (FunLike.coe.{max (succ u1) (succ u2), succ u2, succ u1} (ContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (PrimeSpectrum.{u2} S _inst_2) (fun (_x : PrimeSpectrum.{u2} S _inst_2) => (fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : PrimeSpectrum.{u2} S _inst_2) => PrimeSpectrum.{u1} R _inst_1) _x) (ContinuousMapClass.toFunLike.{max u1 u2, u2, u1} (ContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1) (ContinuousMap.instContinuousMapClassContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1))) (PrimeSpectrum.comap.{u1, u2} R S _inst_1 _inst_2 f)) (PrimeSpectrum.zeroLocus.{u1} R _inst_1 s)) (PrimeSpectrum.zeroLocus.{u2} S _inst_2 (Set.image.{u1, u2} R S (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) R S (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (NonUnitalNonAssocSemiring.toMul.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (RingHom.instRingHomClassRingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))))) f) s))
-Case conversion may be inaccurate. Consider using '#align prime_spectrum.preimage_comap_zero_locus PrimeSpectrum.preimage_comap_zeroLocusₓ'. -/
 @[simp]
 theorem preimage_comap_zeroLocus (s : Set R) : comap f ⁻¹' zeroLocus s = zeroLocus (f '' s) :=
   preimage_comap_zeroLocus_aux f s
 #align prime_spectrum.preimage_comap_zero_locus PrimeSpectrum.preimage_comap_zeroLocus
 
-/- warning: prime_spectrum.comap_injective_of_surjective -> PrimeSpectrum.comap_injective_of_surjective is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : CommRing.{u2} S] (f : RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))), (Function.Surjective.{succ u1, succ u2} R S (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) (fun (_x : RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) => R -> S) (RingHom.hasCoeToFun.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) f)) -> (Function.Injective.{succ u2, succ u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (coeFn.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (ContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (fun (_x : ContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) => (PrimeSpectrum.{u2} S _inst_2) -> (PrimeSpectrum.{u1} R _inst_1)) (ContinuousMap.hasCoeToFun.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (PrimeSpectrum.comap.{u1, u2} R S _inst_1 _inst_2 f)))
-but is expected to have type
-  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : CommRing.{u2} S] (f : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))), (Function.Surjective.{succ u1, succ u2} R S (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) R S (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (NonUnitalNonAssocSemiring.toMul.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (RingHom.instRingHomClassRingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))))) f)) -> (Function.Injective.{succ u2, succ u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (FunLike.coe.{max (succ u1) (succ u2), succ u2, succ u1} (ContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (PrimeSpectrum.{u2} S _inst_2) (fun (_x : PrimeSpectrum.{u2} S _inst_2) => (fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : PrimeSpectrum.{u2} S _inst_2) => PrimeSpectrum.{u1} R _inst_1) _x) (ContinuousMapClass.toFunLike.{max u1 u2, u2, u1} (ContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1) (ContinuousMap.instContinuousMapClassContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1))) (PrimeSpectrum.comap.{u1, u2} R S _inst_1 _inst_2 f)))
-Case conversion may be inaccurate. Consider using '#align prime_spectrum.comap_injective_of_surjective PrimeSpectrum.comap_injective_of_surjectiveₓ'. -/
 theorem comap_injective_of_surjective (f : R →+* S) (hf : Function.Surjective f) :
     Function.Injective (comap f) := fun x y h =>
   PrimeSpectrum.ext _ _
@@ -947,12 +707,6 @@ theorem comap_injective_of_surjective (f : R →+* S) (hf : Function.Surjective
       (congr_arg PrimeSpectrum.asIdeal h : (comap f x).asIdeal = (comap f y).asIdeal))
 #align prime_spectrum.comap_injective_of_surjective PrimeSpectrum.comap_injective_of_surjective
 
-/- warning: prime_spectrum.comap_singleton_is_closed_of_surjective -> PrimeSpectrum.comap_singleton_isClosed_of_surjective is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : CommRing.{u2} S] (f : RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))), (Function.Surjective.{succ u1, succ u2} R S (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) (fun (_x : RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) => R -> S) (RingHom.hasCoeToFun.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) f)) -> (forall (x : PrimeSpectrum.{u2} S _inst_2), (IsClosed.{u2} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (Singleton.singleton.{u2, u2} (PrimeSpectrum.{u2} S _inst_2) (Set.{u2} (PrimeSpectrum.{u2} S _inst_2)) (Set.hasSingleton.{u2} (PrimeSpectrum.{u2} S _inst_2)) x)) -> (IsClosed.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1) (Singleton.singleton.{u1, u1} (PrimeSpectrum.{u1} R _inst_1) (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (Set.hasSingleton.{u1} (PrimeSpectrum.{u1} R _inst_1)) (coeFn.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (ContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (fun (_x : ContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) => (PrimeSpectrum.{u2} S _inst_2) -> (PrimeSpectrum.{u1} R _inst_1)) (ContinuousMap.hasCoeToFun.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (PrimeSpectrum.comap.{u1, u2} R S _inst_1 _inst_2 f) x))))
-but is expected to have type
-  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : CommRing.{u2} S] (f : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))), (Function.Surjective.{succ u1, succ u2} R S (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) R S (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (NonUnitalNonAssocSemiring.toMul.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (RingHom.instRingHomClassRingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))))) f)) -> (forall (x : PrimeSpectrum.{u2} S _inst_2), (IsClosed.{u2} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (Singleton.singleton.{u2, u2} (PrimeSpectrum.{u2} S _inst_2) (Set.{u2} (PrimeSpectrum.{u2} S _inst_2)) (Set.instSingletonSet.{u2} (PrimeSpectrum.{u2} S _inst_2)) x)) -> (IsClosed.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1) (Singleton.singleton.{u1, u1} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : PrimeSpectrum.{u2} S _inst_2) => PrimeSpectrum.{u1} R _inst_1) x) (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (Set.instSingletonSet.{u1} (PrimeSpectrum.{u1} R _inst_1)) (FunLike.coe.{max (succ u1) (succ u2), succ u2, succ u1} (ContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (PrimeSpectrum.{u2} S _inst_2) (fun (_x : PrimeSpectrum.{u2} S _inst_2) => (fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : PrimeSpectrum.{u2} S _inst_2) => PrimeSpectrum.{u1} R _inst_1) _x) (ContinuousMapClass.toFunLike.{max u1 u2, u2, u1} (ContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1) (ContinuousMap.instContinuousMapClassContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1))) (PrimeSpectrum.comap.{u1, u2} R S _inst_1 _inst_2 f) x))))
-Case conversion may be inaccurate. Consider using '#align prime_spectrum.comap_singleton_is_closed_of_surjective PrimeSpectrum.comap_singleton_isClosed_of_surjectiveₓ'. -/
 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)) :=
@@ -960,12 +714,6 @@ theorem comap_singleton_isClosed_of_surjective (f : R →+* S) (hf : Function.Su
   (is_closed_singleton_iff_is_maximal _).2 (Ideal.comap_isMaximal_of_surjective f hf)
 #align prime_spectrum.comap_singleton_is_closed_of_surjective PrimeSpectrum.comap_singleton_isClosed_of_surjective
 
-/- warning: prime_spectrum.comap_singleton_is_closed_of_is_integral -> PrimeSpectrum.comap_singleton_isClosed_of_isIntegral is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : CommRing.{u2} S] (f : RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))), (RingHom.IsIntegral.{u1, u2} R S _inst_1 (CommRing.toRing.{u2} S _inst_2) f) -> (forall (x : PrimeSpectrum.{u2} S _inst_2), (IsClosed.{u2} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (Singleton.singleton.{u2, u2} (PrimeSpectrum.{u2} S _inst_2) (Set.{u2} (PrimeSpectrum.{u2} S _inst_2)) (Set.hasSingleton.{u2} (PrimeSpectrum.{u2} S _inst_2)) x)) -> (IsClosed.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1) (Singleton.singleton.{u1, u1} (PrimeSpectrum.{u1} R _inst_1) (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (Set.hasSingleton.{u1} (PrimeSpectrum.{u1} R _inst_1)) (coeFn.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (ContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (fun (_x : ContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) => (PrimeSpectrum.{u2} S _inst_2) -> (PrimeSpectrum.{u1} R _inst_1)) (ContinuousMap.hasCoeToFun.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (PrimeSpectrum.comap.{u1, u2} R S _inst_1 _inst_2 f) x))))
-but is expected to have type
-  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : CommRing.{u2} S] (f : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))), (RingHom.IsIntegral.{u1, u2} R S _inst_1 (CommRing.toRing.{u2} S _inst_2) f) -> (forall (x : PrimeSpectrum.{u2} S _inst_2), (IsClosed.{u2} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (Singleton.singleton.{u2, u2} (PrimeSpectrum.{u2} S _inst_2) (Set.{u2} (PrimeSpectrum.{u2} S _inst_2)) (Set.instSingletonSet.{u2} (PrimeSpectrum.{u2} S _inst_2)) x)) -> (IsClosed.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1) (Singleton.singleton.{u1, u1} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : PrimeSpectrum.{u2} S _inst_2) => PrimeSpectrum.{u1} R _inst_1) x) (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (Set.instSingletonSet.{u1} (PrimeSpectrum.{u1} R _inst_1)) (FunLike.coe.{max (succ u1) (succ u2), succ u2, succ u1} (ContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (PrimeSpectrum.{u2} S _inst_2) (fun (_x : PrimeSpectrum.{u2} S _inst_2) => (fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : PrimeSpectrum.{u2} S _inst_2) => PrimeSpectrum.{u1} R _inst_1) _x) (ContinuousMapClass.toFunLike.{max u1 u2, u2, u1} (ContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1) (ContinuousMap.instContinuousMapClassContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1))) (PrimeSpectrum.comap.{u1, u2} R S _inst_1 _inst_2 f) x))))
-Case conversion may be inaccurate. Consider using '#align prime_spectrum.comap_singleton_is_closed_of_is_integral PrimeSpectrum.comap_singleton_isClosed_of_isIntegralₓ'. -/
 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)) :=
@@ -976,12 +724,6 @@ theorem comap_singleton_isClosed_of_isIntegral (f : R →+* S) (hf : f.IsIntegra
 
 variable (S)
 
-/- warning: prime_spectrum.localization_comap_inducing -> PrimeSpectrum.localization_comap_inducing is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} (S : Type.{u2}) [_inst_1 : CommRing.{u1} R] [_inst_2 : CommRing.{u2} S] [_inst_4 : Algebra.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))] (M : Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) [_inst_5 : IsLocalization.{u1, u2} R (CommRing.toCommSemiring.{u1} R _inst_1) M S (CommRing.toCommSemiring.{u2} S _inst_2) _inst_4], Inducing.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1) (coeFn.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (ContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (fun (_x : ContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) => (PrimeSpectrum.{u2} S _inst_2) -> (PrimeSpectrum.{u1} R _inst_1)) (ContinuousMap.hasCoeToFun.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (PrimeSpectrum.comap.{u1, u2} R S _inst_1 _inst_2 (algebraMap.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) _inst_4)))
-but is expected to have type
-  forall {R : Type.{u1}} (S : Type.{u2}) [_inst_1 : CommRing.{u1} R] [_inst_2 : CommRing.{u2} S] [_inst_4 : Algebra.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))] (M : Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) [_inst_5 : IsLocalization.{u1, u2} R (CommRing.toCommSemiring.{u1} R _inst_1) M S (CommRing.toCommSemiring.{u2} S _inst_2) _inst_4], Inducing.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1) (FunLike.coe.{max (succ u1) (succ u2), succ u2, succ u1} (ContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (PrimeSpectrum.{u2} S _inst_2) (fun (_x : PrimeSpectrum.{u2} S _inst_2) => (fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : PrimeSpectrum.{u2} S _inst_2) => PrimeSpectrum.{u1} R _inst_1) _x) (ContinuousMapClass.toFunLike.{max u1 u2, u2, u1} (ContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1) (ContinuousMap.instContinuousMapClassContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1))) (PrimeSpectrum.comap.{u1, u2} R S _inst_1 _inst_2 (algebraMap.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) _inst_4)))
-Case conversion may be inaccurate. Consider using '#align prime_spectrum.localization_comap_inducing PrimeSpectrum.localization_comap_inducingₓ'. -/
 theorem localization_comap_inducing [Algebra R S] (M : Submonoid R) [IsLocalization M S] :
     Inducing (comap (algebraMap R S)) := by
   constructor
@@ -999,12 +741,6 @@ theorem localization_comap_inducing [Algebra R S] (M : Submonoid R) [IsLocalizat
   · rintro ⟨_, ⟨t, rfl⟩, rfl⟩; simp
 #align prime_spectrum.localization_comap_inducing PrimeSpectrum.localization_comap_inducing
 
-/- warning: prime_spectrum.localization_comap_injective -> PrimeSpectrum.localization_comap_injective is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} (S : Type.{u2}) [_inst_1 : CommRing.{u1} R] [_inst_2 : CommRing.{u2} S] [_inst_4 : Algebra.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))] (M : Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) [_inst_5 : IsLocalization.{u1, u2} R (CommRing.toCommSemiring.{u1} R _inst_1) M S (CommRing.toCommSemiring.{u2} S _inst_2) _inst_4], Function.Injective.{succ u2, succ u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (coeFn.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (ContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (fun (_x : ContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) => (PrimeSpectrum.{u2} S _inst_2) -> (PrimeSpectrum.{u1} R _inst_1)) (ContinuousMap.hasCoeToFun.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (PrimeSpectrum.comap.{u1, u2} R S _inst_1 _inst_2 (algebraMap.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) _inst_4)))
-but is expected to have type
-  forall {R : Type.{u1}} (S : Type.{u2}) [_inst_1 : CommRing.{u1} R] [_inst_2 : CommRing.{u2} S] [_inst_4 : Algebra.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))] (M : Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) [_inst_5 : IsLocalization.{u1, u2} R (CommRing.toCommSemiring.{u1} R _inst_1) M S (CommRing.toCommSemiring.{u2} S _inst_2) _inst_4], Function.Injective.{succ u2, succ u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (FunLike.coe.{max (succ u1) (succ u2), succ u2, succ u1} (ContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (PrimeSpectrum.{u2} S _inst_2) (fun (_x : PrimeSpectrum.{u2} S _inst_2) => (fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : PrimeSpectrum.{u2} S _inst_2) => PrimeSpectrum.{u1} R _inst_1) _x) (ContinuousMapClass.toFunLike.{max u1 u2, u2, u1} (ContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1) (ContinuousMap.instContinuousMapClassContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1))) (PrimeSpectrum.comap.{u1, u2} R S _inst_1 _inst_2 (algebraMap.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) _inst_4)))
-Case conversion may be inaccurate. Consider using '#align prime_spectrum.localization_comap_injective PrimeSpectrum.localization_comap_injectiveₓ'. -/
 theorem localization_comap_injective [Algebra R S] (M : Submonoid R) [IsLocalization M S] :
     Function.Injective (comap (algebraMap R S)) :=
   by
@@ -1016,23 +752,11 @@ theorem localization_comap_injective [Algebra R S] (M : Submonoid R) [IsLocaliza
   exact h
 #align prime_spectrum.localization_comap_injective PrimeSpectrum.localization_comap_injective
 
-/- warning: prime_spectrum.localization_comap_embedding -> PrimeSpectrum.localization_comap_embedding is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} (S : Type.{u2}) [_inst_1 : CommRing.{u1} R] [_inst_2 : CommRing.{u2} S] [_inst_4 : Algebra.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))] (M : Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) [_inst_5 : IsLocalization.{u1, u2} R (CommRing.toCommSemiring.{u1} R _inst_1) M S (CommRing.toCommSemiring.{u2} S _inst_2) _inst_4], Embedding.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1) (coeFn.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (ContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (fun (_x : ContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) => (PrimeSpectrum.{u2} S _inst_2) -> (PrimeSpectrum.{u1} R _inst_1)) (ContinuousMap.hasCoeToFun.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (PrimeSpectrum.comap.{u1, u2} R S _inst_1 _inst_2 (algebraMap.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) _inst_4)))
-but is expected to have type
-  forall {R : Type.{u1}} (S : Type.{u2}) [_inst_1 : CommRing.{u1} R] [_inst_2 : CommRing.{u2} S] [_inst_4 : Algebra.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))] (M : Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) [_inst_5 : IsLocalization.{u1, u2} R (CommRing.toCommSemiring.{u1} R _inst_1) M S (CommRing.toCommSemiring.{u2} S _inst_2) _inst_4], Embedding.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1) (FunLike.coe.{max (succ u1) (succ u2), succ u2, succ u1} (ContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (PrimeSpectrum.{u2} S _inst_2) (fun (_x : PrimeSpectrum.{u2} S _inst_2) => (fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : PrimeSpectrum.{u2} S _inst_2) => PrimeSpectrum.{u1} R _inst_1) _x) (ContinuousMapClass.toFunLike.{max u1 u2, u2, u1} (ContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1) (ContinuousMap.instContinuousMapClassContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1))) (PrimeSpectrum.comap.{u1, u2} R S _inst_1 _inst_2 (algebraMap.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) _inst_4)))
-Case conversion may be inaccurate. Consider using '#align prime_spectrum.localization_comap_embedding PrimeSpectrum.localization_comap_embeddingₓ'. -/
 theorem localization_comap_embedding [Algebra R S] (M : Submonoid R) [IsLocalization M S] :
     Embedding (comap (algebraMap R S)) :=
   ⟨localization_comap_inducing S M, localization_comap_injective S M⟩
 #align prime_spectrum.localization_comap_embedding PrimeSpectrum.localization_comap_embedding
 
-/- warning: prime_spectrum.localization_comap_range -> PrimeSpectrum.localization_comap_range is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} (S : Type.{u2}) [_inst_1 : CommRing.{u1} R] [_inst_2 : CommRing.{u2} S] [_inst_4 : Algebra.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))] (M : Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) [_inst_5 : IsLocalization.{u1, u2} R (CommRing.toCommSemiring.{u1} R _inst_1) M S (CommRing.toCommSemiring.{u2} S _inst_2) _inst_4], Eq.{succ u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (Set.range.{u1, succ u2} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.{u2} S _inst_2) (coeFn.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (ContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (fun (_x : ContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) => (PrimeSpectrum.{u2} S _inst_2) -> (PrimeSpectrum.{u1} R _inst_1)) (ContinuousMap.hasCoeToFun.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (PrimeSpectrum.comap.{u1, u2} R S _inst_1 _inst_2 (algebraMap.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) _inst_4)))) (setOf.{u1} (PrimeSpectrum.{u1} R _inst_1) (fun (p : PrimeSpectrum.{u1} R _inst_1) => Disjoint.{u1} (Set.{u1} R) (CompleteSemilatticeInf.toPartialOrder.{u1} (Set.{u1} R) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Set.{u1} R) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} R) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} R) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} R) (Set.completeBooleanAlgebra.{u1} R)))))) (GeneralizedBooleanAlgebra.toOrderBot.{u1} (Set.{u1} R) (BooleanAlgebra.toGeneralizedBooleanAlgebra.{u1} (Set.{u1} R) (Set.booleanAlgebra.{u1} R))) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (Set.{u1} R) (HasLiftT.mk.{succ u1, succ u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (Set.{u1} R) (CoeTCₓ.coe.{succ u1, succ u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (Set.{u1} R) (SetLike.Set.hasCoeT.{u1, u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) R (Submonoid.setLike.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))))))) M) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Set.{u1} R) (HasLiftT.mk.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Set.{u1} R) (CoeTCₓ.coe.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Set.{u1} R) (SetLike.Set.hasCoeT.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) (PrimeSpectrum.asIdeal.{u1} R _inst_1 p))))
-but is expected to have type
-  forall {R : Type.{u1}} (S : Type.{u2}) [_inst_1 : CommRing.{u1} R] [_inst_2 : CommRing.{u2} S] [_inst_4 : Algebra.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))] (M : Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) [_inst_5 : IsLocalization.{u1, u2} R (CommRing.toCommSemiring.{u1} R _inst_1) M S (CommRing.toCommSemiring.{u2} S _inst_2) _inst_4], Eq.{succ u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (Set.range.{u1, succ u2} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.{u2} S _inst_2) (FunLike.coe.{max (succ u1) (succ u2), succ u2, succ u1} (ContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (PrimeSpectrum.{u2} S _inst_2) (fun (_x : PrimeSpectrum.{u2} S _inst_2) => (fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : PrimeSpectrum.{u2} S _inst_2) => PrimeSpectrum.{u1} R _inst_1) _x) (ContinuousMapClass.toFunLike.{max u1 u2, u2, u1} (ContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1) (ContinuousMap.instContinuousMapClassContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1))) (PrimeSpectrum.comap.{u1, u2} R S _inst_1 _inst_2 (algebraMap.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) _inst_4)))) (setOf.{u1} (PrimeSpectrum.{u1} R _inst_1) (fun (p : PrimeSpectrum.{u1} R _inst_1) => Disjoint.{u1} (Set.{u1} R) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Set.{u1} R) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Set.{u1} R) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} R) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} R) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} R) (Set.instCompleteBooleanAlgebraSet.{u1} R)))))) (BoundedOrder.toOrderBot.{u1} (Set.{u1} R) (Preorder.toLE.{u1} (Set.{u1} R) (PartialOrder.toPreorder.{u1} (Set.{u1} R) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Set.{u1} R) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Set.{u1} R) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} R) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} R) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} R) (Set.instCompleteBooleanAlgebraSet.{u1} R)))))))) (CompleteLattice.toBoundedOrder.{u1} (Set.{u1} R) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} R) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} R) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} R) (Set.instCompleteBooleanAlgebraSet.{u1} R)))))) (SetLike.coe.{u1, u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) R (Submonoid.instSetLikeSubmonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) M) (SetLike.coe.{u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) R (Submodule.setLike.{u1, u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (PrimeSpectrum.asIdeal.{u1} R _inst_1 p))))
-Case conversion may be inaccurate. Consider using '#align prime_spectrum.localization_comap_range PrimeSpectrum.localization_comap_rangeₓ'. -/
 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 } :=
   by
@@ -1054,12 +778,6 @@ section SpecOfSurjective
 
 open Function RingHom
 
-/- warning: prime_spectrum.comap_inducing_of_surjective -> PrimeSpectrum.comap_inducing_of_surjective is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} (S : Type.{u2}) [_inst_1 : CommRing.{u1} R] [_inst_2 : CommRing.{u2} S] (f : RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))), (Function.Surjective.{succ u1, succ u2} R S (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) (fun (_x : RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) => R -> S) (RingHom.hasCoeToFun.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) f)) -> (Inducing.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1) (coeFn.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (ContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (fun (_x : ContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) => (PrimeSpectrum.{u2} S _inst_2) -> (PrimeSpectrum.{u1} R _inst_1)) (ContinuousMap.hasCoeToFun.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (PrimeSpectrum.comap.{u1, u2} R S _inst_1 _inst_2 f)))
-but is expected to have type
-  forall {R : Type.{u1}} (S : Type.{u2}) [_inst_1 : CommRing.{u1} R] [_inst_2 : CommRing.{u2} S] (f : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))), (Function.Surjective.{succ u1, succ u2} R S (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) R S (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (NonUnitalNonAssocSemiring.toMul.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (RingHom.instRingHomClassRingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))))) f)) -> (Inducing.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1) (FunLike.coe.{max (succ u1) (succ u2), succ u2, succ u1} (ContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (PrimeSpectrum.{u2} S _inst_2) (fun (_x : PrimeSpectrum.{u2} S _inst_2) => (fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : PrimeSpectrum.{u2} S _inst_2) => PrimeSpectrum.{u1} R _inst_1) _x) (ContinuousMapClass.toFunLike.{max u1 u2, u2, u1} (ContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1) (ContinuousMap.instContinuousMapClassContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1))) (PrimeSpectrum.comap.{u1, u2} R S _inst_1 _inst_2 f)))
-Case conversion may be inaccurate. Consider using '#align prime_spectrum.comap_inducing_of_surjective PrimeSpectrum.comap_inducing_of_surjectiveₓ'. -/
 theorem comap_inducing_of_surjective (hf : Surjective f) : Inducing (comap f) :=
   {
     induced :=
@@ -1075,9 +793,6 @@ theorem comap_inducing_of_surjective (hf : Surjective f) : Inducing (comap f) :=
       exact ⟨f '' F, hF.symm.trans (preimage_comap_zero_locus f F)⟩ }
 #align prime_spectrum.comap_inducing_of_surjective PrimeSpectrum.comap_inducing_of_surjective
 
-/- warning: prime_spectrum.image_comap_zero_locus_eq_zero_locus_comap -> PrimeSpectrum.image_comap_zeroLocus_eq_zeroLocus_comap is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align prime_spectrum.image_comap_zero_locus_eq_zero_locus_comap PrimeSpectrum.image_comap_zeroLocus_eq_zeroLocus_comapₓ'. -/
 theorem image_comap_zeroLocus_eq_zeroLocus_comap (hf : Surjective f) (I : Ideal S) :
     comap f '' zeroLocus I = zeroLocus (I.comap f) :=
   by
@@ -1099,12 +814,6 @@ theorem image_comap_zeroLocus_eq_zeroLocus_comap (hf : Surjective f) (I : Ideal
       rwa [mem_ker, map_sub, sub_eq_zero]
 #align prime_spectrum.image_comap_zero_locus_eq_zero_locus_comap PrimeSpectrum.image_comap_zeroLocus_eq_zeroLocus_comap
 
-/- warning: prime_spectrum.range_comap_of_surjective -> PrimeSpectrum.range_comap_of_surjective is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} (S : Type.{u2}) [_inst_1 : CommRing.{u1} R] [_inst_2 : CommRing.{u2} S] (f : RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))), (Function.Surjective.{succ u1, succ u2} R S (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) (fun (_x : RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) => R -> S) (RingHom.hasCoeToFun.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) f)) -> (Eq.{succ u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (Set.range.{u1, succ u2} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.{u2} S _inst_2) (coeFn.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (ContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (fun (_x : ContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) => (PrimeSpectrum.{u2} S _inst_2) -> (PrimeSpectrum.{u1} R _inst_1)) (ContinuousMap.hasCoeToFun.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (PrimeSpectrum.comap.{u1, u2} R S _inst_1 _inst_2 f))) (PrimeSpectrum.zeroLocus.{u1} R _inst_1 ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Set.{u1} R) (HasLiftT.mk.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Set.{u1} R) (CoeTCₓ.coe.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Set.{u1} R) (SetLike.Set.hasCoeT.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} R S (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) (RingHom.ringHomClass.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) f))))
-but is expected to have type
-  forall {R : Type.{u1}} (S : Type.{u2}) [_inst_1 : CommRing.{u1} R] [_inst_2 : CommRing.{u2} S] (f : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))), (Function.Surjective.{succ u1, succ u2} R S (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) R S (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (NonUnitalNonAssocSemiring.toMul.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (RingHom.instRingHomClassRingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))))) f)) -> (Eq.{succ u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (Set.range.{u1, succ u2} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.{u2} S _inst_2) (FunLike.coe.{max (succ u1) (succ u2), succ u2, succ u1} (ContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (PrimeSpectrum.{u2} S _inst_2) (fun (_x : PrimeSpectrum.{u2} S _inst_2) => (fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : PrimeSpectrum.{u2} S _inst_2) => PrimeSpectrum.{u1} R _inst_1) _x) (ContinuousMapClass.toFunLike.{max u1 u2, u2, u1} (ContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1) (ContinuousMap.instContinuousMapClassContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1))) (PrimeSpectrum.comap.{u1, u2} R S _inst_1 _inst_2 f))) (PrimeSpectrum.zeroLocus.{u1} R _inst_1 (SetLike.coe.{u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) R (Submodule.setLike.{u1, u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.ker.{u1, u2, max u1 u2} R S (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (RingHom.instRingHomClassRingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) f))))
-Case conversion may be inaccurate. Consider using '#align prime_spectrum.range_comap_of_surjective PrimeSpectrum.range_comap_of_surjectiveₓ'. -/
 theorem range_comap_of_surjective (hf : Surjective f) : Set.range (comap f) = zeroLocus (ker f) :=
   by
   rw [← Set.image_univ]
@@ -1112,24 +821,12 @@ theorem range_comap_of_surjective (hf : Surjective f) : Set.range (comap f) = ze
   rw [zero_locus_bot]
 #align prime_spectrum.range_comap_of_surjective PrimeSpectrum.range_comap_of_surjective
 
-/- warning: prime_spectrum.is_closed_range_comap_of_surjective -> PrimeSpectrum.isClosed_range_comap_of_surjective is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} (S : Type.{u2}) [_inst_1 : CommRing.{u1} R] [_inst_2 : CommRing.{u2} S] (f : RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))), (Function.Surjective.{succ u1, succ u2} R S (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) (fun (_x : RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) => R -> S) (RingHom.hasCoeToFun.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) f)) -> (IsClosed.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1) (Set.range.{u1, succ u2} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.{u2} S _inst_2) (coeFn.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (ContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (fun (_x : ContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) => (PrimeSpectrum.{u2} S _inst_2) -> (PrimeSpectrum.{u1} R _inst_1)) (ContinuousMap.hasCoeToFun.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (PrimeSpectrum.comap.{u1, u2} R S _inst_1 _inst_2 f))))
-but is expected to have type
-  forall {R : Type.{u1}} (S : Type.{u2}) [_inst_1 : CommRing.{u1} R] [_inst_2 : CommRing.{u2} S] (f : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))), (Function.Surjective.{succ u1, succ u2} R S (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) R S (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (NonUnitalNonAssocSemiring.toMul.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (RingHom.instRingHomClassRingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))))) f)) -> (IsClosed.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1) (Set.range.{u1, succ u2} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.{u2} S _inst_2) (FunLike.coe.{max (succ u1) (succ u2), succ u2, succ u1} (ContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (PrimeSpectrum.{u2} S _inst_2) (fun (_x : PrimeSpectrum.{u2} S _inst_2) => (fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : PrimeSpectrum.{u2} S _inst_2) => PrimeSpectrum.{u1} R _inst_1) _x) (ContinuousMapClass.toFunLike.{max u1 u2, u2, u1} (ContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1) (ContinuousMap.instContinuousMapClassContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1))) (PrimeSpectrum.comap.{u1, u2} R S _inst_1 _inst_2 f))))
-Case conversion may be inaccurate. Consider using '#align prime_spectrum.is_closed_range_comap_of_surjective PrimeSpectrum.isClosed_range_comap_of_surjectiveₓ'. -/
 theorem isClosed_range_comap_of_surjective (hf : Surjective f) : IsClosed (Set.range (comap f)) :=
   by
   rw [range_comap_of_surjective _ f hf]
   exact is_closed_zero_locus ↑(ker f)
 #align prime_spectrum.is_closed_range_comap_of_surjective PrimeSpectrum.isClosed_range_comap_of_surjective
 
-/- warning: prime_spectrum.closed_embedding_comap_of_surjective -> PrimeSpectrum.closedEmbedding_comap_of_surjective is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} (S : Type.{u2}) [_inst_1 : CommRing.{u1} R] [_inst_2 : CommRing.{u2} S] (f : RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))), (Function.Surjective.{succ u1, succ u2} R S (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) (fun (_x : RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) => R -> S) (RingHom.hasCoeToFun.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) f)) -> (ClosedEmbedding.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1) (coeFn.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (ContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (fun (_x : ContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) => (PrimeSpectrum.{u2} S _inst_2) -> (PrimeSpectrum.{u1} R _inst_1)) (ContinuousMap.hasCoeToFun.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (PrimeSpectrum.comap.{u1, u2} R S _inst_1 _inst_2 f)))
-but is expected to have type
-  forall {R : Type.{u1}} (S : Type.{u2}) [_inst_1 : CommRing.{u1} R] [_inst_2 : CommRing.{u2} S] (f : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))), (Function.Surjective.{succ u1, succ u2} R S (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) R S (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (NonUnitalNonAssocSemiring.toMul.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (RingHom.instRingHomClassRingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))))) f)) -> (ClosedEmbedding.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1) (FunLike.coe.{max (succ u1) (succ u2), succ u2, succ u1} (ContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (PrimeSpectrum.{u2} S _inst_2) (fun (_x : PrimeSpectrum.{u2} S _inst_2) => (fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : PrimeSpectrum.{u2} S _inst_2) => PrimeSpectrum.{u1} R _inst_1) _x) (ContinuousMapClass.toFunLike.{max u1 u2, u2, u1} (ContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1) (ContinuousMap.instContinuousMapClassContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1))) (PrimeSpectrum.comap.{u1, u2} R S _inst_1 _inst_2 f)))
-Case conversion may be inaccurate. Consider using '#align prime_spectrum.closed_embedding_comap_of_surjective PrimeSpectrum.closedEmbedding_comap_of_surjectiveₓ'. -/
 theorem closedEmbedding_comap_of_surjective (hf : Surjective f) : ClosedEmbedding (comap f) :=
   { induced := (comap_inducing_of_surjective S f hf).induced
     inj := comap_injective_of_surjective f hf
@@ -1164,88 +861,40 @@ theorem isOpen_basicOpen {a : R} : IsOpen (basicOpen a : Set (PrimeSpectrum R))
 #align prime_spectrum.is_open_basic_open PrimeSpectrum.isOpen_basicOpen
 -/
 
-/- warning: prime_spectrum.basic_open_eq_zero_locus_compl -> PrimeSpectrum.basicOpen_eq_zeroLocus_compl is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] (r : R), Eq.{succ u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (TopologicalSpace.Opens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (HasLiftT.mk.{succ u1, succ u1} (TopologicalSpace.Opens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (CoeTCₓ.coe.{succ u1, succ u1} (TopologicalSpace.Opens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (SetLike.Set.hasCoeT.{u1, u1} (TopologicalSpace.Opens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (PrimeSpectrum.{u1} R _inst_1) (TopologicalSpace.Opens.setLike.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1))))) (PrimeSpectrum.basicOpen.{u1} R _inst_1 r)) (HasCompl.compl.{u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (BooleanAlgebra.toHasCompl.{u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (Set.booleanAlgebra.{u1} (PrimeSpectrum.{u1} R _inst_1))) (PrimeSpectrum.zeroLocus.{u1} R _inst_1 (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.hasSingleton.{u1} R) r)))
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] (r : R), Eq.{succ u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (SetLike.coe.{u1, u1} (TopologicalSpace.Opens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (PrimeSpectrum.{u1} R _inst_1) (TopologicalSpace.Opens.instSetLikeOpens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (PrimeSpectrum.basicOpen.{u1} R _inst_1 r)) (HasCompl.compl.{u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (BooleanAlgebra.toHasCompl.{u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (Set.instBooleanAlgebraSet.{u1} (PrimeSpectrum.{u1} R _inst_1))) (PrimeSpectrum.zeroLocus.{u1} R _inst_1 (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.instSingletonSet.{u1} R) r)))
-Case conversion may be inaccurate. Consider using '#align prime_spectrum.basic_open_eq_zero_locus_compl PrimeSpectrum.basicOpen_eq_zeroLocus_complₓ'. -/
 @[simp]
 theorem basicOpen_eq_zeroLocus_compl (r : R) :
     (basicOpen r : Set (PrimeSpectrum R)) = zeroLocus {r}ᶜ :=
   Set.ext fun x => by simpa only [Set.mem_compl_iff, mem_zero_locus, Set.singleton_subset_iff]
 #align prime_spectrum.basic_open_eq_zero_locus_compl PrimeSpectrum.basicOpen_eq_zeroLocus_compl
 
-/- warning: prime_spectrum.basic_open_one -> PrimeSpectrum.basicOpen_one is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R], Eq.{succ u1} (TopologicalSpace.Opens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (PrimeSpectrum.basicOpen.{u1} R _inst_1 (OfNat.ofNat.{u1} R 1 (OfNat.mk.{u1} R 1 (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddGroupWithOne.toAddMonoidWithOne.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (CommRing.toRing.{u1} R _inst_1))))))))) (Top.top.{u1} (TopologicalSpace.Opens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (CompleteLattice.toHasTop.{u1} (TopologicalSpace.Opens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (TopologicalSpace.Opens.completeLattice.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1))))
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R], Eq.{succ u1} (TopologicalSpace.Opens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (PrimeSpectrum.basicOpen.{u1} R _inst_1 (OfNat.ofNat.{u1} R 1 (One.toOfNat1.{u1} R (Semiring.toOne.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Top.top.{u1} (TopologicalSpace.Opens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (CompleteLattice.toTop.{u1} (TopologicalSpace.Opens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1))))
-Case conversion may be inaccurate. Consider using '#align prime_spectrum.basic_open_one PrimeSpectrum.basicOpen_oneₓ'. -/
 @[simp]
 theorem basicOpen_one : basicOpen (1 : R) = ⊤ :=
   TopologicalSpace.Opens.ext <| by simp
 #align prime_spectrum.basic_open_one PrimeSpectrum.basicOpen_one
 
-/- warning: prime_spectrum.basic_open_zero -> PrimeSpectrum.basicOpen_zero is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R], Eq.{succ u1} (TopologicalSpace.Opens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (PrimeSpectrum.basicOpen.{u1} R _inst_1 (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))))))) (Bot.bot.{u1} (TopologicalSpace.Opens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (CompleteLattice.toHasBot.{u1} (TopologicalSpace.Opens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (TopologicalSpace.Opens.completeLattice.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1))))
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R], Eq.{succ u1} (TopologicalSpace.Opens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (PrimeSpectrum.basicOpen.{u1} R _inst_1 (OfNat.ofNat.{u1} R 0 (Zero.toOfNat0.{u1} R (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Bot.bot.{u1} (TopologicalSpace.Opens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (CompleteLattice.toBot.{u1} (TopologicalSpace.Opens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1))))
-Case conversion may be inaccurate. Consider using '#align prime_spectrum.basic_open_zero PrimeSpectrum.basicOpen_zeroₓ'. -/
 @[simp]
 theorem basicOpen_zero : basicOpen (0 : R) = ⊥ :=
   TopologicalSpace.Opens.ext <| by simp
 #align prime_spectrum.basic_open_zero PrimeSpectrum.basicOpen_zero
 
-/- warning: prime_spectrum.basic_open_le_basic_open_iff -> PrimeSpectrum.basicOpen_le_basicOpen_iff is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] (f : R) (g : R), Iff (LE.le.{u1} (TopologicalSpace.Opens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (Preorder.toHasLe.{u1} (TopologicalSpace.Opens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (PartialOrder.toPreorder.{u1} (TopologicalSpace.Opens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (SetLike.partialOrder.{u1, u1} (TopologicalSpace.Opens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (PrimeSpectrum.{u1} R _inst_1) (TopologicalSpace.Opens.setLike.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1))))) (PrimeSpectrum.basicOpen.{u1} R _inst_1 f) (PrimeSpectrum.basicOpen.{u1} R _inst_1 g)) (Membership.Mem.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (SetLike.hasMem.{u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) R (Submodule.setLike.{u1, u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) f (Ideal.radical.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.hasSingleton.{u1} R) g))))
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] (f : R) (g : R), Iff (LE.le.{u1} (TopologicalSpace.Opens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (Preorder.toLE.{u1} (TopologicalSpace.Opens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (PartialOrder.toPreorder.{u1} (TopologicalSpace.Opens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (TopologicalSpace.Opens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (TopologicalSpace.Opens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)))))) (PrimeSpectrum.basicOpen.{u1} R _inst_1 f) (PrimeSpectrum.basicOpen.{u1} R _inst_1 g)) (Membership.mem.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) R (Submodule.setLike.{u1, u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) f (Ideal.radical.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.instSingletonSet.{u1} R) g))))
-Case conversion may be inaccurate. Consider using '#align prime_spectrum.basic_open_le_basic_open_iff PrimeSpectrum.basicOpen_le_basicOpen_iffₓ'. -/
 theorem basicOpen_le_basicOpen_iff (f g : R) :
     basicOpen f ≤ basicOpen g ↔ f ∈ (Ideal.span ({g} : Set R)).radical := by
   rw [← SetLike.coe_subset_coe, basic_open_eq_zero_locus_compl, basic_open_eq_zero_locus_compl,
     Set.compl_subset_compl, zero_locus_subset_zero_locus_singleton_iff]
 #align prime_spectrum.basic_open_le_basic_open_iff PrimeSpectrum.basicOpen_le_basicOpen_iff
 
-/- warning: prime_spectrum.basic_open_mul -> PrimeSpectrum.basicOpen_mul is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] (f : R) (g : R), Eq.{succ u1} (TopologicalSpace.Opens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (PrimeSpectrum.basicOpen.{u1} R _inst_1 (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R (CommRing.toRing.{u1} R _inst_1)))) f g)) (Inf.inf.{u1} (TopologicalSpace.Opens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (SemilatticeInf.toHasInf.{u1} (TopologicalSpace.Opens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (Lattice.toSemilatticeInf.{u1} (TopologicalSpace.Opens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (ConditionallyCompleteLattice.toLattice.{u1} (TopologicalSpace.Opens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.Opens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (TopologicalSpace.Opens.completeLattice.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)))))) (PrimeSpectrum.basicOpen.{u1} R _inst_1 f) (PrimeSpectrum.basicOpen.{u1} R _inst_1 g))
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] (f : R) (g : R), Eq.{succ u1} (TopologicalSpace.Opens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (PrimeSpectrum.basicOpen.{u1} R _inst_1 (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (NonUnitalNonAssocRing.toMul.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) f g)) (Inf.inf.{u1} (TopologicalSpace.Opens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (Lattice.toInf.{u1} (TopologicalSpace.Opens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (ConditionallyCompleteLattice.toLattice.{u1} (TopologicalSpace.Opens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.Opens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1))))) (PrimeSpectrum.basicOpen.{u1} R _inst_1 f) (PrimeSpectrum.basicOpen.{u1} R _inst_1 g))
-Case conversion may be inaccurate. Consider using '#align prime_spectrum.basic_open_mul PrimeSpectrum.basicOpen_mulₓ'. -/
 theorem basicOpen_mul (f g : R) : basicOpen (f * g) = basicOpen f ⊓ basicOpen g :=
   TopologicalSpace.Opens.ext <| by simp [zero_locus_singleton_mul]
 #align prime_spectrum.basic_open_mul PrimeSpectrum.basicOpen_mul
 
-/- warning: prime_spectrum.basic_open_mul_le_left -> PrimeSpectrum.basicOpen_mul_le_left is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] (f : R) (g : R), LE.le.{u1} (TopologicalSpace.Opens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (Preorder.toHasLe.{u1} (TopologicalSpace.Opens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (PartialOrder.toPreorder.{u1} (TopologicalSpace.Opens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (SetLike.partialOrder.{u1, u1} (TopologicalSpace.Opens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (PrimeSpectrum.{u1} R _inst_1) (TopologicalSpace.Opens.setLike.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1))))) (PrimeSpectrum.basicOpen.{u1} R _inst_1 (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R (CommRing.toRing.{u1} R _inst_1)))) f g)) (PrimeSpectrum.basicOpen.{u1} R _inst_1 f)
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] (f : R) (g : R), LE.le.{u1} (TopologicalSpace.Opens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (Preorder.toLE.{u1} (TopologicalSpace.Opens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (PartialOrder.toPreorder.{u1} (TopologicalSpace.Opens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (TopologicalSpace.Opens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (TopologicalSpace.Opens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)))))) (PrimeSpectrum.basicOpen.{u1} R _inst_1 (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (NonUnitalNonAssocRing.toMul.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) f g)) (PrimeSpectrum.basicOpen.{u1} R _inst_1 f)
-Case conversion may be inaccurate. Consider using '#align prime_spectrum.basic_open_mul_le_left PrimeSpectrum.basicOpen_mul_le_leftₓ'. -/
 theorem basicOpen_mul_le_left (f g : R) : basicOpen (f * g) ≤ basicOpen f := by
   rw [basic_open_mul f g]; exact inf_le_left
 #align prime_spectrum.basic_open_mul_le_left PrimeSpectrum.basicOpen_mul_le_left
 
-/- warning: prime_spectrum.basic_open_mul_le_right -> PrimeSpectrum.basicOpen_mul_le_right is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] (f : R) (g : R), LE.le.{u1} (TopologicalSpace.Opens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (Preorder.toHasLe.{u1} (TopologicalSpace.Opens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (PartialOrder.toPreorder.{u1} (TopologicalSpace.Opens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (SetLike.partialOrder.{u1, u1} (TopologicalSpace.Opens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (PrimeSpectrum.{u1} R _inst_1) (TopologicalSpace.Opens.setLike.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1))))) (PrimeSpectrum.basicOpen.{u1} R _inst_1 (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R (CommRing.toRing.{u1} R _inst_1)))) f g)) (PrimeSpectrum.basicOpen.{u1} R _inst_1 g)
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] (f : R) (g : R), LE.le.{u1} (TopologicalSpace.Opens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (Preorder.toLE.{u1} (TopologicalSpace.Opens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (PartialOrder.toPreorder.{u1} (TopologicalSpace.Opens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (TopologicalSpace.Opens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (TopologicalSpace.Opens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)))))) (PrimeSpectrum.basicOpen.{u1} R _inst_1 (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (NonUnitalNonAssocRing.toMul.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) f g)) (PrimeSpectrum.basicOpen.{u1} R _inst_1 g)
-Case conversion may be inaccurate. Consider using '#align prime_spectrum.basic_open_mul_le_right PrimeSpectrum.basicOpen_mul_le_rightₓ'. -/
 theorem basicOpen_mul_le_right (f g : R) : basicOpen (f * g) ≤ basicOpen g := by
   rw [basic_open_mul f g]; exact inf_le_right
 #align prime_spectrum.basic_open_mul_le_right PrimeSpectrum.basicOpen_mul_le_right
 
-/- warning: prime_spectrum.basic_open_pow -> PrimeSpectrum.basicOpen_pow is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] (f : R) (n : Nat), (LT.lt.{0} Nat Nat.hasLt (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero))) n) -> (Eq.{succ u1} (TopologicalSpace.Opens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (PrimeSpectrum.basicOpen.{u1} R _inst_1 (HPow.hPow.{u1, 0, u1} R Nat R (instHPow.{u1, 0} R Nat (Monoid.Pow.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))) f n)) (PrimeSpectrum.basicOpen.{u1} R _inst_1 f))
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] (f : R) (n : Nat), (LT.lt.{0} Nat instLTNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)) n) -> (Eq.{succ u1} (TopologicalSpace.Opens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (PrimeSpectrum.basicOpen.{u1} R _inst_1 (HPow.hPow.{u1, 0, u1} R Nat R (instHPow.{u1, 0} R Nat (Monoid.Pow.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) f n)) (PrimeSpectrum.basicOpen.{u1} R _inst_1 f))
-Case conversion may be inaccurate. Consider using '#align prime_spectrum.basic_open_pow PrimeSpectrum.basicOpen_powₓ'. -/
 @[simp]
 theorem basicOpen_pow (f : R) (n : ℕ) (hn : 0 < n) : basicOpen (f ^ n) = basicOpen f :=
   TopologicalSpace.Opens.ext <| by simpa using zero_locus_singleton_pow f n hn
@@ -1304,12 +953,6 @@ theorem isCompact_basicOpen (f : R) : IsCompact (basicOpen f : Set (PrimeSpectru
 #align prime_spectrum.is_compact_basic_open PrimeSpectrum.isCompact_basicOpen
 -/
 
-/- warning: prime_spectrum.basic_open_eq_bot_iff -> PrimeSpectrum.basicOpen_eq_bot_iff is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] (f : R), Iff (Eq.{succ u1} (TopologicalSpace.Opens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (PrimeSpectrum.basicOpen.{u1} R _inst_1 f) (Bot.bot.{u1} (TopologicalSpace.Opens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (CompleteLattice.toHasBot.{u1} (TopologicalSpace.Opens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (TopologicalSpace.Opens.completeLattice.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1))))) (IsNilpotent.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (Monoid.Pow.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) f)
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] (f : R), Iff (Eq.{succ u1} (TopologicalSpace.Opens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (PrimeSpectrum.basicOpen.{u1} R _inst_1 f) (Bot.bot.{u1} (TopologicalSpace.Opens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (CompleteLattice.toBot.{u1} (TopologicalSpace.Opens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1))))) (IsNilpotent.{u1} R (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Monoid.Pow.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) f)
-Case conversion may be inaccurate. Consider using '#align prime_spectrum.basic_open_eq_bot_iff PrimeSpectrum.basicOpen_eq_bot_iffₓ'. -/
 @[simp]
 theorem basicOpen_eq_bot_iff (f : R) : basicOpen f = ⊥ ↔ IsNilpotent f :=
   by
@@ -1319,12 +962,6 @@ theorem basicOpen_eq_bot_iff (f : R) : basicOpen f = ⊥ ↔ IsNilpotent f :=
   exact ⟨fun h I hI => h ⟨I, hI⟩, fun h ⟨I, hI⟩ => h I hI⟩
 #align prime_spectrum.basic_open_eq_bot_iff PrimeSpectrum.basicOpen_eq_bot_iff
 
-/- warning: prime_spectrum.localization_away_comap_range -> PrimeSpectrum.localization_away_comap_range is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] (S : Type.{u2}) [_inst_3 : CommRing.{u2} S] [_inst_4 : Algebra.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_3))] (r : R) [_inst_5 : IsLocalization.Away.{u1, u2} R (CommRing.toCommSemiring.{u1} R _inst_1) r S (CommRing.toCommSemiring.{u2} S _inst_3) _inst_4], Eq.{succ u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (Set.range.{u1, succ u2} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.{u2} S _inst_3) (coeFn.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (ContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_3) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_3) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (fun (_x : ContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_3) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_3) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) => (PrimeSpectrum.{u2} S _inst_3) -> (PrimeSpectrum.{u1} R _inst_1)) (ContinuousMap.hasCoeToFun.{u2, u1} (PrimeSpectrum.{u2} S _inst_3) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_3) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (PrimeSpectrum.comap.{u1, u2} R S _inst_1 _inst_3 (algebraMap.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_3)) _inst_4)))) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (TopologicalSpace.Opens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (HasLiftT.mk.{succ u1, succ u1} (TopologicalSpace.Opens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (CoeTCₓ.coe.{succ u1, succ u1} (TopologicalSpace.Opens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (SetLike.Set.hasCoeT.{u1, u1} (TopologicalSpace.Opens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (PrimeSpectrum.{u1} R _inst_1) (TopologicalSpace.Opens.setLike.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1))))) (PrimeSpectrum.basicOpen.{u1} R _inst_1 r))
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] (S : Type.{u2}) [_inst_3 : CommRing.{u2} S] [_inst_4 : Algebra.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_3))] (r : R) [_inst_5 : IsLocalization.Away.{u1, u2} R (CommRing.toCommSemiring.{u1} R _inst_1) r S (CommRing.toCommSemiring.{u2} S _inst_3) _inst_4], Eq.{succ u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (Set.range.{u1, succ u2} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.{u2} S _inst_3) (FunLike.coe.{max (succ u1) (succ u2), succ u2, succ u1} (ContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_3) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_3) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (PrimeSpectrum.{u2} S _inst_3) (fun (_x : PrimeSpectrum.{u2} S _inst_3) => (fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : PrimeSpectrum.{u2} S _inst_3) => PrimeSpectrum.{u1} R _inst_1) _x) (ContinuousMapClass.toFunLike.{max u1 u2, u2, u1} (ContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_3) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_3) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (PrimeSpectrum.{u2} S _inst_3) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_3) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1) (ContinuousMap.instContinuousMapClassContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_3) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_3) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1))) (PrimeSpectrum.comap.{u1, u2} R S _inst_1 _inst_3 (algebraMap.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_3)) _inst_4)))) (SetLike.coe.{u1, u1} (TopologicalSpace.Opens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (PrimeSpectrum.{u1} R _inst_1) (TopologicalSpace.Opens.instSetLikeOpens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (PrimeSpectrum.basicOpen.{u1} R _inst_1 r))
-Case conversion may be inaccurate. Consider using '#align prime_spectrum.localization_away_comap_range PrimeSpectrum.localization_away_comap_rangeₓ'. -/
 theorem localization_away_comap_range (S : Type v) [CommRing S] [Algebra R S] (r : R)
     [IsLocalization.Away r S] : Set.range (comap (algebraMap R S)) = basicOpen r :=
   by
@@ -1339,12 +976,6 @@ theorem localization_away_comap_range (S : Type v) [CommRing S] [Algebra R S] (r
     exact h₁ (x.2.mem_of_pow_mem _ h₃)
 #align prime_spectrum.localization_away_comap_range PrimeSpectrum.localization_away_comap_range
 
-/- warning: prime_spectrum.localization_away_open_embedding -> PrimeSpectrum.localization_away_openEmbedding is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] (S : Type.{u2}) [_inst_3 : CommRing.{u2} S] [_inst_4 : Algebra.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_3))] (r : R) [_inst_5 : IsLocalization.Away.{u1, u2} R (CommRing.toCommSemiring.{u1} R _inst_1) r S (CommRing.toCommSemiring.{u2} S _inst_3) _inst_4], OpenEmbedding.{u2, u1} (PrimeSpectrum.{u2} S _inst_3) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_3) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1) (coeFn.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (ContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_3) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_3) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (fun (_x : ContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_3) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_3) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) => (PrimeSpectrum.{u2} S _inst_3) -> (PrimeSpectrum.{u1} R _inst_1)) (ContinuousMap.hasCoeToFun.{u2, u1} (PrimeSpectrum.{u2} S _inst_3) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_3) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (PrimeSpectrum.comap.{u1, u2} R S _inst_1 _inst_3 (algebraMap.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_3)) _inst_4)))
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] (S : Type.{u2}) [_inst_3 : CommRing.{u2} S] [_inst_4 : Algebra.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_3))] (r : R) [_inst_5 : IsLocalization.Away.{u1, u2} R (CommRing.toCommSemiring.{u1} R _inst_1) r S (CommRing.toCommSemiring.{u2} S _inst_3) _inst_4], OpenEmbedding.{u2, u1} (PrimeSpectrum.{u2} S _inst_3) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_3) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1) (FunLike.coe.{max (succ u1) (succ u2), succ u2, succ u1} (ContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_3) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_3) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (PrimeSpectrum.{u2} S _inst_3) (fun (_x : PrimeSpectrum.{u2} S _inst_3) => (fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : PrimeSpectrum.{u2} S _inst_3) => PrimeSpectrum.{u1} R _inst_1) _x) (ContinuousMapClass.toFunLike.{max u1 u2, u2, u1} (ContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_3) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_3) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (PrimeSpectrum.{u2} S _inst_3) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_3) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1) (ContinuousMap.instContinuousMapClassContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_3) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_3) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1))) (PrimeSpectrum.comap.{u1, u2} R S _inst_1 _inst_3 (algebraMap.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_3)) _inst_4)))
-Case conversion may be inaccurate. Consider using '#align prime_spectrum.localization_away_open_embedding PrimeSpectrum.localization_away_openEmbeddingₓ'. -/
 theorem localization_away_openEmbedding (S : Type v) [CommRing S] [Algebra R S] (r : R)
     [IsLocalization.Away r S] : OpenEmbedding (comap (algebraMap R S)) :=
   { toEmbedding := localization_comap_embedding S (Submonoid.powers r)
@@ -1369,56 +1000,26 @@ We endow `prime_spectrum R` with a partial order, where `x ≤ y` if and only if
 instance : PartialOrder (PrimeSpectrum R) :=
   PartialOrder.lift asIdeal ext
 
-/- warning: prime_spectrum.as_ideal_le_as_ideal -> PrimeSpectrum.asIdeal_le_asIdeal is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] (x : PrimeSpectrum.{u1} R _inst_1) (y : PrimeSpectrum.{u1} R _inst_1), Iff (LE.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Preorder.toHasLe.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (SetLike.partialOrder.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) (PrimeSpectrum.asIdeal.{u1} R _inst_1 x) (PrimeSpectrum.asIdeal.{u1} R _inst_1 y)) (LE.le.{u1} (PrimeSpectrum.{u1} R _inst_1) (Preorder.toHasLe.{u1} (PrimeSpectrum.{u1} R _inst_1) (PartialOrder.toPreorder.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.partialOrder.{u1} R _inst_1))) x y)
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] (x : PrimeSpectrum.{u1} R _inst_1) (y : PrimeSpectrum.{u1} R _inst_1), Iff (LE.le.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Preorder.toLE.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Submodule.completeLattice.{u1, u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (PrimeSpectrum.asIdeal.{u1} R _inst_1 x) (PrimeSpectrum.asIdeal.{u1} R _inst_1 y)) (LE.le.{u1} (PrimeSpectrum.{u1} R _inst_1) (Preorder.toLE.{u1} (PrimeSpectrum.{u1} R _inst_1) (PartialOrder.toPreorder.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.instPartialOrderPrimeSpectrum.{u1} R _inst_1))) x y)
-Case conversion may be inaccurate. Consider using '#align prime_spectrum.as_ideal_le_as_ideal PrimeSpectrum.asIdeal_le_asIdealₓ'. -/
 @[simp]
 theorem asIdeal_le_asIdeal (x y : PrimeSpectrum R) : x.asIdeal ≤ y.asIdeal ↔ x ≤ y :=
   Iff.rfl
 #align prime_spectrum.as_ideal_le_as_ideal PrimeSpectrum.asIdeal_le_asIdeal
 
-/- warning: prime_spectrum.as_ideal_lt_as_ideal -> PrimeSpectrum.asIdeal_lt_asIdeal is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] (x : PrimeSpectrum.{u1} R _inst_1) (y : PrimeSpectrum.{u1} R _inst_1), Iff (LT.lt.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Preorder.toHasLt.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (SetLike.partialOrder.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) (PrimeSpectrum.asIdeal.{u1} R _inst_1 x) (PrimeSpectrum.asIdeal.{u1} R _inst_1 y)) (LT.lt.{u1} (PrimeSpectrum.{u1} R _inst_1) (Preorder.toHasLt.{u1} (PrimeSpectrum.{u1} R _inst_1) (PartialOrder.toPreorder.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.partialOrder.{u1} R _inst_1))) x y)
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] (x : PrimeSpectrum.{u1} R _inst_1) (y : PrimeSpectrum.{u1} R _inst_1), Iff (LT.lt.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Preorder.toLT.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Submodule.completeLattice.{u1, u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (PrimeSpectrum.asIdeal.{u1} R _inst_1 x) (PrimeSpectrum.asIdeal.{u1} R _inst_1 y)) (LT.lt.{u1} (PrimeSpectrum.{u1} R _inst_1) (Preorder.toLT.{u1} (PrimeSpectrum.{u1} R _inst_1) (PartialOrder.toPreorder.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.instPartialOrderPrimeSpectrum.{u1} R _inst_1))) x y)
-Case conversion may be inaccurate. Consider using '#align prime_spectrum.as_ideal_lt_as_ideal PrimeSpectrum.asIdeal_lt_asIdealₓ'. -/
 @[simp]
 theorem asIdeal_lt_asIdeal (x y : PrimeSpectrum R) : x.asIdeal < y.asIdeal ↔ x < y :=
   Iff.rfl
 #align prime_spectrum.as_ideal_lt_as_ideal PrimeSpectrum.asIdeal_lt_asIdeal
 
-/- warning: prime_spectrum.le_iff_mem_closure -> PrimeSpectrum.le_iff_mem_closure is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] (x : PrimeSpectrum.{u1} R _inst_1) (y : PrimeSpectrum.{u1} R _inst_1), Iff (LE.le.{u1} (PrimeSpectrum.{u1} R _inst_1) (Preorder.toHasLe.{u1} (PrimeSpectrum.{u1} R _inst_1) (PartialOrder.toPreorder.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.partialOrder.{u1} R _inst_1))) x y) (Membership.Mem.{u1, u1} (PrimeSpectrum.{u1} R _inst_1) (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (Set.hasMem.{u1} (PrimeSpectrum.{u1} R _inst_1)) y (closure.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1) (Singleton.singleton.{u1, u1} (PrimeSpectrum.{u1} R _inst_1) (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (Set.hasSingleton.{u1} (PrimeSpectrum.{u1} R _inst_1)) x)))
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] (x : PrimeSpectrum.{u1} R _inst_1) (y : PrimeSpectrum.{u1} R _inst_1), Iff (LE.le.{u1} (PrimeSpectrum.{u1} R _inst_1) (Preorder.toLE.{u1} (PrimeSpectrum.{u1} R _inst_1) (PartialOrder.toPreorder.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.instPartialOrderPrimeSpectrum.{u1} R _inst_1))) x y) (Membership.mem.{u1, u1} (PrimeSpectrum.{u1} R _inst_1) (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (Set.instMembershipSet.{u1} (PrimeSpectrum.{u1} R _inst_1)) y (closure.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1) (Singleton.singleton.{u1, u1} (PrimeSpectrum.{u1} R _inst_1) (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (Set.instSingletonSet.{u1} (PrimeSpectrum.{u1} R _inst_1)) x)))
-Case conversion may be inaccurate. Consider using '#align prime_spectrum.le_iff_mem_closure PrimeSpectrum.le_iff_mem_closureₓ'. -/
 theorem le_iff_mem_closure (x y : PrimeSpectrum R) :
     x ≤ y ↔ y ∈ closure ({x} : Set (PrimeSpectrum R)) := by
   rw [← as_ideal_le_as_ideal, ← zero_locus_vanishing_ideal_eq_closure, mem_zero_locus,
     vanishing_ideal_singleton, SetLike.coe_subset_coe]
 #align prime_spectrum.le_iff_mem_closure PrimeSpectrum.le_iff_mem_closure
 
-/- warning: prime_spectrum.le_iff_specializes -> PrimeSpectrum.le_iff_specializes is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] (x : PrimeSpectrum.{u1} R _inst_1) (y : PrimeSpectrum.{u1} R _inst_1), Iff (LE.le.{u1} (PrimeSpectrum.{u1} R _inst_1) (Preorder.toHasLe.{u1} (PrimeSpectrum.{u1} R _inst_1) (PartialOrder.toPreorder.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.partialOrder.{u1} R _inst_1))) x y) (Specializes.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1) x y)
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] (x : PrimeSpectrum.{u1} R _inst_1) (y : PrimeSpectrum.{u1} R _inst_1), Iff (LE.le.{u1} (PrimeSpectrum.{u1} R _inst_1) (Preorder.toLE.{u1} (PrimeSpectrum.{u1} R _inst_1) (PartialOrder.toPreorder.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.instPartialOrderPrimeSpectrum.{u1} R _inst_1))) x y) (Specializes.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1) x y)
-Case conversion may be inaccurate. Consider using '#align prime_spectrum.le_iff_specializes PrimeSpectrum.le_iff_specializesₓ'. -/
 theorem le_iff_specializes (x y : PrimeSpectrum R) : x ≤ y ↔ x ⤳ y :=
   (le_iff_mem_closure x y).trans specializes_iff_mem_closure.symm
 #align prime_spectrum.le_iff_specializes PrimeSpectrum.le_iff_specializes
 
-/- warning: prime_spectrum.nhds_order_embedding -> PrimeSpectrum.nhdsOrderEmbedding is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R], OrderEmbedding.{u1, u1} (PrimeSpectrum.{u1} R _inst_1) (Filter.{u1} (PrimeSpectrum.{u1} R _inst_1)) (Preorder.toHasLe.{u1} (PrimeSpectrum.{u1} R _inst_1) (PartialOrder.toPreorder.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.partialOrder.{u1} R _inst_1))) (Preorder.toHasLe.{u1} (Filter.{u1} (PrimeSpectrum.{u1} R _inst_1)) (PartialOrder.toPreorder.{u1} (Filter.{u1} (PrimeSpectrum.{u1} R _inst_1)) (Filter.partialOrder.{u1} (PrimeSpectrum.{u1} R _inst_1))))
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R], OrderEmbedding.{u1, u1} (PrimeSpectrum.{u1} R _inst_1) (Filter.{u1} (PrimeSpectrum.{u1} R _inst_1)) (Preorder.toLE.{u1} (PrimeSpectrum.{u1} R _inst_1) (PartialOrder.toPreorder.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.instPartialOrderPrimeSpectrum.{u1} R _inst_1))) (Preorder.toLE.{u1} (Filter.{u1} (PrimeSpectrum.{u1} R _inst_1)) (PartialOrder.toPreorder.{u1} (Filter.{u1} (PrimeSpectrum.{u1} R _inst_1)) (Filter.instPartialOrderFilter.{u1} (PrimeSpectrum.{u1} R _inst_1))))
-Case conversion may be inaccurate. Consider using '#align prime_spectrum.nhds_order_embedding PrimeSpectrum.nhdsOrderEmbeddingₓ'. -/
 /-- `nhds` as an order embedding. -/
 @[simps (config := { fullyApplied := true })]
 def nhdsOrderEmbedding : PrimeSpectrum R ↪o Filter (PrimeSpectrum R) :=
@@ -1440,12 +1041,6 @@ instance {R : Type _} [Field R] : Unique (PrimeSpectrum R)
 
 end Order
 
-/- warning: prime_spectrum.localization_map_of_specializes -> PrimeSpectrum.localizationMapOfSpecializes is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {x : PrimeSpectrum.{u1} R _inst_1} {y : PrimeSpectrum.{u1} R _inst_1}, (Specializes.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1) x y) -> (RingHom.{u1, u1} (Localization.AtPrime.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1) (PrimeSpectrum.asIdeal.{u1} R _inst_1 y) (PrimeSpectrum.isPrime.{u1} R _inst_1 y)) (Localization.AtPrime.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1) (PrimeSpectrum.asIdeal.{u1} R _inst_1 x) (PrimeSpectrum.isPrime.{u1} R _inst_1 x)) (NonAssocRing.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1) (PrimeSpectrum.asIdeal.{u1} R _inst_1 y) (PrimeSpectrum.isPrime.{u1} R _inst_1 y)) (Ring.toNonAssocRing.{u1} (Localization.AtPrime.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1) (PrimeSpectrum.asIdeal.{u1} R _inst_1 y) (PrimeSpectrum.isPrime.{u1} R _inst_1 y)) (CommRing.toRing.{u1} (Localization.AtPrime.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1) (PrimeSpectrum.asIdeal.{u1} R _inst_1 y) (PrimeSpectrum.isPrime.{u1} R _inst_1 y)) (Localization.commRing.{u1} R _inst_1 (Ideal.primeCompl.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1) (PrimeSpectrum.asIdeal.{u1} R _inst_1 y) (PrimeSpectrum.isPrime.{u1} R _inst_1 y)))))) (NonAssocRing.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1) (PrimeSpectrum.asIdeal.{u1} R _inst_1 x) (PrimeSpectrum.isPrime.{u1} R _inst_1 x)) (Ring.toNonAssocRing.{u1} (Localization.AtPrime.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1) (PrimeSpectrum.asIdeal.{u1} R _inst_1 x) (PrimeSpectrum.isPrime.{u1} R _inst_1 x)) (CommRing.toRing.{u1} (Localization.AtPrime.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1) (PrimeSpectrum.asIdeal.{u1} R _inst_1 x) (PrimeSpectrum.isPrime.{u1} R _inst_1 x)) (Localization.commRing.{u1} R _inst_1 (Ideal.primeCompl.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1) (PrimeSpectrum.asIdeal.{u1} R _inst_1 x) (PrimeSpectrum.isPrime.{u1} R _inst_1 x)))))))
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {x : PrimeSpectrum.{u1} R _inst_1} {y : PrimeSpectrum.{u1} R _inst_1}, (Specializes.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1) x y) -> (RingHom.{u1, u1} (Localization.AtPrime.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1) (PrimeSpectrum.asIdeal.{u1} R _inst_1 y) (PrimeSpectrum.IsPrime.{u1} R _inst_1 y)) (Localization.AtPrime.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1) (PrimeSpectrum.asIdeal.{u1} R _inst_1 x) (PrimeSpectrum.IsPrime.{u1} R _inst_1 x)) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1) (PrimeSpectrum.asIdeal.{u1} R _inst_1 y) (PrimeSpectrum.IsPrime.{u1} R _inst_1 y)) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1) (PrimeSpectrum.asIdeal.{u1} R _inst_1 y) (PrimeSpectrum.IsPrime.{u1} R _inst_1 y)) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1) (Ideal.primeCompl.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1) (PrimeSpectrum.asIdeal.{u1} R _inst_1 y) (PrimeSpectrum.IsPrime.{u1} R _inst_1 y))))) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1) (PrimeSpectrum.asIdeal.{u1} R _inst_1 x) (PrimeSpectrum.IsPrime.{u1} R _inst_1 x)) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1) (PrimeSpectrum.asIdeal.{u1} R _inst_1 x) (PrimeSpectrum.IsPrime.{u1} R _inst_1 x)) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1) (Ideal.primeCompl.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1) (PrimeSpectrum.asIdeal.{u1} R _inst_1 x) (PrimeSpectrum.IsPrime.{u1} R _inst_1 x))))))
-Case conversion may be inaccurate. Consider using '#align prime_spectrum.localization_map_of_specializes PrimeSpectrum.localizationMapOfSpecializesₓ'. -/
 /-- 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) :
@@ -1474,23 +1069,11 @@ def closedPoint : PrimeSpectrum R :=
 
 variable {R}
 
-/- warning: local_ring.is_local_ring_hom_iff_comap_closed_point -> LocalRing.isLocalRingHom_iff_comap_closedPoint is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] [_inst_3 : LocalRing.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))] {S : Type.{u2}} [_inst_4 : CommRing.{u2} S] [_inst_5 : LocalRing.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_4))] (f : RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_4)))), Iff (IsLocalRingHom.{u1, u2} R S (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_4)) f) (Eq.{succ u1} (PrimeSpectrum.{u1} R _inst_1) (coeFn.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (ContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_4) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_4) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (fun (_x : ContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_4) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_4) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) => (PrimeSpectrum.{u2} S _inst_4) -> (PrimeSpectrum.{u1} R _inst_1)) (ContinuousMap.hasCoeToFun.{u2, u1} (PrimeSpectrum.{u2} S _inst_4) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_4) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (PrimeSpectrum.comap.{u1, u2} R S _inst_1 _inst_4 f) (LocalRing.closedPoint.{u2} S _inst_4 _inst_5)) (LocalRing.closedPoint.{u1} R _inst_1 _inst_3))
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] [_inst_3 : LocalRing.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))] {S : Type.{u2}} [_inst_4 : CommRing.{u2} S] [_inst_5 : LocalRing.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_4))] (f : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_4)))), Iff (IsLocalRingHom.{u1, u2} R S (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_4)) f) (Eq.{succ u1} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : PrimeSpectrum.{u2} S _inst_4) => PrimeSpectrum.{u1} R _inst_1) (LocalRing.closedPoint.{u2} S _inst_4 _inst_5)) (FunLike.coe.{max (succ u1) (succ u2), succ u2, succ u1} (ContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_4) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_4) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (PrimeSpectrum.{u2} S _inst_4) (fun (_x : PrimeSpectrum.{u2} S _inst_4) => (fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : PrimeSpectrum.{u2} S _inst_4) => PrimeSpectrum.{u1} R _inst_1) _x) (ContinuousMapClass.toFunLike.{max u1 u2, u2, u1} (ContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_4) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_4) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (PrimeSpectrum.{u2} S _inst_4) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_4) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1) (ContinuousMap.instContinuousMapClassContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_4) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_4) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1))) (PrimeSpectrum.comap.{u1, u2} R S _inst_1 _inst_4 f) (LocalRing.closedPoint.{u2} S _inst_4 _inst_5)) (LocalRing.closedPoint.{u1} R _inst_1 _inst_3))
-Case conversion may be inaccurate. Consider using '#align local_ring.is_local_ring_hom_iff_comap_closed_point LocalRing.isLocalRingHom_iff_comap_closedPointₓ'. -/
 theorem isLocalRingHom_iff_comap_closedPoint {S : Type v} [CommRing S] [LocalRing S] (f : R →+* S) :
     IsLocalRingHom f ↔ PrimeSpectrum.comap f (closedPoint S) = closedPoint R := by
   rw [(local_hom_tfae f).out 0 4, PrimeSpectrum.ext_iff]; rfl
 #align local_ring.is_local_ring_hom_iff_comap_closed_point LocalRing.isLocalRingHom_iff_comap_closedPoint
 
-/- warning: local_ring.comap_closed_point -> LocalRing.comap_closedPoint is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] [_inst_3 : LocalRing.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))] {S : Type.{u2}} [_inst_4 : CommRing.{u2} S] [_inst_5 : LocalRing.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_4))] (f : RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_4)))) [_inst_6 : IsLocalRingHom.{u1, u2} R S (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_4)) f], Eq.{succ u1} (PrimeSpectrum.{u1} R _inst_1) (coeFn.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (ContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_4) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_4) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (fun (_x : ContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_4) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_4) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) => (PrimeSpectrum.{u2} S _inst_4) -> (PrimeSpectrum.{u1} R _inst_1)) (ContinuousMap.hasCoeToFun.{u2, u1} (PrimeSpectrum.{u2} S _inst_4) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_4) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (PrimeSpectrum.comap.{u1, u2} R S _inst_1 _inst_4 f) (LocalRing.closedPoint.{u2} S _inst_4 _inst_5)) (LocalRing.closedPoint.{u1} R _inst_1 _inst_3)
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] [_inst_3 : LocalRing.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))] {S : Type.{u2}} [_inst_4 : CommRing.{u2} S] [_inst_5 : LocalRing.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_4))] (f : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_4)))) [_inst_6 : IsLocalRingHom.{u1, u2} R S (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_4)) f], Eq.{succ u1} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : PrimeSpectrum.{u2} S _inst_4) => PrimeSpectrum.{u1} R _inst_1) (LocalRing.closedPoint.{u2} S _inst_4 _inst_5)) (FunLike.coe.{max (succ u1) (succ u2), succ u2, succ u1} (ContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_4) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_4) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (PrimeSpectrum.{u2} S _inst_4) (fun (_x : PrimeSpectrum.{u2} S _inst_4) => (fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : PrimeSpectrum.{u2} S _inst_4) => PrimeSpectrum.{u1} R _inst_1) _x) (ContinuousMapClass.toFunLike.{max u1 u2, u2, u1} (ContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_4) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_4) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (PrimeSpectrum.{u2} S _inst_4) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_4) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1) (ContinuousMap.instContinuousMapClassContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_4) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_4) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1))) (PrimeSpectrum.comap.{u1, u2} R S _inst_1 _inst_4 f) (LocalRing.closedPoint.{u2} S _inst_4 _inst_5)) (LocalRing.closedPoint.{u1} R _inst_1 _inst_3)
-Case conversion may be inaccurate. Consider using '#align local_ring.comap_closed_point LocalRing.comap_closedPointₓ'. -/
 @[simp]
 theorem comap_closedPoint {S : Type v} [CommRing S] [LocalRing S] (f : R →+* S) [IsLocalRingHom f] :
     PrimeSpectrum.comap f (closedPoint S) = closedPoint R :=
@@ -1503,12 +1086,6 @@ theorem specializes_closedPoint (x : PrimeSpectrum R) : x ⤳ closedPoint R :=
 #align local_ring.specializes_closed_point LocalRing.specializes_closedPoint
 -/
 
-/- warning: local_ring.closed_point_mem_iff -> LocalRing.closedPoint_mem_iff is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] [_inst_3 : LocalRing.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))] (U : TopologicalSpace.Opens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)), Iff (Membership.Mem.{u1, u1} (PrimeSpectrum.{u1} R _inst_1) (TopologicalSpace.Opens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (SetLike.hasMem.{u1, u1} (TopologicalSpace.Opens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (PrimeSpectrum.{u1} R _inst_1) (TopologicalSpace.Opens.setLike.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1))) (LocalRing.closedPoint.{u1} R _inst_1 _inst_3) U) (Eq.{succ u1} (TopologicalSpace.Opens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) U (Top.top.{u1} (TopologicalSpace.Opens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (CompleteLattice.toHasTop.{u1} (TopologicalSpace.Opens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (TopologicalSpace.Opens.completeLattice.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)))))
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] [_inst_3 : LocalRing.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))] (U : TopologicalSpace.Opens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)), Iff (Membership.mem.{u1, u1} (PrimeSpectrum.{u1} R _inst_1) (TopologicalSpace.Opens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (SetLike.instMembership.{u1, u1} (TopologicalSpace.Opens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (PrimeSpectrum.{u1} R _inst_1) (TopologicalSpace.Opens.instSetLikeOpens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1))) (LocalRing.closedPoint.{u1} R _inst_1 _inst_3) U) (Eq.{succ u1} (TopologicalSpace.Opens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) U (Top.top.{u1} (TopologicalSpace.Opens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (CompleteLattice.toTop.{u1} (TopologicalSpace.Opens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)))))
-Case conversion may be inaccurate. Consider using '#align local_ring.closed_point_mem_iff LocalRing.closedPoint_mem_iffₓ'. -/
 theorem closedPoint_mem_iff (U : TopologicalSpace.Opens <| PrimeSpectrum R) :
     closedPoint R ∈ U ↔ U = ⊤ := by
   constructor
Diff
@@ -140,10 +140,7 @@ but is expected to have type
 Case conversion may be inaccurate. Consider using '#align prime_spectrum.prime_spectrum_prod_symm_inl_as_ideal PrimeSpectrum.primeSpectrumProd_symm_inl_asIdealₓ'. -/
 @[simp]
 theorem primeSpectrumProd_symm_inl_asIdeal (x : PrimeSpectrum R) :
-    ((primeSpectrumProd R S).symm <| Sum.inl x).asIdeal = Ideal.prod x.asIdeal ⊤ :=
-  by
-  cases x
-  rfl
+    ((primeSpectrumProd R S).symm <| Sum.inl x).asIdeal = Ideal.prod x.asIdeal ⊤ := by cases x; rfl
 #align prime_spectrum.prime_spectrum_prod_symm_inl_as_ideal PrimeSpectrum.primeSpectrumProd_symm_inl_asIdeal
 
 /- warning: prime_spectrum.prime_spectrum_prod_symm_inr_as_ideal -> PrimeSpectrum.primeSpectrumProd_symm_inr_asIdeal is a dubious translation:
@@ -154,10 +151,7 @@ but is expected to have type
 Case conversion may be inaccurate. Consider using '#align prime_spectrum.prime_spectrum_prod_symm_inr_as_ideal PrimeSpectrum.primeSpectrumProd_symm_inr_asIdealₓ'. -/
 @[simp]
 theorem primeSpectrumProd_symm_inr_asIdeal (x : PrimeSpectrum S) :
-    ((primeSpectrumProd R S).symm <| Sum.inr x).asIdeal = Ideal.prod ⊤ x.asIdeal :=
-  by
-  cases x
-  rfl
+    ((primeSpectrumProd R S).symm <| Sum.inr x).asIdeal = Ideal.prod ⊤ x.asIdeal := by cases x; rfl
 #align prime_spectrum.prime_spectrum_prod_symm_inr_as_ideal PrimeSpectrum.primeSpectrumProd_symm_inr_asIdeal
 
 #print PrimeSpectrum.zeroLocus /-
@@ -183,9 +177,7 @@ theorem mem_zeroLocus (x : PrimeSpectrum R) (s : Set R) : x ∈ zeroLocus s ↔
 
 #print PrimeSpectrum.zeroLocus_span /-
 @[simp]
-theorem zeroLocus_span (s : Set R) : zeroLocus (Ideal.span s : Set R) = zeroLocus s :=
-  by
-  ext x
+theorem zeroLocus_span (s : Set R) : zeroLocus (Ideal.span s : Set R) = zeroLocus s := by ext x;
   exact (Submodule.gi R R).gc s x.as_ideal
 #align prime_spectrum.zero_locus_span PrimeSpectrum.zeroLocus_span
 -/
@@ -425,9 +417,7 @@ theorem zeroLocus_empty_of_one_mem {s : Set R} (h : (1 : R) ∈ s) : zeroLocus s
   intro x hx
   rw [mem_zero_locus] at hx
   have x_prime : x.as_ideal.is_prime := by infer_instance
-  have eq_top : x.as_ideal = ⊤ := by
-    rw [Ideal.eq_top_iff_one]
-    exact hx h
+  have eq_top : x.as_ideal = ⊤ := by rw [Ideal.eq_top_iff_one]; exact hx h
   apply x_prime.ne_top eq_top
 #align prime_spectrum.zero_locus_empty_of_one_mem PrimeSpectrum.zeroLocus_empty_of_one_mem
 
@@ -455,9 +445,7 @@ theorem zeroLocus_empty_iff_eq_top {I : Ideal R} : zeroLocus (I : Set R) = ∅ 
     intro h
     rcases Ideal.exists_le_maximal I h with ⟨M, hM, hIM⟩
     exact Set.Nonempty.ne_empty ⟨⟨M, hM.is_prime⟩, hIM⟩
-  · rintro rfl
-    apply zero_locus_empty_of_one_mem
-    trivial
+  · rintro rfl; apply zero_locus_empty_of_one_mem; trivial
 #align prime_spectrum.zero_locus_empty_iff_eq_top PrimeSpectrum.zeroLocus_empty_iff_eq_top
 
 #print PrimeSpectrum.zeroLocus_univ /-
@@ -563,10 +551,8 @@ but is expected to have type
   forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] (s : Set.{u1} R) (s' : Set.{u1} R), Eq.{succ u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (Union.union.{u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (Set.instUnionSet.{u1} (PrimeSpectrum.{u1} R _inst_1)) (PrimeSpectrum.zeroLocus.{u1} R _inst_1 s) (PrimeSpectrum.zeroLocus.{u1} R _inst_1 s')) (PrimeSpectrum.zeroLocus.{u1} R _inst_1 (SetLike.coe.{u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) R (Submodule.setLike.{u1, u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Inf.inf.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Submodule.instInfSubmodule.{u1, u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) s) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) s'))))
 Case conversion may be inaccurate. Consider using '#align prime_spectrum.union_zero_locus PrimeSpectrum.union_zeroLocusₓ'. -/
 theorem union_zeroLocus (s s' : Set R) :
-    zeroLocus s ∪ zeroLocus s' = zeroLocus (Ideal.span s ⊓ Ideal.span s' : Ideal R) :=
-  by
-  rw [zero_locus_inf]
-  simp
+    zeroLocus s ∪ zeroLocus s' = zeroLocus (Ideal.span s ⊓ Ideal.span s' : Ideal R) := by
+  rw [zero_locus_inf]; simp
 #align prime_spectrum.union_zero_locus PrimeSpectrum.union_zeroLocus
 
 /- warning: prime_spectrum.zero_locus_mul -> PrimeSpectrum.zeroLocus_mul is a dubious translation:
@@ -649,9 +635,7 @@ instance zariskiTopology : TopologicalSpace (PrimeSpectrum R) :=
       choose f hf using fun i : Zs => h i.Prop
       simp only [← hf]
       exact ⟨_, zero_locus_Union _⟩)
-    (by
-      rintro _ ⟨s, rfl⟩ _ ⟨t, rfl⟩
-      exact ⟨_, (union_zero_locus s t).symm⟩)
+    (by rintro _ ⟨s, rfl⟩ _ ⟨t, rfl⟩; exact ⟨_, (union_zero_locus s t).symm⟩)
 #align prime_spectrum.zariski_topology PrimeSpectrum.zariskiTopology
 -/
 
@@ -689,9 +673,7 @@ theorem isClosed_iff_zeroLocus_radical_ideal (Z : Set (PrimeSpectrum R)) :
 -/
 
 #print PrimeSpectrum.isClosed_zeroLocus /-
-theorem isClosed_zeroLocus (s : Set R) : IsClosed (zeroLocus s) :=
-  by
-  rw [is_closed_iff_zero_locus]
+theorem isClosed_zeroLocus (s : Set R) : IsClosed (zeroLocus s) := by rw [is_closed_iff_zero_locus];
   exact ⟨s, rfl⟩
 #align prime_spectrum.is_closed_zero_locus PrimeSpectrum.isClosed_zeroLocus
 -/
@@ -807,8 +789,7 @@ theorem t1Space_iff_isField [IsDomain R] : T1Space (PrimeSpectrum R) ↔ IsField
           (Classical.not_not.2 rfl))
   · refine' ⟨fun x => (is_closed_singleton_iff_is_maximal x).2 _⟩
     by_cases hx : x.as_ideal = ⊥
-    · letI := h.to_field
-      exact hx.symm ▸ Ideal.bot_isMaximal
+    · letI := h.to_field; exact hx.symm ▸ Ideal.bot_isMaximal
     · exact absurd h (Ring.not_isField_iff_exists_prime.2 ⟨x.as_ideal, ⟨hx, x.2⟩⟩)
 #align prime_spectrum.t1_space_iff_is_field PrimeSpectrum.t1Space_iff_isField
 -/
@@ -826,10 +807,8 @@ theorem isIrreducible_zeroLocus_iff_of_radical (I : Ideal R) (hI : I.IsRadical)
   · trans ∀ x y : Ideal R, Z(I) ⊆ Z(x) ∪ Z(y) → Z(I) ⊆ Z(x) ∨ Z(I) ⊆ Z(y)
     · simp_rw [isPreirreducible_iff_closed_union_closed, is_closed_iff_zero_locus_ideal]
       constructor
-      · rintro h x y
-        exact h _ _ ⟨x, rfl⟩ ⟨y, rfl⟩
-      · rintro h _ _ ⟨x, rfl⟩ ⟨y, rfl⟩
-        exact h x y
+      · rintro h x y; exact h _ _ ⟨x, rfl⟩ ⟨y, rfl⟩
+      · rintro h _ _ ⟨x, rfl⟩ ⟨y, rfl⟩; exact h x y
     · simp_rw [← zero_locus_inf, subset_zero_locus_iff_le_vanishing_ideal,
         vanishing_ideal_zero_locus_eq_radical, hI.radical]
       constructor
@@ -918,10 +897,7 @@ theorem comap_asIdeal (y : PrimeSpectrum S) : (comap f y).asIdeal = Ideal.comap
 
 #print PrimeSpectrum.comap_id /-
 @[simp]
-theorem comap_id : comap (RingHom.id R) = ContinuousMap.id _ :=
-  by
-  ext
-  rfl
+theorem comap_id : comap (RingHom.id R) = ContinuousMap.id _ := by ext; rfl
 #align prime_spectrum.comap_id PrimeSpectrum.comap_id
 -/
 
@@ -1020,8 +996,7 @@ theorem localization_comap_inducing [Algebra R S] (M : Submonoid R) [IsLocalizat
     rw [preimage_comap_zero_locus, ← zero_locus_span, ← zero_locus_span s]
     congr 1
     exact congr_arg Submodule.carrier (IsLocalization.map_comap M S (Ideal.span s))
-  · rintro ⟨_, ⟨t, rfl⟩, rfl⟩
-    simp
+  · rintro ⟨_, ⟨t, rfl⟩, rfl⟩; simp
 #align prime_spectrum.localization_comap_inducing PrimeSpectrum.localization_comap_inducing
 
 /- warning: prime_spectrum.localization_comap_injective -> PrimeSpectrum.localization_comap_injective is a dubious translation:
@@ -1251,10 +1226,8 @@ lean 3 declaration is
 but is expected to have type
   forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] (f : R) (g : R), LE.le.{u1} (TopologicalSpace.Opens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (Preorder.toLE.{u1} (TopologicalSpace.Opens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (PartialOrder.toPreorder.{u1} (TopologicalSpace.Opens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (TopologicalSpace.Opens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (TopologicalSpace.Opens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)))))) (PrimeSpectrum.basicOpen.{u1} R _inst_1 (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (NonUnitalNonAssocRing.toMul.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) f g)) (PrimeSpectrum.basicOpen.{u1} R _inst_1 f)
 Case conversion may be inaccurate. Consider using '#align prime_spectrum.basic_open_mul_le_left PrimeSpectrum.basicOpen_mul_le_leftₓ'. -/
-theorem basicOpen_mul_le_left (f g : R) : basicOpen (f * g) ≤ basicOpen f :=
-  by
-  rw [basic_open_mul f g]
-  exact inf_le_left
+theorem basicOpen_mul_le_left (f g : R) : basicOpen (f * g) ≤ basicOpen f := by
+  rw [basic_open_mul f g]; exact inf_le_left
 #align prime_spectrum.basic_open_mul_le_left PrimeSpectrum.basicOpen_mul_le_left
 
 /- warning: prime_spectrum.basic_open_mul_le_right -> PrimeSpectrum.basicOpen_mul_le_right is a dubious translation:
@@ -1263,10 +1236,8 @@ lean 3 declaration is
 but is expected to have type
   forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] (f : R) (g : R), LE.le.{u1} (TopologicalSpace.Opens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (Preorder.toLE.{u1} (TopologicalSpace.Opens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (PartialOrder.toPreorder.{u1} (TopologicalSpace.Opens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (TopologicalSpace.Opens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (TopologicalSpace.Opens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)))))) (PrimeSpectrum.basicOpen.{u1} R _inst_1 (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (NonUnitalNonAssocRing.toMul.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) f g)) (PrimeSpectrum.basicOpen.{u1} R _inst_1 g)
 Case conversion may be inaccurate. Consider using '#align prime_spectrum.basic_open_mul_le_right PrimeSpectrum.basicOpen_mul_le_rightₓ'. -/
-theorem basicOpen_mul_le_right (f g : R) : basicOpen (f * g) ≤ basicOpen g :=
-  by
-  rw [basic_open_mul f g]
-  exact inf_le_right
+theorem basicOpen_mul_le_right (f g : R) : basicOpen (f * g) ≤ basicOpen g := by
+  rw [basic_open_mul f g]; exact inf_le_right
 #align prime_spectrum.basic_open_mul_le_right PrimeSpectrum.basicOpen_mul_le_right
 
 /- warning: prime_spectrum.basic_open_pow -> PrimeSpectrum.basicOpen_pow is a dubious translation:
@@ -1377,19 +1348,14 @@ Case conversion may be inaccurate. Consider using '#align prime_spectrum.localiz
 theorem localization_away_openEmbedding (S : Type v) [CommRing S] [Algebra R S] (r : R)
     [IsLocalization.Away r S] : OpenEmbedding (comap (algebraMap R S)) :=
   { toEmbedding := localization_comap_embedding S (Submonoid.powers r)
-    open_range := by
-      rw [localization_away_comap_range S r]
-      exact is_open_basic_open }
+    open_range := by rw [localization_away_comap_range S r]; exact is_open_basic_open }
 #align prime_spectrum.localization_away_open_embedding PrimeSpectrum.localization_away_openEmbedding
 
 end BasicOpen
 
 /-- The prime spectrum of a commutative ring is a compact topological space. -/
 instance : CompactSpace (PrimeSpectrum R)
-    where isCompact_univ := by
-    convert is_compact_basic_open (1 : R)
-    rw [basic_open_one]
-    rfl
+    where isCompact_univ := by convert is_compact_basic_open (1 : R); rw [basic_open_one]; rfl
 
 section Order
 
@@ -1515,10 +1481,8 @@ but is expected to have type
   forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] [_inst_3 : LocalRing.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))] {S : Type.{u2}} [_inst_4 : CommRing.{u2} S] [_inst_5 : LocalRing.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_4))] (f : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_4)))), Iff (IsLocalRingHom.{u1, u2} R S (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_4)) f) (Eq.{succ u1} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : PrimeSpectrum.{u2} S _inst_4) => PrimeSpectrum.{u1} R _inst_1) (LocalRing.closedPoint.{u2} S _inst_4 _inst_5)) (FunLike.coe.{max (succ u1) (succ u2), succ u2, succ u1} (ContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_4) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_4) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (PrimeSpectrum.{u2} S _inst_4) (fun (_x : PrimeSpectrum.{u2} S _inst_4) => (fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : PrimeSpectrum.{u2} S _inst_4) => PrimeSpectrum.{u1} R _inst_1) _x) (ContinuousMapClass.toFunLike.{max u1 u2, u2, u1} (ContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_4) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_4) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (PrimeSpectrum.{u2} S _inst_4) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_4) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1) (ContinuousMap.instContinuousMapClassContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_4) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_4) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1))) (PrimeSpectrum.comap.{u1, u2} R S _inst_1 _inst_4 f) (LocalRing.closedPoint.{u2} S _inst_4 _inst_5)) (LocalRing.closedPoint.{u1} R _inst_1 _inst_3))
 Case conversion may be inaccurate. Consider using '#align local_ring.is_local_ring_hom_iff_comap_closed_point LocalRing.isLocalRingHom_iff_comap_closedPointₓ'. -/
 theorem isLocalRingHom_iff_comap_closedPoint {S : Type v} [CommRing S] [LocalRing S] (f : R →+* S) :
-    IsLocalRingHom f ↔ PrimeSpectrum.comap f (closedPoint S) = closedPoint R :=
-  by
-  rw [(local_hom_tfae f).out 0 4, PrimeSpectrum.ext_iff]
-  rfl
+    IsLocalRingHom f ↔ PrimeSpectrum.comap f (closedPoint S) = closedPoint R := by
+  rw [(local_hom_tfae f).out 0 4, PrimeSpectrum.ext_iff]; rfl
 #align local_ring.is_local_ring_hom_iff_comap_closed_point LocalRing.isLocalRingHom_iff_comap_closedPoint
 
 /- warning: local_ring.comap_closed_point -> LocalRing.comap_closedPoint is a dubious translation:
@@ -1548,10 +1512,8 @@ Case conversion may be inaccurate. Consider using '#align local_ring.closed_poin
 theorem closedPoint_mem_iff (U : TopologicalSpace.Opens <| PrimeSpectrum R) :
     closedPoint R ∈ U ↔ U = ⊤ := by
   constructor
-  · rw [eq_top_iff]
-    exact fun h x _ => (specializes_closed_point x).mem_open U.2 h
-  · rintro rfl
-    trivial
+  · rw [eq_top_iff]; exact fun h x _ => (specializes_closed_point x).mem_open U.2 h
+  · rintro rfl; trivial
 #align local_ring.closed_point_mem_iff LocalRing.closedPoint_mem_iff
 
 @[simp]
Diff
@@ -1101,10 +1101,7 @@ theorem comap_inducing_of_surjective (hf : Surjective f) : Inducing (comap f) :=
 #align prime_spectrum.comap_inducing_of_surjective PrimeSpectrum.comap_inducing_of_surjective
 
 /- warning: prime_spectrum.image_comap_zero_locus_eq_zero_locus_comap -> PrimeSpectrum.image_comap_zeroLocus_eq_zeroLocus_comap is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} (S : Type.{u2}) [_inst_1 : CommRing.{u1} R] [_inst_2 : CommRing.{u2} S] (f : RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))), (Function.Surjective.{succ u1, succ u2} R S (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) (fun (_x : RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) => R -> S) (RingHom.hasCoeToFun.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) f)) -> (forall (I : Ideal.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))), Eq.{succ u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (Set.image.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (coeFn.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (ContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (fun (_x : ContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) => (PrimeSpectrum.{u2} S _inst_2) -> (PrimeSpectrum.{u1} R _inst_1)) (ContinuousMap.hasCoeToFun.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (PrimeSpectrum.comap.{u1, u2} R S _inst_1 _inst_2 f)) (PrimeSpectrum.zeroLocus.{u2} S _inst_2 ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Ideal.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))) (Set.{u2} S) (HasLiftT.mk.{succ u2, succ u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))) (Set.{u2} S) (CoeTCₓ.coe.{succ u2, succ u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))) (Set.{u2} S) (SetLike.Set.hasCoeT.{u2, u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))) S (Submodule.setLike.{u2, u2} S S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))))) (Semiring.toModule.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))))))) I))) (PrimeSpectrum.zeroLocus.{u1} R _inst_1 ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Set.{u1} R) (HasLiftT.mk.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Set.{u1} R) (CoeTCₓ.coe.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Set.{u1} R) (SetLike.Set.hasCoeT.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) (Ideal.comap.{u1, u2, max u1 u2} R S (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) (RingHom.ringHomClass.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) f I))))
-but is expected to have type
-  forall {R : Type.{u1}} (S : Type.{u2}) [_inst_1 : CommRing.{u1} R] [_inst_2 : CommRing.{u2} S] (f : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))), (Function.Surjective.{succ u1, succ u2} R S (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) R S (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (NonUnitalNonAssocSemiring.toMul.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (RingHom.instRingHomClassRingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))))) f)) -> (forall (I : Ideal.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))), Eq.{succ u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (Set.image.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (FunLike.coe.{max (succ u1) (succ u2), succ u2, succ u1} (ContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (PrimeSpectrum.{u2} S _inst_2) (fun (_x : PrimeSpectrum.{u2} S _inst_2) => (fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : PrimeSpectrum.{u2} S _inst_2) => PrimeSpectrum.{u1} R _inst_1) _x) (ContinuousMapClass.toFunLike.{max u1 u2, u2, u1} (ContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1) (ContinuousMap.instContinuousMapClassContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1))) (PrimeSpectrum.comap.{u1, u2} R S _inst_1 _inst_2 f)) (PrimeSpectrum.zeroLocus.{u2} S _inst_2 (SetLike.coe.{u2, u2} (Ideal.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) S (Submodule.setLike.{u2, u2} S S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (Semiring.toModule.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) I))) (PrimeSpectrum.zeroLocus.{u1} R _inst_1 (SetLike.coe.{u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) R (Submodule.setLike.{u1, u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Ideal.comap.{u1, u2, max u1 u2} R S (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (RingHom.instRingHomClassRingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) f I))))
+<too large>
 Case conversion may be inaccurate. Consider using '#align prime_spectrum.image_comap_zero_locus_eq_zero_locus_comap PrimeSpectrum.image_comap_zeroLocus_eq_zeroLocus_comapₓ'. -/
 theorem image_comap_zeroLocus_eq_zeroLocus_comap (hf : Surjective f) (I : Ideal S) :
     comap f '' zeroLocus I = zeroLocus (I.comap f) :=
Diff
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Johan Commelin
 
 ! This file was ported from Lean 3 source module algebraic_geometry.prime_spectrum.basic
-! leanprover-community/mathlib commit a7c017d750512a352b623b1824d75da5998457d0
+! leanprover-community/mathlib commit a87d22575d946e1e156fc1edd1e1269600a8a282
 ! Please do not edit these lines, except to modify the commit id
 ! if you have ported upstream changes.
 -/
@@ -20,6 +20,9 @@ import Mathbin.Topology.Sober
 /-!
 # Prime spectrum of a commutative ring
 
+> THIS FILE IS SYNCHRONIZED WITH MATHLIB4.
+> Any changes to this file require a corresponding PR to mathlib4.
+
 The prime spectrum of a commutative ring is the type of all prime ideals.
 It is naturally endowed with a topology: the Zariski topology.
 
Diff
@@ -56,6 +56,7 @@ universe u v
 
 variable (R : Type u) (S : Type v) [CommRing R] [CommRing S]
 
+#print PrimeSpectrum /-
 /-- The prime spectrum of a commutative ring `R` is the type of all prime ideals of `R`.
 
 It is naturally endowed with a topology (the Zariski topology),
@@ -66,6 +67,7 @@ structure PrimeSpectrum where
   asIdeal : Ideal R
   IsPrime : as_ideal.IsPrime
 #align prime_spectrum PrimeSpectrum
+-/
 
 attribute [instance] PrimeSpectrum.isPrime
 
@@ -77,13 +79,21 @@ instance [Nontrivial R] : Nonempty <| PrimeSpectrum R :=
   let ⟨I, hI⟩ := Ideal.exists_maximal R
   ⟨⟨I, hI.IsPrime⟩⟩
 
+#print PrimeSpectrum.pUnit /-
 /-- The prime spectrum of the zero ring is empty. -/
 theorem pUnit (x : PrimeSpectrum PUnit) : False :=
   x.1.ne_top_iff_one.1 x.2.1 <| Subsingleton.elim (0 : PUnit) 1 ▸ x.1.zero_mem
 #align prime_spectrum.punit PrimeSpectrum.pUnit
+-/
 
 variable (R S)
 
+/- warning: prime_spectrum.prime_spectrum_prod_of_sum -> PrimeSpectrum.primeSpectrumProdOfSum is a dubious translation:
+lean 3 declaration is
+  forall (R : Type.{u1}) (S : Type.{u2}) [_inst_1 : CommRing.{u1} R] [_inst_2 : CommRing.{u2} S], (Sum.{u1, u2} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.{u2} S _inst_2)) -> (PrimeSpectrum.{max u1 u2} (Prod.{u1, u2} R S) (Prod.commRing.{u1, u2} R S _inst_1 _inst_2))
+but is expected to have type
+  forall (R : Type.{u1}) (S : Type.{u2}) [_inst_1 : CommRing.{u1} R] [_inst_2 : CommRing.{u2} S], (Sum.{u1, u2} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.{u2} S _inst_2)) -> (PrimeSpectrum.{max u2 u1} (Prod.{u1, u2} R S) (Prod.instCommRingProd.{u1, u2} R S _inst_1 _inst_2))
+Case conversion may be inaccurate. Consider using '#align prime_spectrum.prime_spectrum_prod_of_sum PrimeSpectrum.primeSpectrumProdOfSumₓ'. -/
 /-- The map from the direct sum of prime spectra to the prime spectrum of a direct product. -/
 @[simp]
 def primeSpectrumProdOfSum : Sum (PrimeSpectrum R) (PrimeSpectrum S) → PrimeSpectrum (R × S)
@@ -91,6 +101,12 @@ def primeSpectrumProdOfSum : Sum (PrimeSpectrum R) (PrimeSpectrum S) → PrimeSp
   | Sum.inr ⟨J, hJ⟩ => ⟨Ideal.prod ⊤ J, Ideal.isPrime_ideal_prod_top'⟩
 #align prime_spectrum.prime_spectrum_prod_of_sum PrimeSpectrum.primeSpectrumProdOfSum
 
+/- warning: prime_spectrum.prime_spectrum_prod -> PrimeSpectrum.primeSpectrumProd is a dubious translation:
+lean 3 declaration is
+  forall (R : Type.{u1}) (S : Type.{u2}) [_inst_1 : CommRing.{u1} R] [_inst_2 : CommRing.{u2} S], Equiv.{succ (max u1 u2), max (succ u1) (succ u2)} (PrimeSpectrum.{max u1 u2} (Prod.{u1, u2} R S) (Prod.commRing.{u1, u2} R S _inst_1 _inst_2)) (Sum.{u1, u2} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.{u2} S _inst_2))
+but is expected to have type
+  forall (R : Type.{u1}) (S : Type.{u2}) [_inst_1 : CommRing.{u1} R] [_inst_2 : CommRing.{u2} S], Equiv.{succ (max u2 u1), max (succ u2) (succ u1)} (PrimeSpectrum.{max u2 u1} (Prod.{u1, u2} R S) (Prod.instCommRingProd.{u1, u2} R S _inst_1 _inst_2)) (Sum.{u1, u2} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.{u2} S _inst_2))
+Case conversion may be inaccurate. Consider using '#align prime_spectrum.prime_spectrum_prod PrimeSpectrum.primeSpectrumProdₓ'. -/
 /-- 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`. -/
 noncomputable def primeSpectrumProd :
@@ -113,6 +129,12 @@ noncomputable def primeSpectrumProd :
 
 variable {R S}
 
+/- warning: prime_spectrum.prime_spectrum_prod_symm_inl_as_ideal -> PrimeSpectrum.primeSpectrumProd_symm_inl_asIdeal is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : CommRing.{u2} S] (x : PrimeSpectrum.{u1} R _inst_1), Eq.{succ (max u1 u2)} (Ideal.{max u1 u2} (Prod.{u1, u2} R S) (Ring.toSemiring.{max u1 u2} (Prod.{u1, u2} R S) (CommRing.toRing.{max u1 u2} (Prod.{u1, u2} R S) (Prod.commRing.{u1, u2} R S _inst_1 _inst_2)))) (PrimeSpectrum.asIdeal.{max u1 u2} (Prod.{u1, u2} R S) (Prod.commRing.{u1, u2} R S _inst_1 _inst_2) (coeFn.{max 1 (max (max (succ u1) (succ u2)) (succ (max u1 u2))) (succ (max u1 u2)) (succ u1) (succ u2), max (max (succ u1) (succ u2)) (succ (max u1 u2))} (Equiv.{max (succ u1) (succ u2), succ (max u1 u2)} (Sum.{u1, u2} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.{u2} S _inst_2)) (PrimeSpectrum.{max u1 u2} (Prod.{u1, u2} R S) (Prod.commRing.{u1, u2} R S _inst_1 _inst_2))) (fun (_x : Equiv.{max (succ u1) (succ u2), succ (max u1 u2)} (Sum.{u1, u2} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.{u2} S _inst_2)) (PrimeSpectrum.{max u1 u2} (Prod.{u1, u2} R S) (Prod.commRing.{u1, u2} R S _inst_1 _inst_2))) => (Sum.{u1, u2} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.{u2} S _inst_2)) -> (PrimeSpectrum.{max u1 u2} (Prod.{u1, u2} R S) (Prod.commRing.{u1, u2} R S _inst_1 _inst_2))) (Equiv.hasCoeToFun.{max (succ u1) (succ u2), succ (max u1 u2)} (Sum.{u1, u2} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.{u2} S _inst_2)) (PrimeSpectrum.{max u1 u2} (Prod.{u1, u2} R S) (Prod.commRing.{u1, u2} R S _inst_1 _inst_2))) (Equiv.symm.{succ (max u1 u2), max (succ u1) (succ u2)} (PrimeSpectrum.{max u1 u2} (Prod.{u1, u2} R S) (Prod.commRing.{u1, u2} R S _inst_1 _inst_2)) (Sum.{u1, u2} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.{u2} S _inst_2)) (PrimeSpectrum.primeSpectrumProd.{u1, u2} R S _inst_1 _inst_2)) (Sum.inl.{u1, u2} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.{u2} S _inst_2) x))) (Ideal.prod.{u1, u2} R S (CommRing.toRing.{u1} R _inst_1) (CommRing.toRing.{u2} S _inst_2) (PrimeSpectrum.asIdeal.{u1} R _inst_1 x) (Top.top.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))) (Submodule.hasTop.{u2, u2} S S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))))) (Semiring.toModule.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))))))
+but is expected to have type
+  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : CommRing.{u2} S] (x : PrimeSpectrum.{u1} R _inst_1), Eq.{max (succ u1) (succ u2)} (Ideal.{max u1 u2} (Prod.{u1, u2} R S) (CommSemiring.toSemiring.{max u1 u2} (Prod.{u1, u2} R S) (CommRing.toCommSemiring.{max u1 u2} (Prod.{u1, u2} R S) (Prod.instCommRingProd.{u1, u2} R S _inst_1 _inst_2)))) (PrimeSpectrum.asIdeal.{max u1 u2} (Prod.{u1, u2} R S) (Prod.instCommRingProd.{u1, u2} R S _inst_1 _inst_2) (FunLike.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2), max (succ u1) (succ u2)} (Equiv.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Sum.{u1, u2} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.{u2} S _inst_2)) (PrimeSpectrum.{max u2 u1} (Prod.{u1, u2} R S) (Prod.instCommRingProd.{u1, u2} R S _inst_1 _inst_2))) (Sum.{u1, u2} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.{u2} S _inst_2)) (fun (_x : Sum.{u1, u2} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.{u2} S _inst_2)) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : Sum.{u1, u2} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.{u2} S _inst_2)) => PrimeSpectrum.{max u2 u1} (Prod.{u1, u2} R S) (Prod.instCommRingProd.{u1, u2} R S _inst_1 _inst_2)) _x) (Equiv.instFunLikeEquiv.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Sum.{u1, u2} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.{u2} S _inst_2)) (PrimeSpectrum.{max u2 u1} (Prod.{u1, u2} R S) (Prod.instCommRingProd.{u1, u2} R S _inst_1 _inst_2))) (Equiv.symm.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (PrimeSpectrum.{max u2 u1} (Prod.{u1, u2} R S) (Prod.instCommRingProd.{u1, u2} R S _inst_1 _inst_2)) (Sum.{u1, u2} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.{u2} S _inst_2)) (PrimeSpectrum.primeSpectrumProd.{u1, u2} R S _inst_1 _inst_2)) (Sum.inl.{u1, u2} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.{u2} S _inst_2) x))) (Ideal.prod.{u1, u2} R S (CommRing.toRing.{u1} R _inst_1) (CommRing.toRing.{u2} S _inst_2) (PrimeSpectrum.asIdeal.{u1} R _inst_1 x) (Top.top.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))) (Submodule.instTopSubmodule.{u2, u2} S S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))))) (Semiring.toModule.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))))))
+Case conversion may be inaccurate. Consider using '#align prime_spectrum.prime_spectrum_prod_symm_inl_as_ideal PrimeSpectrum.primeSpectrumProd_symm_inl_asIdealₓ'. -/
 @[simp]
 theorem primeSpectrumProd_symm_inl_asIdeal (x : PrimeSpectrum R) :
     ((primeSpectrumProd R S).symm <| Sum.inl x).asIdeal = Ideal.prod x.asIdeal ⊤ :=
@@ -121,6 +143,12 @@ theorem primeSpectrumProd_symm_inl_asIdeal (x : PrimeSpectrum R) :
   rfl
 #align prime_spectrum.prime_spectrum_prod_symm_inl_as_ideal PrimeSpectrum.primeSpectrumProd_symm_inl_asIdeal
 
+/- warning: prime_spectrum.prime_spectrum_prod_symm_inr_as_ideal -> PrimeSpectrum.primeSpectrumProd_symm_inr_asIdeal is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : CommRing.{u2} S] (x : PrimeSpectrum.{u2} S _inst_2), Eq.{succ (max u1 u2)} (Ideal.{max u1 u2} (Prod.{u1, u2} R S) (Ring.toSemiring.{max u1 u2} (Prod.{u1, u2} R S) (CommRing.toRing.{max u1 u2} (Prod.{u1, u2} R S) (Prod.commRing.{u1, u2} R S _inst_1 _inst_2)))) (PrimeSpectrum.asIdeal.{max u1 u2} (Prod.{u1, u2} R S) (Prod.commRing.{u1, u2} R S _inst_1 _inst_2) (coeFn.{max 1 (max (max (succ u1) (succ u2)) (succ (max u1 u2))) (succ (max u1 u2)) (succ u1) (succ u2), max (max (succ u1) (succ u2)) (succ (max u1 u2))} (Equiv.{max (succ u1) (succ u2), succ (max u1 u2)} (Sum.{u1, u2} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.{u2} S _inst_2)) (PrimeSpectrum.{max u1 u2} (Prod.{u1, u2} R S) (Prod.commRing.{u1, u2} R S _inst_1 _inst_2))) (fun (_x : Equiv.{max (succ u1) (succ u2), succ (max u1 u2)} (Sum.{u1, u2} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.{u2} S _inst_2)) (PrimeSpectrum.{max u1 u2} (Prod.{u1, u2} R S) (Prod.commRing.{u1, u2} R S _inst_1 _inst_2))) => (Sum.{u1, u2} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.{u2} S _inst_2)) -> (PrimeSpectrum.{max u1 u2} (Prod.{u1, u2} R S) (Prod.commRing.{u1, u2} R S _inst_1 _inst_2))) (Equiv.hasCoeToFun.{max (succ u1) (succ u2), succ (max u1 u2)} (Sum.{u1, u2} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.{u2} S _inst_2)) (PrimeSpectrum.{max u1 u2} (Prod.{u1, u2} R S) (Prod.commRing.{u1, u2} R S _inst_1 _inst_2))) (Equiv.symm.{succ (max u1 u2), max (succ u1) (succ u2)} (PrimeSpectrum.{max u1 u2} (Prod.{u1, u2} R S) (Prod.commRing.{u1, u2} R S _inst_1 _inst_2)) (Sum.{u1, u2} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.{u2} S _inst_2)) (PrimeSpectrum.primeSpectrumProd.{u1, u2} R S _inst_1 _inst_2)) (Sum.inr.{u1, u2} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.{u2} S _inst_2) x))) (Ideal.prod.{u1, u2} R S (CommRing.toRing.{u1} R _inst_1) (CommRing.toRing.{u2} S _inst_2) (Top.top.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Submodule.hasTop.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (PrimeSpectrum.asIdeal.{u2} S _inst_2 x))
+but is expected to have type
+  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : CommRing.{u2} S] (x : PrimeSpectrum.{u2} S _inst_2), Eq.{max (succ u1) (succ u2)} (Ideal.{max u1 u2} (Prod.{u1, u2} R S) (CommSemiring.toSemiring.{max u1 u2} (Prod.{u1, u2} R S) (CommRing.toCommSemiring.{max u1 u2} (Prod.{u1, u2} R S) (Prod.instCommRingProd.{u1, u2} R S _inst_1 _inst_2)))) (PrimeSpectrum.asIdeal.{max u1 u2} (Prod.{u1, u2} R S) (Prod.instCommRingProd.{u1, u2} R S _inst_1 _inst_2) (FunLike.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2), max (succ u1) (succ u2)} (Equiv.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Sum.{u1, u2} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.{u2} S _inst_2)) (PrimeSpectrum.{max u2 u1} (Prod.{u1, u2} R S) (Prod.instCommRingProd.{u1, u2} R S _inst_1 _inst_2))) (Sum.{u1, u2} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.{u2} S _inst_2)) (fun (_x : Sum.{u1, u2} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.{u2} S _inst_2)) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : Sum.{u1, u2} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.{u2} S _inst_2)) => PrimeSpectrum.{max u2 u1} (Prod.{u1, u2} R S) (Prod.instCommRingProd.{u1, u2} R S _inst_1 _inst_2)) _x) (Equiv.instFunLikeEquiv.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (Sum.{u1, u2} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.{u2} S _inst_2)) (PrimeSpectrum.{max u2 u1} (Prod.{u1, u2} R S) (Prod.instCommRingProd.{u1, u2} R S _inst_1 _inst_2))) (Equiv.symm.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (PrimeSpectrum.{max u2 u1} (Prod.{u1, u2} R S) (Prod.instCommRingProd.{u1, u2} R S _inst_1 _inst_2)) (Sum.{u1, u2} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.{u2} S _inst_2)) (PrimeSpectrum.primeSpectrumProd.{u1, u2} R S _inst_1 _inst_2)) (Sum.inr.{u1, u2} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.{u2} S _inst_2) x))) (Ideal.prod.{u1, u2} R S (CommRing.toRing.{u1} R _inst_1) (CommRing.toRing.{u2} S _inst_2) (Top.top.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Submodule.instTopSubmodule.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (PrimeSpectrum.asIdeal.{u2} S _inst_2 x))
+Case conversion may be inaccurate. Consider using '#align prime_spectrum.prime_spectrum_prod_symm_inr_as_ideal PrimeSpectrum.primeSpectrumProd_symm_inr_asIdealₓ'. -/
 @[simp]
 theorem primeSpectrumProd_symm_inr_asIdeal (x : PrimeSpectrum S) :
     ((primeSpectrumProd R S).symm <| Sum.inr x).asIdeal = Ideal.prod ⊤ x.asIdeal :=
@@ -129,6 +157,7 @@ theorem primeSpectrumProd_symm_inr_asIdeal (x : PrimeSpectrum S) :
   rfl
 #align prime_spectrum.prime_spectrum_prod_symm_inr_as_ideal PrimeSpectrum.primeSpectrumProd_symm_inr_asIdeal
 
+#print PrimeSpectrum.zeroLocus /-
 /-- The zero locus of a set `s` of elements of a commutative ring `R` is the set of all prime ideals
 of the ring that contain the set `s`.
 
@@ -140,19 +169,25 @@ At a point `x` (a prime ideal) the function (i.e., element) `f` takes values in
 def zeroLocus (s : Set R) : Set (PrimeSpectrum R) :=
   { x | s ⊆ x.asIdeal }
 #align prime_spectrum.zero_locus PrimeSpectrum.zeroLocus
+-/
 
+#print PrimeSpectrum.mem_zeroLocus /-
 @[simp]
 theorem mem_zeroLocus (x : PrimeSpectrum R) (s : Set R) : x ∈ zeroLocus s ↔ s ⊆ x.asIdeal :=
   Iff.rfl
 #align prime_spectrum.mem_zero_locus PrimeSpectrum.mem_zeroLocus
+-/
 
+#print PrimeSpectrum.zeroLocus_span /-
 @[simp]
 theorem zeroLocus_span (s : Set R) : zeroLocus (Ideal.span s : Set R) = zeroLocus s :=
   by
   ext x
   exact (Submodule.gi R R).gc s x.as_ideal
 #align prime_spectrum.zero_locus_span PrimeSpectrum.zeroLocus_span
+-/
 
+#print PrimeSpectrum.vanishingIdeal /-
 /-- 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`.
 
@@ -164,7 +199,9 @@ consisting of all "functions" that vanish on all of `t`.
 def vanishingIdeal (t : Set (PrimeSpectrum R)) : Ideal R :=
   ⨅ (x : PrimeSpectrum R) (h : x ∈ t), x.asIdeal
 #align prime_spectrum.vanishing_ideal PrimeSpectrum.vanishingIdeal
+-/
 
+#print PrimeSpectrum.coe_vanishingIdeal /-
 theorem coe_vanishingIdeal (t : Set (PrimeSpectrum R)) :
     (vanishingIdeal t : Set R) = { f : R | ∀ x : PrimeSpectrum R, x ∈ t → f ∈ x.asIdeal } :=
   by
@@ -173,17 +210,28 @@ theorem coe_vanishingIdeal (t : Set (PrimeSpectrum R)) :
   apply forall_congr'; intro x
   rw [Submodule.mem_iInf]
 #align prime_spectrum.coe_vanishing_ideal PrimeSpectrum.coe_vanishingIdeal
+-/
 
+#print PrimeSpectrum.mem_vanishingIdeal /-
 theorem mem_vanishingIdeal (t : Set (PrimeSpectrum R)) (f : R) :
     f ∈ vanishingIdeal t ↔ ∀ x : PrimeSpectrum R, x ∈ t → f ∈ x.asIdeal := by
   rw [← SetLike.mem_coe, coe_vanishing_ideal, Set.mem_setOf_eq]
 #align prime_spectrum.mem_vanishing_ideal PrimeSpectrum.mem_vanishingIdeal
+-/
 
+#print PrimeSpectrum.vanishingIdeal_singleton /-
 @[simp]
 theorem vanishingIdeal_singleton (x : PrimeSpectrum R) :
     vanishingIdeal ({x} : Set (PrimeSpectrum R)) = x.asIdeal := by simp [vanishing_ideal]
 #align prime_spectrum.vanishing_ideal_singleton PrimeSpectrum.vanishingIdeal_singleton
+-/
 
+/- warning: prime_spectrum.subset_zero_locus_iff_le_vanishing_ideal -> PrimeSpectrum.subset_zeroLocus_iff_le_vanishingIdeal is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] (t : Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (I : Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))), Iff (HasSubset.Subset.{u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (Set.hasSubset.{u1} (PrimeSpectrum.{u1} R _inst_1)) t (PrimeSpectrum.zeroLocus.{u1} R _inst_1 ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Set.{u1} R) (HasLiftT.mk.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Set.{u1} R) (CoeTCₓ.coe.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Set.{u1} R) (SetLike.Set.hasCoeT.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) I))) (LE.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Preorder.toHasLe.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (SetLike.partialOrder.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) I (PrimeSpectrum.vanishingIdeal.{u1} R _inst_1 t))
+but is expected to have type
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] (t : Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))), Iff (HasSubset.Subset.{u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (Set.instHasSubsetSet.{u1} (PrimeSpectrum.{u1} R _inst_1)) t (PrimeSpectrum.zeroLocus.{u1} R _inst_1 (SetLike.coe.{u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) R (Submodule.setLike.{u1, u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) I))) (LE.le.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Preorder.toLE.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Submodule.completeLattice.{u1, u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) I (PrimeSpectrum.vanishingIdeal.{u1} R _inst_1 t))
+Case conversion may be inaccurate. Consider using '#align prime_spectrum.subset_zero_locus_iff_le_vanishing_ideal PrimeSpectrum.subset_zeroLocus_iff_le_vanishingIdealₓ'. -/
 theorem subset_zeroLocus_iff_le_vanishingIdeal (t : Set (PrimeSpectrum R)) (I : Ideal R) :
     t ⊆ zeroLocus I ↔ I ≤ vanishingIdeal t :=
   ⟨fun h f k => (mem_vanishingIdeal _ _).mpr fun x j => (mem_zeroLocus _ _).mpr (h j) k, fun h =>
@@ -194,6 +242,12 @@ section Gc
 
 variable (R)
 
+/- warning: prime_spectrum.gc -> PrimeSpectrum.gc is a dubious translation:
+lean 3 declaration is
+  forall (R : Type.{u1}) [_inst_1 : CommRing.{u1} R], GaloisConnection.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (OrderDual.{u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1))) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (SetLike.partialOrder.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (OrderDual.preorder.{u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (PartialOrder.toPreorder.{u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (Set.completeBooleanAlgebra.{u1} (PrimeSpectrum.{u1} R _inst_1))))))))) (fun (I : Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) => PrimeSpectrum.zeroLocus.{u1} R _inst_1 ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Set.{u1} R) (HasLiftT.mk.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Set.{u1} R) (CoeTCₓ.coe.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Set.{u1} R) (SetLike.Set.hasCoeT.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) I)) (fun (t : OrderDual.{u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1))) => PrimeSpectrum.vanishingIdeal.{u1} R _inst_1 t)
+but is expected to have type
+  forall (R : Type.{u1}) [_inst_1 : CommRing.{u1} R], GaloisConnection.{u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (OrderDual.{u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1))) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Submodule.completeLattice.{u1, u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))) (OrderDual.preorder.{u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (PartialOrder.toPreorder.{u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (Set.instCompleteBooleanAlgebraSet.{u1} (PrimeSpectrum.{u1} R _inst_1))))))))) (fun (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) => PrimeSpectrum.zeroLocus.{u1} R _inst_1 (SetLike.coe.{u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) R (Submodule.setLike.{u1, u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) I)) (fun (t : OrderDual.{u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1))) => PrimeSpectrum.vanishingIdeal.{u1} R _inst_1 t)
+Case conversion may be inaccurate. Consider using '#align prime_spectrum.gc PrimeSpectrum.gcₓ'. -/
 /-- `zero_locus` and `vanishing_ideal` form a galois connection. -/
 theorem gc :
     @GaloisConnection (Ideal R) (Set (PrimeSpectrum R))ᵒᵈ _ _ (fun I => zeroLocus I) fun t =>
@@ -201,6 +255,12 @@ theorem gc :
   fun I t => subset_zeroLocus_iff_le_vanishingIdeal t I
 #align prime_spectrum.gc PrimeSpectrum.gc
 
+/- warning: prime_spectrum.gc_set -> PrimeSpectrum.gc_set is a dubious translation:
+lean 3 declaration is
+  forall (R : Type.{u1}) [_inst_1 : CommRing.{u1} R], GaloisConnection.{u1, u1} (Set.{u1} R) (OrderDual.{u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1))) (PartialOrder.toPreorder.{u1} (Set.{u1} R) (CompleteSemilatticeInf.toPartialOrder.{u1} (Set.{u1} R) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Set.{u1} R) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} R) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} R) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} R) (Set.completeBooleanAlgebra.{u1} R))))))) (OrderDual.preorder.{u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (PartialOrder.toPreorder.{u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (Set.completeBooleanAlgebra.{u1} (PrimeSpectrum.{u1} R _inst_1))))))))) (fun (s : Set.{u1} R) => PrimeSpectrum.zeroLocus.{u1} R _inst_1 s) (fun (t : OrderDual.{u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1))) => (fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Set.{u1} R) (HasLiftT.mk.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Set.{u1} R) (CoeTCₓ.coe.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Set.{u1} R) (SetLike.Set.hasCoeT.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) (PrimeSpectrum.vanishingIdeal.{u1} R _inst_1 t))
+but is expected to have type
+  forall (R : Type.{u1}) [_inst_1 : CommRing.{u1} R], GaloisConnection.{u1, u1} (Set.{u1} R) (OrderDual.{u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1))) (PartialOrder.toPreorder.{u1} (Set.{u1} R) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Set.{u1} R) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Set.{u1} R) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} R) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} R) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} R) (Set.instCompleteBooleanAlgebraSet.{u1} R))))))) (OrderDual.preorder.{u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (PartialOrder.toPreorder.{u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (Set.instCompleteBooleanAlgebraSet.{u1} (PrimeSpectrum.{u1} R _inst_1))))))))) (fun (s : Set.{u1} R) => PrimeSpectrum.zeroLocus.{u1} R _inst_1 s) (fun (t : OrderDual.{u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1))) => SetLike.coe.{u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) R (Submodule.setLike.{u1, u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (PrimeSpectrum.vanishingIdeal.{u1} R _inst_1 t))
+Case conversion may be inaccurate. Consider using '#align prime_spectrum.gc_set PrimeSpectrum.gc_setₓ'. -/
 /-- `zero_locus` and `vanishing_ideal` form a galois connection. -/
 theorem gc_set :
     @GaloisConnection (Set R) (Set (PrimeSpectrum R))ᵒᵈ _ _ (fun s => zeroLocus s) fun t =>
@@ -210,21 +270,32 @@ theorem gc_set :
   simpa [zero_locus_span, Function.comp] using ideal_gc.compose (gc R)
 #align prime_spectrum.gc_set PrimeSpectrum.gc_set
 
+#print PrimeSpectrum.subset_zeroLocus_iff_subset_vanishingIdeal /-
 theorem subset_zeroLocus_iff_subset_vanishingIdeal (t : Set (PrimeSpectrum R)) (s : Set R) :
     t ⊆ zeroLocus s ↔ s ⊆ vanishingIdeal t :=
   (gc_set R) s t
 #align prime_spectrum.subset_zero_locus_iff_subset_vanishing_ideal PrimeSpectrum.subset_zeroLocus_iff_subset_vanishingIdeal
+-/
 
 end Gc
 
+#print PrimeSpectrum.subset_vanishingIdeal_zeroLocus /-
 theorem subset_vanishingIdeal_zeroLocus (s : Set R) : s ⊆ vanishingIdeal (zeroLocus s) :=
   (gc_set R).le_u_l s
 #align prime_spectrum.subset_vanishing_ideal_zero_locus PrimeSpectrum.subset_vanishingIdeal_zeroLocus
+-/
 
+/- warning: prime_spectrum.le_vanishing_ideal_zero_locus -> PrimeSpectrum.le_vanishingIdeal_zeroLocus is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] (I : Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))), LE.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Preorder.toHasLe.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (SetLike.partialOrder.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) I (PrimeSpectrum.vanishingIdeal.{u1} R _inst_1 (PrimeSpectrum.zeroLocus.{u1} R _inst_1 ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Set.{u1} R) (HasLiftT.mk.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Set.{u1} R) (CoeTCₓ.coe.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Set.{u1} R) (SetLike.Set.hasCoeT.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) I)))
+but is expected to have type
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))), LE.le.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Preorder.toLE.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Submodule.completeLattice.{u1, u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) I (PrimeSpectrum.vanishingIdeal.{u1} R _inst_1 (PrimeSpectrum.zeroLocus.{u1} R _inst_1 (SetLike.coe.{u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) R (Submodule.setLike.{u1, u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) I)))
+Case conversion may be inaccurate. Consider using '#align prime_spectrum.le_vanishing_ideal_zero_locus PrimeSpectrum.le_vanishingIdeal_zeroLocusₓ'. -/
 theorem le_vanishingIdeal_zeroLocus (I : Ideal R) : I ≤ vanishingIdeal (zeroLocus I) :=
   (gc R).le_u_l I
 #align prime_spectrum.le_vanishing_ideal_zero_locus PrimeSpectrum.le_vanishingIdeal_zeroLocus
 
+#print PrimeSpectrum.vanishingIdeal_zeroLocus_eq_radical /-
 @[simp]
 theorem vanishingIdeal_zeroLocus_eq_radical (I : Ideal R) :
     vanishingIdeal (zeroLocus (I : Set R)) = I.radical :=
@@ -233,31 +304,56 @@ theorem vanishingIdeal_zeroLocus_eq_radical (I : Ideal R) :
     rw [mem_vanishing_ideal, Ideal.radical_eq_sInf, Submodule.mem_sInf]
     exact ⟨fun h x hx => h ⟨x, hx.2⟩ hx.1, fun h x hx => h x.1 ⟨hx, x.2⟩⟩
 #align prime_spectrum.vanishing_ideal_zero_locus_eq_radical PrimeSpectrum.vanishingIdeal_zeroLocus_eq_radical
+-/
 
+#print PrimeSpectrum.zeroLocus_radical /-
 @[simp]
 theorem zeroLocus_radical (I : Ideal R) : zeroLocus (I.radical : Set R) = zeroLocus I :=
   vanishingIdeal_zeroLocus_eq_radical I ▸ (gc R).l_u_l_eq_l I
 #align prime_spectrum.zero_locus_radical PrimeSpectrum.zeroLocus_radical
+-/
 
+#print PrimeSpectrum.subset_zeroLocus_vanishingIdeal /-
 theorem subset_zeroLocus_vanishingIdeal (t : Set (PrimeSpectrum R)) :
     t ⊆ zeroLocus (vanishingIdeal t) :=
   (gc R).l_u_le t
 #align prime_spectrum.subset_zero_locus_vanishing_ideal PrimeSpectrum.subset_zeroLocus_vanishingIdeal
+-/
 
+#print PrimeSpectrum.zeroLocus_anti_mono /-
 theorem zeroLocus_anti_mono {s t : Set R} (h : s ⊆ t) : zeroLocus t ⊆ zeroLocus s :=
   (gc_set R).monotone_l h
 #align prime_spectrum.zero_locus_anti_mono PrimeSpectrum.zeroLocus_anti_mono
+-/
 
+/- warning: prime_spectrum.zero_locus_anti_mono_ideal -> PrimeSpectrum.zeroLocus_anti_mono_ideal is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {s : Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))} {t : Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))}, (LE.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Preorder.toHasLe.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (SetLike.partialOrder.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) s t) -> (HasSubset.Subset.{u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (Set.hasSubset.{u1} (PrimeSpectrum.{u1} R _inst_1)) (PrimeSpectrum.zeroLocus.{u1} R _inst_1 ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Set.{u1} R) (HasLiftT.mk.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Set.{u1} R) (CoeTCₓ.coe.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Set.{u1} R) (SetLike.Set.hasCoeT.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) t)) (PrimeSpectrum.zeroLocus.{u1} R _inst_1 ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Set.{u1} R) (HasLiftT.mk.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Set.{u1} R) (CoeTCₓ.coe.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Set.{u1} R) (SetLike.Set.hasCoeT.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) s)))
+but is expected to have type
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {s : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))} {t : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))}, (LE.le.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Preorder.toLE.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Submodule.completeLattice.{u1, u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) s t) -> (HasSubset.Subset.{u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (Set.instHasSubsetSet.{u1} (PrimeSpectrum.{u1} R _inst_1)) (PrimeSpectrum.zeroLocus.{u1} R _inst_1 (SetLike.coe.{u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) R (Submodule.setLike.{u1, u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) t)) (PrimeSpectrum.zeroLocus.{u1} R _inst_1 (SetLike.coe.{u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) R (Submodule.setLike.{u1, u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) s)))
+Case conversion may be inaccurate. Consider using '#align prime_spectrum.zero_locus_anti_mono_ideal PrimeSpectrum.zeroLocus_anti_mono_idealₓ'. -/
 theorem zeroLocus_anti_mono_ideal {s t : Ideal R} (h : s ≤ t) :
     zeroLocus (t : Set R) ⊆ zeroLocus (s : Set R) :=
   (gc R).monotone_l h
 #align prime_spectrum.zero_locus_anti_mono_ideal PrimeSpectrum.zeroLocus_anti_mono_ideal
 
+/- warning: prime_spectrum.vanishing_ideal_anti_mono -> PrimeSpectrum.vanishingIdeal_anti_mono is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {s : Set.{u1} (PrimeSpectrum.{u1} R _inst_1)} {t : Set.{u1} (PrimeSpectrum.{u1} R _inst_1)}, (HasSubset.Subset.{u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (Set.hasSubset.{u1} (PrimeSpectrum.{u1} R _inst_1)) s t) -> (LE.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Preorder.toHasLe.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (SetLike.partialOrder.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) (PrimeSpectrum.vanishingIdeal.{u1} R _inst_1 t) (PrimeSpectrum.vanishingIdeal.{u1} R _inst_1 s))
+but is expected to have type
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {s : Set.{u1} (PrimeSpectrum.{u1} R _inst_1)} {t : Set.{u1} (PrimeSpectrum.{u1} R _inst_1)}, (HasSubset.Subset.{u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (Set.instHasSubsetSet.{u1} (PrimeSpectrum.{u1} R _inst_1)) s t) -> (LE.le.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Preorder.toLE.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Submodule.completeLattice.{u1, u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (PrimeSpectrum.vanishingIdeal.{u1} R _inst_1 t) (PrimeSpectrum.vanishingIdeal.{u1} R _inst_1 s))
+Case conversion may be inaccurate. Consider using '#align prime_spectrum.vanishing_ideal_anti_mono PrimeSpectrum.vanishingIdeal_anti_monoₓ'. -/
 theorem vanishingIdeal_anti_mono {s t : Set (PrimeSpectrum R)} (h : s ⊆ t) :
     vanishingIdeal t ≤ vanishingIdeal s :=
   (gc R).monotone_u h
 #align prime_spectrum.vanishing_ideal_anti_mono PrimeSpectrum.vanishingIdeal_anti_mono
 
+/- warning: prime_spectrum.zero_locus_subset_zero_locus_iff -> PrimeSpectrum.zeroLocus_subset_zeroLocus_iff is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] (I : Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (J : Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))), Iff (HasSubset.Subset.{u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (Set.hasSubset.{u1} (PrimeSpectrum.{u1} R _inst_1)) (PrimeSpectrum.zeroLocus.{u1} R _inst_1 ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Set.{u1} R) (HasLiftT.mk.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Set.{u1} R) (CoeTCₓ.coe.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Set.{u1} R) (SetLike.Set.hasCoeT.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) I)) (PrimeSpectrum.zeroLocus.{u1} R _inst_1 ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Set.{u1} R) (HasLiftT.mk.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Set.{u1} R) (CoeTCₓ.coe.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Set.{u1} R) (SetLike.Set.hasCoeT.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) J))) (LE.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Preorder.toHasLe.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (SetLike.partialOrder.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) J (Ideal.radical.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1) I))
+but is expected to have type
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))), Iff (HasSubset.Subset.{u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (Set.instHasSubsetSet.{u1} (PrimeSpectrum.{u1} R _inst_1)) (PrimeSpectrum.zeroLocus.{u1} R _inst_1 (SetLike.coe.{u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) R (Submodule.setLike.{u1, u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) I)) (PrimeSpectrum.zeroLocus.{u1} R _inst_1 (SetLike.coe.{u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) R (Submodule.setLike.{u1, u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) J))) (LE.le.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Preorder.toLE.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Submodule.completeLattice.{u1, u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) J (Ideal.radical.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1) I))
+Case conversion may be inaccurate. Consider using '#align prime_spectrum.zero_locus_subset_zero_locus_iff PrimeSpectrum.zeroLocus_subset_zeroLocus_iffₓ'. -/
 theorem zeroLocus_subset_zeroLocus_iff (I J : Ideal R) :
     zeroLocus (I : Set R) ⊆ zeroLocus (J : Set R) ↔ J ≤ I.radical :=
   ⟨fun h =>
@@ -267,31 +363,59 @@ theorem zeroLocus_subset_zeroLocus_iff (I J : Ideal R) :
     fun h => zeroLocus_radical I ▸ zeroLocus_anti_mono_ideal h⟩
 #align prime_spectrum.zero_locus_subset_zero_locus_iff PrimeSpectrum.zeroLocus_subset_zeroLocus_iff
 
+#print PrimeSpectrum.zeroLocus_subset_zeroLocus_singleton_iff /-
 theorem zeroLocus_subset_zeroLocus_singleton_iff (f g : R) :
     zeroLocus ({f} : Set R) ⊆ zeroLocus {g} ↔ g ∈ (Ideal.span ({f} : Set R)).radical := by
   rw [← zero_locus_span {f}, ← zero_locus_span {g}, zero_locus_subset_zero_locus_iff, Ideal.span_le,
     Set.singleton_subset_iff, SetLike.mem_coe]
 #align prime_spectrum.zero_locus_subset_zero_locus_singleton_iff PrimeSpectrum.zeroLocus_subset_zeroLocus_singleton_iff
+-/
 
+/- warning: prime_spectrum.zero_locus_bot -> PrimeSpectrum.zeroLocus_bot is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R], Eq.{succ u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (PrimeSpectrum.zeroLocus.{u1} R _inst_1 ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Set.{u1} R) (HasLiftT.mk.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Set.{u1} R) (CoeTCₓ.coe.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Set.{u1} R) (SetLike.Set.hasCoeT.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) (Bot.bot.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Submodule.hasBot.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) (Set.univ.{u1} (PrimeSpectrum.{u1} R _inst_1))
+but is expected to have type
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R], Eq.{succ u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (PrimeSpectrum.zeroLocus.{u1} R _inst_1 (SetLike.coe.{u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) R (Submodule.setLike.{u1, u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Bot.bot.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Submodule.instBotSubmodule.{u1, u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))) (Set.univ.{u1} (PrimeSpectrum.{u1} R _inst_1))
+Case conversion may be inaccurate. Consider using '#align prime_spectrum.zero_locus_bot PrimeSpectrum.zeroLocus_botₓ'. -/
 theorem zeroLocus_bot : zeroLocus ((⊥ : Ideal R) : Set R) = Set.univ :=
   (gc R).l_bot
 #align prime_spectrum.zero_locus_bot PrimeSpectrum.zeroLocus_bot
 
+/- warning: prime_spectrum.zero_locus_singleton_zero -> PrimeSpectrum.zeroLocus_singleton_zero is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R], Eq.{succ u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (PrimeSpectrum.zeroLocus.{u1} R _inst_1 (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.hasSingleton.{u1} R) (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))))))))) (Set.univ.{u1} (PrimeSpectrum.{u1} R _inst_1))
+but is expected to have type
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R], Eq.{succ u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (PrimeSpectrum.zeroLocus.{u1} R _inst_1 (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.instSingletonSet.{u1} R) (OfNat.ofNat.{u1} R 0 (Zero.toOfNat0.{u1} R (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))) (Set.univ.{u1} (PrimeSpectrum.{u1} R _inst_1))
+Case conversion may be inaccurate. Consider using '#align prime_spectrum.zero_locus_singleton_zero PrimeSpectrum.zeroLocus_singleton_zeroₓ'. -/
 @[simp]
 theorem zeroLocus_singleton_zero : zeroLocus ({0} : Set R) = Set.univ :=
   zeroLocus_bot
 #align prime_spectrum.zero_locus_singleton_zero PrimeSpectrum.zeroLocus_singleton_zero
 
+#print PrimeSpectrum.zeroLocus_empty /-
 @[simp]
 theorem zeroLocus_empty : zeroLocus (∅ : Set R) = Set.univ :=
   (gc_set R).l_bot
 #align prime_spectrum.zero_locus_empty PrimeSpectrum.zeroLocus_empty
+-/
 
+/- warning: prime_spectrum.vanishing_ideal_univ -> PrimeSpectrum.vanishingIdeal_univ is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R], Eq.{succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PrimeSpectrum.vanishingIdeal.{u1} R _inst_1 (EmptyCollection.emptyCollection.{u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (Set.hasEmptyc.{u1} (PrimeSpectrum.{u1} R _inst_1)))) (Top.top.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Submodule.hasTop.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))
+but is expected to have type
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R], Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (PrimeSpectrum.vanishingIdeal.{u1} R _inst_1 (EmptyCollection.emptyCollection.{u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (Set.instEmptyCollectionSet.{u1} (PrimeSpectrum.{u1} R _inst_1)))) (Top.top.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Submodule.instTopSubmodule.{u1, u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))
+Case conversion may be inaccurate. Consider using '#align prime_spectrum.vanishing_ideal_univ PrimeSpectrum.vanishingIdeal_univₓ'. -/
 @[simp]
 theorem vanishingIdeal_univ : vanishingIdeal (∅ : Set (PrimeSpectrum R)) = ⊤ := by
   simpa using (gc R).u_top
 #align prime_spectrum.vanishing_ideal_univ PrimeSpectrum.vanishingIdeal_univ
 
+/- warning: prime_spectrum.zero_locus_empty_of_one_mem -> PrimeSpectrum.zeroLocus_empty_of_one_mem is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {s : Set.{u1} R}, (Membership.Mem.{u1, u1} R (Set.{u1} R) (Set.hasMem.{u1} R) (OfNat.ofNat.{u1} R 1 (OfNat.mk.{u1} R 1 (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddGroupWithOne.toAddMonoidWithOne.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (CommRing.toRing.{u1} R _inst_1)))))))) s) -> (Eq.{succ u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (PrimeSpectrum.zeroLocus.{u1} R _inst_1 s) (EmptyCollection.emptyCollection.{u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (Set.hasEmptyc.{u1} (PrimeSpectrum.{u1} R _inst_1))))
+but is expected to have type
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {s : Set.{u1} R}, (Membership.mem.{u1, u1} R (Set.{u1} R) (Set.instMembershipSet.{u1} R) (OfNat.ofNat.{u1} R 1 (One.toOfNat1.{u1} R (Semiring.toOne.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) s) -> (Eq.{succ u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (PrimeSpectrum.zeroLocus.{u1} R _inst_1 s) (EmptyCollection.emptyCollection.{u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (Set.instEmptyCollectionSet.{u1} (PrimeSpectrum.{u1} R _inst_1))))
+Case conversion may be inaccurate. Consider using '#align prime_spectrum.zero_locus_empty_of_one_mem PrimeSpectrum.zeroLocus_empty_of_one_memₓ'. -/
 theorem zeroLocus_empty_of_one_mem {s : Set R} (h : (1 : R) ∈ s) : zeroLocus s = ∅ :=
   by
   rw [Set.eq_empty_iff_forall_not_mem]
@@ -304,11 +428,23 @@ theorem zeroLocus_empty_of_one_mem {s : Set R} (h : (1 : R) ∈ s) : zeroLocus s
   apply x_prime.ne_top eq_top
 #align prime_spectrum.zero_locus_empty_of_one_mem PrimeSpectrum.zeroLocus_empty_of_one_mem
 
+/- warning: prime_spectrum.zero_locus_singleton_one -> PrimeSpectrum.zeroLocus_singleton_one is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R], Eq.{succ u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (PrimeSpectrum.zeroLocus.{u1} R _inst_1 (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.hasSingleton.{u1} R) (OfNat.ofNat.{u1} R 1 (OfNat.mk.{u1} R 1 (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddGroupWithOne.toAddMonoidWithOne.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (CommRing.toRing.{u1} R _inst_1)))))))))) (EmptyCollection.emptyCollection.{u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (Set.hasEmptyc.{u1} (PrimeSpectrum.{u1} R _inst_1)))
+but is expected to have type
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R], Eq.{succ u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (PrimeSpectrum.zeroLocus.{u1} R _inst_1 (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.instSingletonSet.{u1} R) (OfNat.ofNat.{u1} R 1 (One.toOfNat1.{u1} R (Semiring.toOne.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))) (EmptyCollection.emptyCollection.{u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (Set.instEmptyCollectionSet.{u1} (PrimeSpectrum.{u1} R _inst_1)))
+Case conversion may be inaccurate. Consider using '#align prime_spectrum.zero_locus_singleton_one PrimeSpectrum.zeroLocus_singleton_oneₓ'. -/
 @[simp]
 theorem zeroLocus_singleton_one : zeroLocus ({1} : Set R) = ∅ :=
   zeroLocus_empty_of_one_mem (Set.mem_singleton (1 : R))
 #align prime_spectrum.zero_locus_singleton_one PrimeSpectrum.zeroLocus_singleton_one
 
+/- warning: prime_spectrum.zero_locus_empty_iff_eq_top -> PrimeSpectrum.zeroLocus_empty_iff_eq_top is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {I : Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))}, Iff (Eq.{succ u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (PrimeSpectrum.zeroLocus.{u1} R _inst_1 ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Set.{u1} R) (HasLiftT.mk.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Set.{u1} R) (CoeTCₓ.coe.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Set.{u1} R) (SetLike.Set.hasCoeT.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) I)) (EmptyCollection.emptyCollection.{u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (Set.hasEmptyc.{u1} (PrimeSpectrum.{u1} R _inst_1)))) (Eq.{succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) I (Top.top.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Submodule.hasTop.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))
+but is expected to have type
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))}, Iff (Eq.{succ u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (PrimeSpectrum.zeroLocus.{u1} R _inst_1 (SetLike.coe.{u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) R (Submodule.setLike.{u1, u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) I)) (EmptyCollection.emptyCollection.{u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (Set.instEmptyCollectionSet.{u1} (PrimeSpectrum.{u1} R _inst_1)))) (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) I (Top.top.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Submodule.instTopSubmodule.{u1, u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))
+Case conversion may be inaccurate. Consider using '#align prime_spectrum.zero_locus_empty_iff_eq_top PrimeSpectrum.zeroLocus_empty_iff_eq_topₓ'. -/
 theorem zeroLocus_empty_iff_eq_top {I : Ideal R} : zeroLocus (I : Set R) = ∅ ↔ I = ⊤ :=
   by
   constructor
@@ -321,54 +457,108 @@ theorem zeroLocus_empty_iff_eq_top {I : Ideal R} : zeroLocus (I : Set R) = ∅ 
     trivial
 #align prime_spectrum.zero_locus_empty_iff_eq_top PrimeSpectrum.zeroLocus_empty_iff_eq_top
 
+#print PrimeSpectrum.zeroLocus_univ /-
 @[simp]
 theorem zeroLocus_univ : zeroLocus (Set.univ : Set R) = ∅ :=
   zeroLocus_empty_of_one_mem (Set.mem_univ 1)
 #align prime_spectrum.zero_locus_univ PrimeSpectrum.zeroLocus_univ
+-/
 
+/- warning: prime_spectrum.vanishing_ideal_eq_top_iff -> PrimeSpectrum.vanishingIdeal_eq_top_iff is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {s : Set.{u1} (PrimeSpectrum.{u1} R _inst_1)}, Iff (Eq.{succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PrimeSpectrum.vanishingIdeal.{u1} R _inst_1 s) (Top.top.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Submodule.hasTop.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (Eq.{succ u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) s (EmptyCollection.emptyCollection.{u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (Set.hasEmptyc.{u1} (PrimeSpectrum.{u1} R _inst_1))))
+but is expected to have type
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {s : Set.{u1} (PrimeSpectrum.{u1} R _inst_1)}, Iff (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (PrimeSpectrum.vanishingIdeal.{u1} R _inst_1 s) (Top.top.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Submodule.instTopSubmodule.{u1, u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Eq.{succ u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) s (EmptyCollection.emptyCollection.{u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (Set.instEmptyCollectionSet.{u1} (PrimeSpectrum.{u1} R _inst_1))))
+Case conversion may be inaccurate. Consider using '#align prime_spectrum.vanishing_ideal_eq_top_iff PrimeSpectrum.vanishingIdeal_eq_top_iffₓ'. -/
 theorem vanishingIdeal_eq_top_iff {s : Set (PrimeSpectrum R)} : vanishingIdeal s = ⊤ ↔ s = ∅ := by
   rw [← top_le_iff, ← subset_zero_locus_iff_le_vanishing_ideal, Submodule.top_coe, zero_locus_univ,
     Set.subset_empty_iff]
 #align prime_spectrum.vanishing_ideal_eq_top_iff PrimeSpectrum.vanishingIdeal_eq_top_iff
 
+/- warning: prime_spectrum.zero_locus_sup -> PrimeSpectrum.zeroLocus_sup is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] (I : Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (J : Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))), Eq.{succ u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (PrimeSpectrum.zeroLocus.{u1} R _inst_1 ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Set.{u1} R) (HasLiftT.mk.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Set.{u1} R) (CoeTCₓ.coe.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Set.{u1} R) (SetLike.Set.hasCoeT.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) (Sup.sup.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (SemilatticeSup.toHasSup.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (IdemSemiring.toSemilatticeSup.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Submodule.idemSemiring.{u1, u1} R (CommRing.toCommSemiring.{u1} R _inst_1) R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) I J))) (Inter.inter.{u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (Set.hasInter.{u1} (PrimeSpectrum.{u1} R _inst_1)) (PrimeSpectrum.zeroLocus.{u1} R _inst_1 ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Set.{u1} R) (HasLiftT.mk.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Set.{u1} R) (CoeTCₓ.coe.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Set.{u1} R) (SetLike.Set.hasCoeT.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) I)) (PrimeSpectrum.zeroLocus.{u1} R _inst_1 ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Set.{u1} R) (HasLiftT.mk.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Set.{u1} R) (CoeTCₓ.coe.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Set.{u1} R) (SetLike.Set.hasCoeT.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) J)))
+but is expected to have type
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))), Eq.{succ u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (PrimeSpectrum.zeroLocus.{u1} R _inst_1 (SetLike.coe.{u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) R (Submodule.setLike.{u1, u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Sup.sup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (SemilatticeSup.toSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (IdemCommSemiring.toSemilatticeSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Ideal.instIdemCommSemiringIdealToSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) I J))) (Inter.inter.{u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (Set.instInterSet.{u1} (PrimeSpectrum.{u1} R _inst_1)) (PrimeSpectrum.zeroLocus.{u1} R _inst_1 (SetLike.coe.{u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) R (Submodule.setLike.{u1, u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) I)) (PrimeSpectrum.zeroLocus.{u1} R _inst_1 (SetLike.coe.{u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) R (Submodule.setLike.{u1, u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) J)))
+Case conversion may be inaccurate. Consider using '#align prime_spectrum.zero_locus_sup PrimeSpectrum.zeroLocus_supₓ'. -/
 theorem zeroLocus_sup (I J : Ideal R) :
     zeroLocus ((I ⊔ J : Ideal R) : Set R) = zeroLocus I ∩ zeroLocus J :=
   (gc R).l_sup
 #align prime_spectrum.zero_locus_sup PrimeSpectrum.zeroLocus_sup
 
+/- warning: prime_spectrum.zero_locus_union -> PrimeSpectrum.zeroLocus_union is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] (s : Set.{u1} R) (s' : Set.{u1} R), Eq.{succ u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (PrimeSpectrum.zeroLocus.{u1} R _inst_1 (Union.union.{u1} (Set.{u1} R) (Set.hasUnion.{u1} R) s s')) (Inter.inter.{u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (Set.hasInter.{u1} (PrimeSpectrum.{u1} R _inst_1)) (PrimeSpectrum.zeroLocus.{u1} R _inst_1 s) (PrimeSpectrum.zeroLocus.{u1} R _inst_1 s'))
+but is expected to have type
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] (s : Set.{u1} R) (s' : Set.{u1} R), Eq.{succ u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (PrimeSpectrum.zeroLocus.{u1} R _inst_1 (Union.union.{u1} (Set.{u1} R) (Set.instUnionSet.{u1} R) s s')) (Inter.inter.{u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (Set.instInterSet.{u1} (PrimeSpectrum.{u1} R _inst_1)) (PrimeSpectrum.zeroLocus.{u1} R _inst_1 s) (PrimeSpectrum.zeroLocus.{u1} R _inst_1 s'))
+Case conversion may be inaccurate. Consider using '#align prime_spectrum.zero_locus_union PrimeSpectrum.zeroLocus_unionₓ'. -/
 theorem zeroLocus_union (s s' : Set R) : zeroLocus (s ∪ s') = zeroLocus s ∩ zeroLocus s' :=
   (gc_set R).l_sup
 #align prime_spectrum.zero_locus_union PrimeSpectrum.zeroLocus_union
 
+#print PrimeSpectrum.vanishingIdeal_union /-
 theorem vanishingIdeal_union (t t' : Set (PrimeSpectrum R)) :
     vanishingIdeal (t ∪ t') = vanishingIdeal t ⊓ vanishingIdeal t' :=
   (gc R).u_inf
 #align prime_spectrum.vanishing_ideal_union PrimeSpectrum.vanishingIdeal_union
+-/
 
+/- warning: prime_spectrum.zero_locus_supr -> PrimeSpectrum.zeroLocus_iSup is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {ι : Sort.{u2}} (I : ι -> (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))), Eq.{succ u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (PrimeSpectrum.zeroLocus.{u1} R _inst_1 ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Set.{u1} R) (HasLiftT.mk.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Set.{u1} R) (CoeTCₓ.coe.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Set.{u1} R) (SetLike.Set.hasCoeT.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) (iSup.{u1, u2} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (ConditionallyCompleteLattice.toHasSup.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) ι (fun (i : ι) => I i)))) (Set.iInter.{u1, u2} (PrimeSpectrum.{u1} R _inst_1) ι (fun (i : ι) => PrimeSpectrum.zeroLocus.{u1} R _inst_1 ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Set.{u1} R) (HasLiftT.mk.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Set.{u1} R) (CoeTCₓ.coe.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Set.{u1} R) (SetLike.Set.hasCoeT.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) (I i))))
+but is expected to have type
+  forall {R : Type.{u2}} [_inst_1 : CommRing.{u2} R] {ι : Sort.{u1}} (I : ι -> (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))), Eq.{succ u2} (Set.{u2} (PrimeSpectrum.{u2} R _inst_1)) (PrimeSpectrum.zeroLocus.{u2} R _inst_1 (SetLike.coe.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (iSup.{u2, u1} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (ConditionallyCompleteLattice.toSupSet.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Submodule.completeLattice.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) ι (fun (i : ι) => I i)))) (Set.iInter.{u2, u1} (PrimeSpectrum.{u2} R _inst_1) ι (fun (i : ι) => PrimeSpectrum.zeroLocus.{u2} R _inst_1 (SetLike.coe.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (I i))))
+Case conversion may be inaccurate. Consider using '#align prime_spectrum.zero_locus_supr PrimeSpectrum.zeroLocus_iSupₓ'. -/
 theorem zeroLocus_iSup {ι : Sort _} (I : ι → Ideal R) :
     zeroLocus ((⨆ i, I i : Ideal R) : Set R) = ⋂ i, zeroLocus (I i) :=
   (gc R).l_iSup
 #align prime_spectrum.zero_locus_supr PrimeSpectrum.zeroLocus_iSup
 
+/- warning: prime_spectrum.zero_locus_Union -> PrimeSpectrum.zeroLocus_iUnion is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {ι : Sort.{u2}} (s : ι -> (Set.{u1} R)), Eq.{succ u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (PrimeSpectrum.zeroLocus.{u1} R _inst_1 (Set.iUnion.{u1, u2} R ι (fun (i : ι) => s i))) (Set.iInter.{u1, u2} (PrimeSpectrum.{u1} R _inst_1) ι (fun (i : ι) => PrimeSpectrum.zeroLocus.{u1} R _inst_1 (s i)))
+but is expected to have type
+  forall {R : Type.{u2}} [_inst_1 : CommRing.{u2} R] {ι : Sort.{u1}} (s : ι -> (Set.{u2} R)), Eq.{succ u2} (Set.{u2} (PrimeSpectrum.{u2} R _inst_1)) (PrimeSpectrum.zeroLocus.{u2} R _inst_1 (Set.iUnion.{u2, u1} R ι (fun (i : ι) => s i))) (Set.iInter.{u2, u1} (PrimeSpectrum.{u2} R _inst_1) ι (fun (i : ι) => PrimeSpectrum.zeroLocus.{u2} R _inst_1 (s i)))
+Case conversion may be inaccurate. Consider using '#align prime_spectrum.zero_locus_Union PrimeSpectrum.zeroLocus_iUnionₓ'. -/
 theorem zeroLocus_iUnion {ι : Sort _} (s : ι → Set R) :
     zeroLocus (⋃ i, s i) = ⋂ i, zeroLocus (s i) :=
   (gc_set R).l_iSup
 #align prime_spectrum.zero_locus_Union PrimeSpectrum.zeroLocus_iUnion
 
+#print PrimeSpectrum.zeroLocus_bUnion /-
 theorem zeroLocus_bUnion (s : Set (Set R)) :
     zeroLocus (⋃ s' ∈ s, s' : Set R) = ⋂ s' ∈ s, zeroLocus s' := by simp only [zero_locus_Union]
 #align prime_spectrum.zero_locus_bUnion PrimeSpectrum.zeroLocus_bUnion
+-/
 
+/- warning: prime_spectrum.vanishing_ideal_Union -> PrimeSpectrum.vanishingIdeal_iUnion is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {ι : Sort.{u2}} (t : ι -> (Set.{u1} (PrimeSpectrum.{u1} R _inst_1))), Eq.{succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PrimeSpectrum.vanishingIdeal.{u1} R _inst_1 (Set.iUnion.{u1, u2} (PrimeSpectrum.{u1} R _inst_1) ι (fun (i : ι) => t i))) (iInf.{u1, u2} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Submodule.hasInf.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) ι (fun (i : ι) => PrimeSpectrum.vanishingIdeal.{u1} R _inst_1 (t i)))
+but is expected to have type
+  forall {R : Type.{u2}} [_inst_1 : CommRing.{u2} R] {ι : Sort.{u1}} (t : ι -> (Set.{u2} (PrimeSpectrum.{u2} R _inst_1))), Eq.{succ u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PrimeSpectrum.vanishingIdeal.{u2} R _inst_1 (Set.iUnion.{u2, u1} (PrimeSpectrum.{u2} R _inst_1) ι (fun (i : ι) => t i))) (iInf.{u2, u1} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Submodule.instInfSetSubmodule.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) ι (fun (i : ι) => PrimeSpectrum.vanishingIdeal.{u2} R _inst_1 (t i)))
+Case conversion may be inaccurate. Consider using '#align prime_spectrum.vanishing_ideal_Union PrimeSpectrum.vanishingIdeal_iUnionₓ'. -/
 theorem vanishingIdeal_iUnion {ι : Sort _} (t : ι → Set (PrimeSpectrum R)) :
     vanishingIdeal (⋃ i, t i) = ⨅ i, vanishingIdeal (t i) :=
   (gc R).u_iInf
 #align prime_spectrum.vanishing_ideal_Union PrimeSpectrum.vanishingIdeal_iUnion
 
+/- warning: prime_spectrum.zero_locus_inf -> PrimeSpectrum.zeroLocus_inf is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] (I : Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (J : Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))), Eq.{succ u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (PrimeSpectrum.zeroLocus.{u1} R _inst_1 ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Set.{u1} R) (HasLiftT.mk.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Set.{u1} R) (CoeTCₓ.coe.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Set.{u1} R) (SetLike.Set.hasCoeT.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) (Inf.inf.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Submodule.hasInf.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) I J))) (Union.union.{u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (Set.hasUnion.{u1} (PrimeSpectrum.{u1} R _inst_1)) (PrimeSpectrum.zeroLocus.{u1} R _inst_1 ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Set.{u1} R) (HasLiftT.mk.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Set.{u1} R) (CoeTCₓ.coe.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Set.{u1} R) (SetLike.Set.hasCoeT.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) I)) (PrimeSpectrum.zeroLocus.{u1} R _inst_1 ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Set.{u1} R) (HasLiftT.mk.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Set.{u1} R) (CoeTCₓ.coe.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Set.{u1} R) (SetLike.Set.hasCoeT.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) J)))
+but is expected to have type
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))), Eq.{succ u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (PrimeSpectrum.zeroLocus.{u1} R _inst_1 (SetLike.coe.{u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) R (Submodule.setLike.{u1, u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Inf.inf.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Submodule.instInfSubmodule.{u1, u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) I J))) (Union.union.{u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (Set.instUnionSet.{u1} (PrimeSpectrum.{u1} R _inst_1)) (PrimeSpectrum.zeroLocus.{u1} R _inst_1 (SetLike.coe.{u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) R (Submodule.setLike.{u1, u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) I)) (PrimeSpectrum.zeroLocus.{u1} R _inst_1 (SetLike.coe.{u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) R (Submodule.setLike.{u1, u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) J)))
+Case conversion may be inaccurate. Consider using '#align prime_spectrum.zero_locus_inf PrimeSpectrum.zeroLocus_infₓ'. -/
 theorem zeroLocus_inf (I J : Ideal R) :
     zeroLocus ((I ⊓ J : Ideal R) : Set R) = zeroLocus I ∪ zeroLocus J :=
   Set.ext fun x => x.2.inf_le
 #align prime_spectrum.zero_locus_inf PrimeSpectrum.zeroLocus_inf
 
+/- warning: prime_spectrum.union_zero_locus -> PrimeSpectrum.union_zeroLocus is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] (s : Set.{u1} R) (s' : Set.{u1} R), Eq.{succ u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (Union.union.{u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (Set.hasUnion.{u1} (PrimeSpectrum.{u1} R _inst_1)) (PrimeSpectrum.zeroLocus.{u1} R _inst_1 s) (PrimeSpectrum.zeroLocus.{u1} R _inst_1 s')) (PrimeSpectrum.zeroLocus.{u1} R _inst_1 ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Set.{u1} R) (HasLiftT.mk.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Set.{u1} R) (CoeTCₓ.coe.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Set.{u1} R) (SetLike.Set.hasCoeT.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) (Inf.inf.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Submodule.hasInf.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Ideal.span.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) s) (Ideal.span.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) s'))))
+but is expected to have type
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] (s : Set.{u1} R) (s' : Set.{u1} R), Eq.{succ u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (Union.union.{u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (Set.instUnionSet.{u1} (PrimeSpectrum.{u1} R _inst_1)) (PrimeSpectrum.zeroLocus.{u1} R _inst_1 s) (PrimeSpectrum.zeroLocus.{u1} R _inst_1 s')) (PrimeSpectrum.zeroLocus.{u1} R _inst_1 (SetLike.coe.{u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) R (Submodule.setLike.{u1, u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Inf.inf.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Submodule.instInfSubmodule.{u1, u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) s) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) s'))))
+Case conversion may be inaccurate. Consider using '#align prime_spectrum.union_zero_locus PrimeSpectrum.union_zeroLocusₓ'. -/
 theorem union_zeroLocus (s s' : Set R) :
     zeroLocus s ∪ zeroLocus s' = zeroLocus (Ideal.span s ⊓ Ideal.span s' : Ideal R) :=
   by
@@ -376,28 +566,54 @@ theorem union_zeroLocus (s s' : Set R) :
   simp
 #align prime_spectrum.union_zero_locus PrimeSpectrum.union_zeroLocus
 
+/- warning: prime_spectrum.zero_locus_mul -> PrimeSpectrum.zeroLocus_mul is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] (I : Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (J : Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))), Eq.{succ u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (PrimeSpectrum.zeroLocus.{u1} R _inst_1 ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Set.{u1} R) (HasLiftT.mk.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Set.{u1} R) (CoeTCₓ.coe.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Set.{u1} R) (SetLike.Set.hasCoeT.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (instHMul.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasMul.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) I J))) (Union.union.{u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (Set.hasUnion.{u1} (PrimeSpectrum.{u1} R _inst_1)) (PrimeSpectrum.zeroLocus.{u1} R _inst_1 ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Set.{u1} R) (HasLiftT.mk.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Set.{u1} R) (CoeTCₓ.coe.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Set.{u1} R) (SetLike.Set.hasCoeT.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) I)) (PrimeSpectrum.zeroLocus.{u1} R _inst_1 ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Set.{u1} R) (HasLiftT.mk.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Set.{u1} R) (CoeTCₓ.coe.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Set.{u1} R) (SetLike.Set.hasCoeT.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) J)))
+but is expected to have type
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))), Eq.{succ u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (PrimeSpectrum.zeroLocus.{u1} R _inst_1 (SetLike.coe.{u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) R (Submodule.setLike.{u1, u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Ideal.instMulIdealToSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) I J))) (Union.union.{u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (Set.instUnionSet.{u1} (PrimeSpectrum.{u1} R _inst_1)) (PrimeSpectrum.zeroLocus.{u1} R _inst_1 (SetLike.coe.{u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) R (Submodule.setLike.{u1, u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) I)) (PrimeSpectrum.zeroLocus.{u1} R _inst_1 (SetLike.coe.{u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) R (Submodule.setLike.{u1, u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) J)))
+Case conversion may be inaccurate. Consider using '#align prime_spectrum.zero_locus_mul PrimeSpectrum.zeroLocus_mulₓ'. -/
 theorem zeroLocus_mul (I J : Ideal R) :
     zeroLocus ((I * J : Ideal R) : Set R) = zeroLocus I ∪ zeroLocus J :=
   Set.ext fun x => x.2.mul_le
 #align prime_spectrum.zero_locus_mul PrimeSpectrum.zeroLocus_mul
 
+/- warning: prime_spectrum.zero_locus_singleton_mul -> PrimeSpectrum.zeroLocus_singleton_mul is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] (f : R) (g : R), Eq.{succ u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (PrimeSpectrum.zeroLocus.{u1} R _inst_1 (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.hasSingleton.{u1} R) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R (CommRing.toRing.{u1} R _inst_1)))) f g))) (Union.union.{u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (Set.hasUnion.{u1} (PrimeSpectrum.{u1} R _inst_1)) (PrimeSpectrum.zeroLocus.{u1} R _inst_1 (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.hasSingleton.{u1} R) f)) (PrimeSpectrum.zeroLocus.{u1} R _inst_1 (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.hasSingleton.{u1} R) g)))
+but is expected to have type
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] (f : R) (g : R), Eq.{succ u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (PrimeSpectrum.zeroLocus.{u1} R _inst_1 (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.instSingletonSet.{u1} R) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (NonUnitalNonAssocRing.toMul.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) f g))) (Union.union.{u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (Set.instUnionSet.{u1} (PrimeSpectrum.{u1} R _inst_1)) (PrimeSpectrum.zeroLocus.{u1} R _inst_1 (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.instSingletonSet.{u1} R) f)) (PrimeSpectrum.zeroLocus.{u1} R _inst_1 (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.instSingletonSet.{u1} R) g)))
+Case conversion may be inaccurate. Consider using '#align prime_spectrum.zero_locus_singleton_mul PrimeSpectrum.zeroLocus_singleton_mulₓ'. -/
 theorem zeroLocus_singleton_mul (f g : R) :
     zeroLocus ({f * g} : Set R) = zeroLocus {f} ∪ zeroLocus {g} :=
   Set.ext fun x => by simpa using x.2.mul_mem_iff_mem_or_mem
 #align prime_spectrum.zero_locus_singleton_mul PrimeSpectrum.zeroLocus_singleton_mul
 
+#print PrimeSpectrum.zeroLocus_pow /-
 @[simp]
 theorem zeroLocus_pow (I : Ideal R) {n : ℕ} (hn : 0 < n) :
     zeroLocus ((I ^ n : Ideal R) : Set R) = zeroLocus I :=
   zeroLocus_radical (I ^ n) ▸ (I.radical_pow n hn).symm ▸ zeroLocus_radical I
 #align prime_spectrum.zero_locus_pow PrimeSpectrum.zeroLocus_pow
+-/
 
+/- warning: prime_spectrum.zero_locus_singleton_pow -> PrimeSpectrum.zeroLocus_singleton_pow is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] (f : R) (n : Nat), (LT.lt.{0} Nat Nat.hasLt (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero))) n) -> (Eq.{succ u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (PrimeSpectrum.zeroLocus.{u1} R _inst_1 (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.hasSingleton.{u1} R) (HPow.hPow.{u1, 0, u1} R Nat R (instHPow.{u1, 0} R Nat (Monoid.Pow.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))) f n))) (PrimeSpectrum.zeroLocus.{u1} R _inst_1 (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.hasSingleton.{u1} R) f)))
+but is expected to have type
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] (f : R) (n : Nat), (LT.lt.{0} Nat instLTNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)) n) -> (Eq.{succ u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (PrimeSpectrum.zeroLocus.{u1} R _inst_1 (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.instSingletonSet.{u1} R) (HPow.hPow.{u1, 0, u1} R Nat R (instHPow.{u1, 0} R Nat (Monoid.Pow.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) f n))) (PrimeSpectrum.zeroLocus.{u1} R _inst_1 (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.instSingletonSet.{u1} R) f)))
+Case conversion may be inaccurate. Consider using '#align prime_spectrum.zero_locus_singleton_pow PrimeSpectrum.zeroLocus_singleton_powₓ'. -/
 @[simp]
 theorem zeroLocus_singleton_pow (f : R) (n : ℕ) (hn : 0 < n) :
     zeroLocus ({f ^ n} : Set R) = zeroLocus {f} :=
   Set.ext fun x => by simpa using x.2.pow_mem_iff_mem n hn
 #align prime_spectrum.zero_locus_singleton_pow PrimeSpectrum.zeroLocus_singleton_pow
 
+/- warning: prime_spectrum.sup_vanishing_ideal_le -> PrimeSpectrum.sup_vanishingIdeal_le is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] (t : Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (t' : Set.{u1} (PrimeSpectrum.{u1} R _inst_1)), LE.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Preorder.toHasLe.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (SetLike.partialOrder.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) (Sup.sup.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (SemilatticeSup.toHasSup.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (IdemSemiring.toSemilatticeSup.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Submodule.idemSemiring.{u1, u1} R (CommRing.toCommSemiring.{u1} R _inst_1) R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (PrimeSpectrum.vanishingIdeal.{u1} R _inst_1 t) (PrimeSpectrum.vanishingIdeal.{u1} R _inst_1 t')) (PrimeSpectrum.vanishingIdeal.{u1} R _inst_1 (Inter.inter.{u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (Set.hasInter.{u1} (PrimeSpectrum.{u1} R _inst_1)) t t'))
+but is expected to have type
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] (t : Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (t' : Set.{u1} (PrimeSpectrum.{u1} R _inst_1)), LE.le.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Preorder.toLE.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Submodule.completeLattice.{u1, u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (Sup.sup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (SemilatticeSup.toSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (IdemCommSemiring.toSemilatticeSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Ideal.instIdemCommSemiringIdealToSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (PrimeSpectrum.vanishingIdeal.{u1} R _inst_1 t) (PrimeSpectrum.vanishingIdeal.{u1} R _inst_1 t')) (PrimeSpectrum.vanishingIdeal.{u1} R _inst_1 (Inter.inter.{u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (Set.instInterSet.{u1} (PrimeSpectrum.{u1} R _inst_1)) t t'))
+Case conversion may be inaccurate. Consider using '#align prime_spectrum.sup_vanishing_ideal_le PrimeSpectrum.sup_vanishingIdeal_leₓ'. -/
 theorem sup_vanishingIdeal_le (t t' : Set (PrimeSpectrum R)) :
     vanishingIdeal t ⊔ vanishingIdeal t' ≤ vanishingIdeal (t ∩ t') :=
   by
@@ -408,11 +624,18 @@ theorem sup_vanishingIdeal_le (t t' : Set (PrimeSpectrum R)) :
   apply Submodule.add_mem <;> solve_by_elim
 #align prime_spectrum.sup_vanishing_ideal_le PrimeSpectrum.sup_vanishingIdeal_le
 
+/- warning: prime_spectrum.mem_compl_zero_locus_iff_not_mem -> PrimeSpectrum.mem_compl_zeroLocus_iff_not_mem is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {f : R} {I : PrimeSpectrum.{u1} R _inst_1}, Iff (Membership.Mem.{u1, u1} (PrimeSpectrum.{u1} R _inst_1) (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (Set.hasMem.{u1} (PrimeSpectrum.{u1} R _inst_1)) I (HasCompl.compl.{u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (BooleanAlgebra.toHasCompl.{u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (Set.booleanAlgebra.{u1} (PrimeSpectrum.{u1} R _inst_1))) (PrimeSpectrum.zeroLocus.{u1} R _inst_1 (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.hasSingleton.{u1} R) f)))) (Not (Membership.Mem.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (SetLike.hasMem.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) f (PrimeSpectrum.asIdeal.{u1} R _inst_1 I)))
+but is expected to have type
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {f : R} {I : PrimeSpectrum.{u1} R _inst_1}, Iff (Membership.mem.{u1, u1} (PrimeSpectrum.{u1} R _inst_1) (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (Set.instMembershipSet.{u1} (PrimeSpectrum.{u1} R _inst_1)) I (HasCompl.compl.{u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (BooleanAlgebra.toHasCompl.{u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (Set.instBooleanAlgebraSet.{u1} (PrimeSpectrum.{u1} R _inst_1))) (PrimeSpectrum.zeroLocus.{u1} R _inst_1 (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.instSingletonSet.{u1} R) f)))) (Not (Membership.mem.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) R (Submodule.setLike.{u1, u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) f (PrimeSpectrum.asIdeal.{u1} R _inst_1 I)))
+Case conversion may be inaccurate. Consider using '#align prime_spectrum.mem_compl_zero_locus_iff_not_mem PrimeSpectrum.mem_compl_zeroLocus_iff_not_memₓ'. -/
 theorem mem_compl_zeroLocus_iff_not_mem {f : R} {I : PrimeSpectrum R} :
     I ∈ (zeroLocus {f} : Set (PrimeSpectrum R))ᶜ ↔ f ∉ I.asIdeal := by
   rw [Set.mem_compl_iff, mem_zero_locus, Set.singleton_subset_iff] <;> rfl
 #align prime_spectrum.mem_compl_zero_locus_iff_not_mem PrimeSpectrum.mem_compl_zeroLocus_iff_not_mem
 
+#print PrimeSpectrum.zariskiTopology /-
 /-- The Zariski topology on the prime spectrum of a commutative 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) :=
@@ -427,34 +650,50 @@ instance zariskiTopology : TopologicalSpace (PrimeSpectrum R) :=
       rintro _ ⟨s, rfl⟩ _ ⟨t, rfl⟩
       exact ⟨_, (union_zero_locus s t).symm⟩)
 #align prime_spectrum.zariski_topology PrimeSpectrum.zariskiTopology
+-/
 
+/- warning: prime_spectrum.is_open_iff -> PrimeSpectrum.isOpen_iff is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] (U : Set.{u1} (PrimeSpectrum.{u1} R _inst_1)), Iff (IsOpen.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1) U) (Exists.{succ u1} (Set.{u1} R) (fun (s : Set.{u1} R) => Eq.{succ u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (HasCompl.compl.{u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (BooleanAlgebra.toHasCompl.{u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (Set.booleanAlgebra.{u1} (PrimeSpectrum.{u1} R _inst_1))) U) (PrimeSpectrum.zeroLocus.{u1} R _inst_1 s)))
+but is expected to have type
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] (U : Set.{u1} (PrimeSpectrum.{u1} R _inst_1)), Iff (IsOpen.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1) U) (Exists.{succ u1} (Set.{u1} R) (fun (s : Set.{u1} R) => Eq.{succ u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (HasCompl.compl.{u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (BooleanAlgebra.toHasCompl.{u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (Set.instBooleanAlgebraSet.{u1} (PrimeSpectrum.{u1} R _inst_1))) U) (PrimeSpectrum.zeroLocus.{u1} R _inst_1 s)))
+Case conversion may be inaccurate. Consider using '#align prime_spectrum.is_open_iff PrimeSpectrum.isOpen_iffₓ'. -/
 theorem isOpen_iff (U : Set (PrimeSpectrum R)) : IsOpen U ↔ ∃ s, Uᶜ = zeroLocus s := by
   simp only [@eq_comm _ (Uᶜ)] <;> rfl
 #align prime_spectrum.is_open_iff PrimeSpectrum.isOpen_iff
 
+#print PrimeSpectrum.isClosed_iff_zeroLocus /-
 theorem isClosed_iff_zeroLocus (Z : Set (PrimeSpectrum R)) : IsClosed Z ↔ ∃ s, Z = zeroLocus s := by
   rw [← isOpen_compl_iff, is_open_iff, compl_compl]
 #align prime_spectrum.is_closed_iff_zero_locus PrimeSpectrum.isClosed_iff_zeroLocus
+-/
 
+#print PrimeSpectrum.isClosed_iff_zeroLocus_ideal /-
 theorem isClosed_iff_zeroLocus_ideal (Z : Set (PrimeSpectrum R)) :
     IsClosed Z ↔ ∃ I : Ideal R, Z = zeroLocus I :=
   (isClosed_iff_zeroLocus _).trans
     ⟨fun ⟨s, hs⟩ => ⟨_, (zeroLocus_span s).substr hs⟩, fun ⟨I, hI⟩ => ⟨I, hI⟩⟩
 #align prime_spectrum.is_closed_iff_zero_locus_ideal PrimeSpectrum.isClosed_iff_zeroLocus_ideal
+-/
 
+#print PrimeSpectrum.isClosed_iff_zeroLocus_radical_ideal /-
 theorem isClosed_iff_zeroLocus_radical_ideal (Z : Set (PrimeSpectrum R)) :
     IsClosed Z ↔ ∃ I : Ideal R, I.IsRadical ∧ Z = zeroLocus I :=
   (isClosed_iff_zeroLocus_ideal _).trans
     ⟨fun ⟨I, hI⟩ => ⟨_, I.radical_isRadical, (zeroLocus_radical I).substr hI⟩, fun ⟨I, _, hI⟩ =>
       ⟨I, hI⟩⟩
 #align prime_spectrum.is_closed_iff_zero_locus_radical_ideal PrimeSpectrum.isClosed_iff_zeroLocus_radical_ideal
+-/
 
+#print PrimeSpectrum.isClosed_zeroLocus /-
 theorem isClosed_zeroLocus (s : Set R) : IsClosed (zeroLocus s) :=
   by
   rw [is_closed_iff_zero_locus]
   exact ⟨s, rfl⟩
 #align prime_spectrum.is_closed_zero_locus PrimeSpectrum.isClosed_zeroLocus
+-/
 
+#print PrimeSpectrum.isClosed_singleton_iff_isMaximal /-
 theorem isClosed_singleton_iff_isMaximal (x : PrimeSpectrum R) :
     IsClosed ({x} : Set (PrimeSpectrum R)) ↔ x.asIdeal.IsMaximal :=
   by
@@ -474,7 +713,9 @@ theorem isClosed_singleton_iff_isMaximal (x : PrimeSpectrum R) :
     rw [eq_comm, Set.eq_singleton_iff_unique_mem]
     refine' ⟨fun _ h => h, fun y hy => PrimeSpectrum.ext _ _ (h.eq_of_le y.2.ne_top hy).symm⟩
 #align prime_spectrum.is_closed_singleton_iff_is_maximal PrimeSpectrum.isClosed_singleton_iff_isMaximal
+-/
 
+#print PrimeSpectrum.zeroLocus_vanishingIdeal_eq_closure /-
 theorem zeroLocus_vanishingIdeal_eq_closure (t : Set (PrimeSpectrum R)) :
     zeroLocus (vanishingIdeal t : Set R) = closure t :=
   by
@@ -486,23 +727,36 @@ theorem zeroLocus_vanishingIdeal_eq_closure (t : Set (PrimeSpectrum R)) :
   · rw [(is_closed_zero_locus _).closure_subset_iff]
     exact subset_zero_locus_vanishing_ideal t
 #align prime_spectrum.zero_locus_vanishing_ideal_eq_closure PrimeSpectrum.zeroLocus_vanishingIdeal_eq_closure
+-/
 
+#print PrimeSpectrum.vanishingIdeal_closure /-
 theorem vanishingIdeal_closure (t : Set (PrimeSpectrum R)) :
     vanishingIdeal (closure t) = vanishingIdeal t :=
   zeroLocus_vanishingIdeal_eq_closure t ▸ (gc R).u_l_u_eq_u t
 #align prime_spectrum.vanishing_ideal_closure PrimeSpectrum.vanishingIdeal_closure
+-/
 
+#print PrimeSpectrum.closure_singleton /-
 theorem closure_singleton (x) : closure ({x} : Set (PrimeSpectrum R)) = zeroLocus x.asIdeal := by
   rw [← zero_locus_vanishing_ideal_eq_closure, vanishing_ideal_singleton]
 #align prime_spectrum.closure_singleton PrimeSpectrum.closure_singleton
+-/
 
+#print PrimeSpectrum.isRadical_vanishingIdeal /-
 theorem isRadical_vanishingIdeal (s : Set (PrimeSpectrum R)) : (vanishingIdeal s).IsRadical :=
   by
   rw [← vanishing_ideal_closure, ← zero_locus_vanishing_ideal_eq_closure,
     vanishing_ideal_zero_locus_eq_radical]
   apply Ideal.radical_isRadical
 #align prime_spectrum.is_radical_vanishing_ideal PrimeSpectrum.isRadical_vanishingIdeal
+-/
 
+/- warning: prime_spectrum.vanishing_ideal_anti_mono_iff -> PrimeSpectrum.vanishingIdeal_anti_mono_iff is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {s : Set.{u1} (PrimeSpectrum.{u1} R _inst_1)} {t : Set.{u1} (PrimeSpectrum.{u1} R _inst_1)}, (IsClosed.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1) t) -> (Iff (HasSubset.Subset.{u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (Set.hasSubset.{u1} (PrimeSpectrum.{u1} R _inst_1)) s t) (LE.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Preorder.toHasLe.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (SetLike.partialOrder.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) (PrimeSpectrum.vanishingIdeal.{u1} R _inst_1 t) (PrimeSpectrum.vanishingIdeal.{u1} R _inst_1 s)))
+but is expected to have type
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {s : Set.{u1} (PrimeSpectrum.{u1} R _inst_1)} {t : Set.{u1} (PrimeSpectrum.{u1} R _inst_1)}, (IsClosed.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1) t) -> (Iff (HasSubset.Subset.{u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (Set.instHasSubsetSet.{u1} (PrimeSpectrum.{u1} R _inst_1)) s t) (LE.le.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Preorder.toLE.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Submodule.completeLattice.{u1, u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (PrimeSpectrum.vanishingIdeal.{u1} R _inst_1 t) (PrimeSpectrum.vanishingIdeal.{u1} R _inst_1 s)))
+Case conversion may be inaccurate. Consider using '#align prime_spectrum.vanishing_ideal_anti_mono_iff PrimeSpectrum.vanishingIdeal_anti_mono_iffₓ'. -/
 theorem vanishingIdeal_anti_mono_iff {s t : Set (PrimeSpectrum R)} (ht : IsClosed t) :
     s ⊆ t ↔ vanishingIdeal t ≤ vanishingIdeal s :=
   ⟨vanishingIdeal_anti_mono, fun h =>
@@ -511,12 +765,24 @@ theorem vanishingIdeal_anti_mono_iff {s t : Set (PrimeSpectrum R)} (ht : IsClose
     convert← zero_locus_anti_mono_ideal h <;> apply zero_locus_vanishing_ideal_eq_closure⟩
 #align prime_spectrum.vanishing_ideal_anti_mono_iff PrimeSpectrum.vanishingIdeal_anti_mono_iff
 
+/- warning: prime_spectrum.vanishing_ideal_strict_anti_mono_iff -> PrimeSpectrum.vanishingIdeal_strict_anti_mono_iff is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {s : Set.{u1} (PrimeSpectrum.{u1} R _inst_1)} {t : Set.{u1} (PrimeSpectrum.{u1} R _inst_1)}, (IsClosed.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1) s) -> (IsClosed.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1) t) -> (Iff (HasSSubset.SSubset.{u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (Set.hasSsubset.{u1} (PrimeSpectrum.{u1} R _inst_1)) s t) (LT.lt.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Preorder.toHasLt.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (SetLike.partialOrder.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) (PrimeSpectrum.vanishingIdeal.{u1} R _inst_1 t) (PrimeSpectrum.vanishingIdeal.{u1} R _inst_1 s)))
+but is expected to have type
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {s : Set.{u1} (PrimeSpectrum.{u1} R _inst_1)} {t : Set.{u1} (PrimeSpectrum.{u1} R _inst_1)}, (IsClosed.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1) s) -> (IsClosed.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1) t) -> (Iff (HasSSubset.SSubset.{u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (Set.instHasSSubsetSet.{u1} (PrimeSpectrum.{u1} R _inst_1)) s t) (LT.lt.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Preorder.toLT.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Submodule.completeLattice.{u1, u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (PrimeSpectrum.vanishingIdeal.{u1} R _inst_1 t) (PrimeSpectrum.vanishingIdeal.{u1} R _inst_1 s)))
+Case conversion may be inaccurate. Consider using '#align prime_spectrum.vanishing_ideal_strict_anti_mono_iff PrimeSpectrum.vanishingIdeal_strict_anti_mono_iffₓ'. -/
 theorem vanishingIdeal_strict_anti_mono_iff {s t : Set (PrimeSpectrum R)} (hs : IsClosed s)
     (ht : IsClosed t) : s ⊂ t ↔ vanishingIdeal t < vanishingIdeal s := by
   rw [Set.ssubset_def, vanishing_ideal_anti_mono_iff hs, vanishing_ideal_anti_mono_iff ht,
     lt_iff_le_not_le]
 #align prime_spectrum.vanishing_ideal_strict_anti_mono_iff PrimeSpectrum.vanishingIdeal_strict_anti_mono_iff
 
+/- warning: prime_spectrum.closeds_embedding -> PrimeSpectrum.closedsEmbedding is a dubious translation:
+lean 3 declaration is
+  forall (R : Type.{u1}) [_inst_3 : CommRing.{u1} R], OrderEmbedding.{u1, u1} (OrderDual.{u1} (TopologicalSpace.Closeds.{u1} (PrimeSpectrum.{u1} R _inst_3) (PrimeSpectrum.zariskiTopology.{u1} R _inst_3))) (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_3))) (OrderDual.hasLe.{u1} (TopologicalSpace.Closeds.{u1} (PrimeSpectrum.{u1} R _inst_3) (PrimeSpectrum.zariskiTopology.{u1} R _inst_3)) (Preorder.toHasLe.{u1} (TopologicalSpace.Closeds.{u1} (PrimeSpectrum.{u1} R _inst_3) (PrimeSpectrum.zariskiTopology.{u1} R _inst_3)) (PartialOrder.toPreorder.{u1} (TopologicalSpace.Closeds.{u1} (PrimeSpectrum.{u1} R _inst_3) (PrimeSpectrum.zariskiTopology.{u1} R _inst_3)) (SetLike.partialOrder.{u1, u1} (TopologicalSpace.Closeds.{u1} (PrimeSpectrum.{u1} R _inst_3) (PrimeSpectrum.zariskiTopology.{u1} R _inst_3)) (PrimeSpectrum.{u1} R _inst_3) (TopologicalSpace.Closeds.setLike.{u1} (PrimeSpectrum.{u1} R _inst_3) (PrimeSpectrum.zariskiTopology.{u1} R _inst_3)))))) (Preorder.toHasLe.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_3))) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_3))) (SetLike.partialOrder.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_3))) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_3))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_3)))))))
+but is expected to have type
+  forall (R : Type.{u1}) [_inst_3 : CommRing.{u1} R], OrderEmbedding.{u1, u1} (OrderDual.{u1} (TopologicalSpace.Closeds.{u1} (PrimeSpectrum.{u1} R _inst_3) (PrimeSpectrum.zariskiTopology.{u1} R _inst_3))) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3))) (OrderDual.instLEOrderDual.{u1} (TopologicalSpace.Closeds.{u1} (PrimeSpectrum.{u1} R _inst_3) (PrimeSpectrum.zariskiTopology.{u1} R _inst_3)) (Preorder.toLE.{u1} (TopologicalSpace.Closeds.{u1} (PrimeSpectrum.{u1} R _inst_3) (PrimeSpectrum.zariskiTopology.{u1} R _inst_3)) (PartialOrder.toPreorder.{u1} (TopologicalSpace.Closeds.{u1} (PrimeSpectrum.{u1} R _inst_3) (PrimeSpectrum.zariskiTopology.{u1} R _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (TopologicalSpace.Closeds.{u1} (PrimeSpectrum.{u1} R _inst_3) (PrimeSpectrum.zariskiTopology.{u1} R _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (TopologicalSpace.Closeds.{u1} (PrimeSpectrum.{u1} R _inst_3) (PrimeSpectrum.zariskiTopology.{u1} R _inst_3)) (TopologicalSpace.Closeds.instCompleteLatticeCloseds.{u1} (PrimeSpectrum.{u1} R _inst_3) (PrimeSpectrum.zariskiTopology.{u1} R _inst_3))))))) (Preorder.toLE.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3))) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3))) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3))) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3))) (Submodule.completeLattice.{u1, u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3))))))))
+Case conversion may be inaccurate. Consider using '#align prime_spectrum.closeds_embedding PrimeSpectrum.closedsEmbeddingₓ'. -/
 /-- The antitone order embedding of closed subsets of `Spec R` into ideals of `R`. -/
 def closedsEmbedding (R : Type _) [CommRing R] :
     (TopologicalSpace.Closeds <| PrimeSpectrum R)ᵒᵈ ↪o Ideal R :=
@@ -524,6 +790,7 @@ def closedsEmbedding (R : Type _) [CommRing R] :
     (vanishingIdeal_anti_mono_iff s.2).symm
 #align prime_spectrum.closeds_embedding PrimeSpectrum.closedsEmbedding
 
+#print PrimeSpectrum.t1Space_iff_isField /-
 theorem t1Space_iff_isField [IsDomain R] : T1Space (PrimeSpectrum R) ↔ IsField R :=
   by
   refine' ⟨_, fun h => _⟩
@@ -541,10 +808,12 @@ theorem t1Space_iff_isField [IsDomain R] : T1Space (PrimeSpectrum R) ↔ IsField
       exact hx.symm ▸ Ideal.bot_isMaximal
     · exact absurd h (Ring.not_isField_iff_exists_prime.2 ⟨x.as_ideal, ⟨hx, x.2⟩⟩)
 #align prime_spectrum.t1_space_iff_is_field PrimeSpectrum.t1Space_iff_isField
+-/
 
 -- mathport name: «exprZ( )»
 local notation "Z(" a ")" => zeroLocus (a : Set R)
 
+#print PrimeSpectrum.isIrreducible_zeroLocus_iff_of_radical /-
 theorem isIrreducible_zeroLocus_iff_of_radical (I : Ideal R) (hI : I.IsRadical) :
     IsIrreducible (zeroLocus (I : Set R)) ↔ I.IsPrime :=
   by
@@ -570,17 +839,22 @@ theorem isIrreducible_zeroLocus_iff_of_radical (I : Ideal R) (hI : I.IsRadical)
         rintro h s t h' ⟨x, hx, hx'⟩ y hy
         exact h (h' ⟨Ideal.mul_mem_right _ _ hx, Ideal.mul_mem_left _ _ hy⟩) hx'
 #align prime_spectrum.is_irreducible_zero_locus_iff_of_radical PrimeSpectrum.isIrreducible_zeroLocus_iff_of_radical
+-/
 
+#print PrimeSpectrum.isIrreducible_zeroLocus_iff /-
 theorem isIrreducible_zeroLocus_iff (I : Ideal R) :
     IsIrreducible (zeroLocus (I : Set R)) ↔ I.radical.IsPrime :=
   zeroLocus_radical I ▸ isIrreducible_zeroLocus_iff_of_radical _ I.radical_isRadical
 #align prime_spectrum.is_irreducible_zero_locus_iff PrimeSpectrum.isIrreducible_zeroLocus_iff
+-/
 
+#print PrimeSpectrum.isIrreducible_iff_vanishingIdeal_isPrime /-
 theorem isIrreducible_iff_vanishingIdeal_isPrime {s : Set (PrimeSpectrum R)} :
     IsIrreducible s ↔ (vanishingIdeal s).IsPrime := by
   rw [← isIrreducible_iff_closure, ← zero_locus_vanishing_ideal_eq_closure,
     is_irreducible_zero_locus_iff_of_radical _ (is_radical_vanishing_ideal s)]
 #align prime_spectrum.is_irreducible_iff_vanishing_ideal_is_prime PrimeSpectrum.isIrreducible_iff_vanishingIdeal_isPrime
+-/
 
 instance [IsDomain R] : IrreducibleSpace (PrimeSpectrum R) :=
   by
@@ -596,6 +870,12 @@ section Comap
 
 variable {S' : Type _} [CommRing S']
 
+/- warning: prime_spectrum.preimage_comap_zero_locus_aux -> PrimeSpectrum.preimage_comap_zeroLocus_aux is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : CommRing.{u2} S] (f : RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) (s : Set.{u1} R), Eq.{succ u2} (Set.{u2} (PrimeSpectrum.{u2} S _inst_2)) (Set.preimage.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (fun (y : PrimeSpectrum.{u2} S _inst_2) => PrimeSpectrum.mk.{u1} R _inst_1 (Ideal.comap.{u1, u2, max u1 u2} R S (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) (RingHom.ringHomClass.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) f (PrimeSpectrum.asIdeal.{u2} S _inst_2 y)) (inferInstance.{0} (Ideal.IsPrime.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ideal.comap.{u1, u2, max u1 u2} R S (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) (RingHom.ringHomClass.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) f (PrimeSpectrum.asIdeal.{u2} S _inst_2 y))) (Ideal.IsPrime.comap.{u1, u2, max u1 u2} R S (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) (RingHom.ringHomClass.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) f (PrimeSpectrum.asIdeal.{u2} S _inst_2 y) (PrimeSpectrum.isPrime.{u2} S _inst_2 y)))) (PrimeSpectrum.zeroLocus.{u1} R _inst_1 s)) (PrimeSpectrum.zeroLocus.{u2} S _inst_2 (Set.image.{u1, u2} R S (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) (fun (_x : RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) => R -> S) (RingHom.hasCoeToFun.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) f) s))
+but is expected to have type
+  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : CommRing.{u2} S] (f : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (s : Set.{u1} R), Eq.{succ u2} (Set.{u2} (PrimeSpectrum.{u2} S _inst_2)) (Set.preimage.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (fun (y : PrimeSpectrum.{u2} S _inst_2) => PrimeSpectrum.mk.{u1} R _inst_1 (Ideal.comap.{u1, u2, max u1 u2} R S (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (RingHom.instRingHomClassRingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) f (PrimeSpectrum.asIdeal.{u2} S _inst_2 y)) (inferInstance.{0} (Ideal.IsPrime.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Ideal.comap.{u1, u2, max u1 u2} R S (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (RingHom.instRingHomClassRingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) f (PrimeSpectrum.asIdeal.{u2} S _inst_2 y))) (Ideal.IsPrime.comap.{u1, u2, max u1 u2} R S (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (RingHom.instRingHomClassRingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) f (PrimeSpectrum.asIdeal.{u2} S _inst_2 y) (PrimeSpectrum.IsPrime.{u2} S _inst_2 y)))) (PrimeSpectrum.zeroLocus.{u1} R _inst_1 s)) (PrimeSpectrum.zeroLocus.{u2} S _inst_2 (Set.image.{u1, u2} R S (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) R S (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (NonUnitalNonAssocSemiring.toMul.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (RingHom.instRingHomClassRingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))))) f) s))
+Case conversion may be inaccurate. Consider using '#align prime_spectrum.preimage_comap_zero_locus_aux PrimeSpectrum.preimage_comap_zeroLocus_auxₓ'. -/
 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 =
@@ -606,6 +886,7 @@ theorem preimage_comap_zeroLocus_aux (f : R →+* S) (s : Set R) :
   rfl
 #align prime_spectrum.preimage_comap_zero_locus_aux PrimeSpectrum.preimage_comap_zeroLocus_aux
 
+#print PrimeSpectrum.comap /-
 /-- The function between prime spectra of commutative rings induced by a ring homomorphism.
 This function is continuous. -/
 def comap (f : R →+* S) : C(PrimeSpectrum S, PrimeSpectrum R)
@@ -617,36 +898,69 @@ def comap (f : R →+* S) : C(PrimeSpectrum S, PrimeSpectrum R)
     rintro _ ⟨s, rfl⟩
     exact ⟨_, preimage_comap_zero_locus_aux f s⟩
 #align prime_spectrum.comap PrimeSpectrum.comap
+-/
 
 variable (f : R →+* S)
 
+/- warning: prime_spectrum.comap_as_ideal -> PrimeSpectrum.comap_asIdeal is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : CommRing.{u2} S] (f : RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) (y : PrimeSpectrum.{u2} S _inst_2), Eq.{succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PrimeSpectrum.asIdeal.{u1} R _inst_1 (coeFn.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (ContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (fun (_x : ContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) => (PrimeSpectrum.{u2} S _inst_2) -> (PrimeSpectrum.{u1} R _inst_1)) (ContinuousMap.hasCoeToFun.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (PrimeSpectrum.comap.{u1, u2} R S _inst_1 _inst_2 f) y)) (Ideal.comap.{u1, u2, max u1 u2} R S (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) (RingHom.ringHomClass.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) f (PrimeSpectrum.asIdeal.{u2} S _inst_2 y))
+but is expected to have type
+  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : CommRing.{u2} S] (f : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (y : PrimeSpectrum.{u2} S _inst_2), Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (PrimeSpectrum.asIdeal.{u1} R _inst_1 (FunLike.coe.{max (succ u1) (succ u2), succ u2, succ u1} (ContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (PrimeSpectrum.{u2} S _inst_2) (fun (_x : PrimeSpectrum.{u2} S _inst_2) => (fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : PrimeSpectrum.{u2} S _inst_2) => PrimeSpectrum.{u1} R _inst_1) _x) (ContinuousMapClass.toFunLike.{max u1 u2, u2, u1} (ContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1) (ContinuousMap.instContinuousMapClassContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1))) (PrimeSpectrum.comap.{u1, u2} R S _inst_1 _inst_2 f) y)) (Ideal.comap.{u1, u2, max u1 u2} R S (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (RingHom.instRingHomClassRingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) f (PrimeSpectrum.asIdeal.{u2} S _inst_2 y))
+Case conversion may be inaccurate. Consider using '#align prime_spectrum.comap_as_ideal PrimeSpectrum.comap_asIdealₓ'. -/
 @[simp]
 theorem comap_asIdeal (y : PrimeSpectrum S) : (comap f y).asIdeal = Ideal.comap f y.asIdeal :=
   rfl
 #align prime_spectrum.comap_as_ideal PrimeSpectrum.comap_asIdeal
 
+#print PrimeSpectrum.comap_id /-
 @[simp]
 theorem comap_id : comap (RingHom.id R) = ContinuousMap.id _ :=
   by
   ext
   rfl
 #align prime_spectrum.comap_id PrimeSpectrum.comap_id
+-/
 
+/- warning: prime_spectrum.comap_comp -> PrimeSpectrum.comap_comp is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : CommRing.{u2} S] {S' : Type.{u3}} [_inst_3 : CommRing.{u3} S'] (f : RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) (g : RingHom.{u2, u3} S S' (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2))) (NonAssocRing.toNonAssocSemiring.{u3} S' (Ring.toNonAssocRing.{u3} S' (CommRing.toRing.{u3} S' _inst_3)))), Eq.{max (succ u3) (succ u1)} (ContinuousMap.{u3, u1} (PrimeSpectrum.{u3} S' _inst_3) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u3} S' _inst_3) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (PrimeSpectrum.comap.{u1, u3} R S' _inst_1 _inst_3 (RingHom.comp.{u1, u2, u3} R S S' (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2))) (NonAssocRing.toNonAssocSemiring.{u3} S' (Ring.toNonAssocRing.{u3} S' (CommRing.toRing.{u3} S' _inst_3))) g f)) (ContinuousMap.comp.{u3, u2, u1} (PrimeSpectrum.{u3} S' _inst_3) (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u3} S' _inst_3) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1) (PrimeSpectrum.comap.{u1, u2} R S _inst_1 _inst_2 f) (PrimeSpectrum.comap.{u2, u3} S S' _inst_2 _inst_3 g))
+but is expected to have type
+  forall {R : Type.{u2}} {S : Type.{u3}} [_inst_1 : CommRing.{u2} R] [_inst_2 : CommRing.{u3} S] {S' : Type.{u1}} [_inst_3 : CommRing.{u1} S'] (f : RingHom.{u2, u3} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (g : RingHom.{u3, u1} S S' (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (Semiring.toNonAssocSemiring.{u1} S' (CommSemiring.toSemiring.{u1} S' (CommRing.toCommSemiring.{u1} S' _inst_3)))), Eq.{max (succ u2) (succ u1)} (ContinuousMap.{u1, u2} (PrimeSpectrum.{u1} S' _inst_3) (PrimeSpectrum.{u2} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} S' _inst_3) (PrimeSpectrum.zariskiTopology.{u2} R _inst_1)) (PrimeSpectrum.comap.{u2, u1} R S' _inst_1 _inst_3 (RingHom.comp.{u2, u3, u1} R S S' (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (Semiring.toNonAssocSemiring.{u1} S' (CommSemiring.toSemiring.{u1} S' (CommRing.toCommSemiring.{u1} S' _inst_3))) g f)) (ContinuousMap.comp.{u1, u3, u2} (PrimeSpectrum.{u1} S' _inst_3) (PrimeSpectrum.{u3} S _inst_2) (PrimeSpectrum.{u2} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} S' _inst_3) (PrimeSpectrum.zariskiTopology.{u3} S _inst_2) (PrimeSpectrum.zariskiTopology.{u2} R _inst_1) (PrimeSpectrum.comap.{u2, u3} R S _inst_1 _inst_2 f) (PrimeSpectrum.comap.{u3, u1} S S' _inst_2 _inst_3 g))
+Case conversion may be inaccurate. Consider using '#align prime_spectrum.comap_comp PrimeSpectrum.comap_compₓ'. -/
 @[simp]
 theorem comap_comp (f : R →+* S) (g : S →+* S') : comap (g.comp f) = (comap f).comp (comap g) :=
   rfl
 #align prime_spectrum.comap_comp PrimeSpectrum.comap_comp
 
+/- warning: prime_spectrum.comap_comp_apply -> PrimeSpectrum.comap_comp_apply is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : CommRing.{u2} S] {S' : Type.{u3}} [_inst_3 : CommRing.{u3} S'] (f : RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) (g : RingHom.{u2, u3} S S' (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2))) (NonAssocRing.toNonAssocSemiring.{u3} S' (Ring.toNonAssocRing.{u3} S' (CommRing.toRing.{u3} S' _inst_3)))) (x : PrimeSpectrum.{u3} S' _inst_3), Eq.{succ u1} (PrimeSpectrum.{u1} R _inst_1) (coeFn.{max (succ u3) (succ u1), max (succ u3) (succ u1)} (ContinuousMap.{u3, u1} (PrimeSpectrum.{u3} S' _inst_3) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u3} S' _inst_3) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (fun (_x : ContinuousMap.{u3, u1} (PrimeSpectrum.{u3} S' _inst_3) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u3} S' _inst_3) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) => (PrimeSpectrum.{u3} S' _inst_3) -> (PrimeSpectrum.{u1} R _inst_1)) (ContinuousMap.hasCoeToFun.{u3, u1} (PrimeSpectrum.{u3} S' _inst_3) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u3} S' _inst_3) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (PrimeSpectrum.comap.{u1, u3} R S' _inst_1 _inst_3 (RingHom.comp.{u1, u2, u3} R S S' (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2))) (NonAssocRing.toNonAssocSemiring.{u3} S' (Ring.toNonAssocRing.{u3} S' (CommRing.toRing.{u3} S' _inst_3))) g f)) x) (coeFn.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (ContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (fun (_x : ContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) => (PrimeSpectrum.{u2} S _inst_2) -> (PrimeSpectrum.{u1} R _inst_1)) (ContinuousMap.hasCoeToFun.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (PrimeSpectrum.comap.{u1, u2} R S _inst_1 _inst_2 f) (coeFn.{max (succ u3) (succ u2), max (succ u3) (succ u2)} (ContinuousMap.{u3, u2} (PrimeSpectrum.{u3} S' _inst_3) (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u3} S' _inst_3) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2)) (fun (_x : ContinuousMap.{u3, u2} (PrimeSpectrum.{u3} S' _inst_3) (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u3} S' _inst_3) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2)) => (PrimeSpectrum.{u3} S' _inst_3) -> (PrimeSpectrum.{u2} S _inst_2)) (ContinuousMap.hasCoeToFun.{u3, u2} (PrimeSpectrum.{u3} S' _inst_3) (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u3} S' _inst_3) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2)) (PrimeSpectrum.comap.{u2, u3} S S' _inst_2 _inst_3 g) x))
+but is expected to have type
+  forall {R : Type.{u2}} {S : Type.{u3}} [_inst_1 : CommRing.{u2} R] [_inst_2 : CommRing.{u3} S] {S' : Type.{u1}} [_inst_3 : CommRing.{u1} S'] (f : RingHom.{u2, u3} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (g : RingHom.{u3, u1} S S' (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (Semiring.toNonAssocSemiring.{u1} S' (CommSemiring.toSemiring.{u1} S' (CommRing.toCommSemiring.{u1} S' _inst_3)))) (x : PrimeSpectrum.{u1} S' _inst_3), Eq.{succ u2} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : PrimeSpectrum.{u1} S' _inst_3) => PrimeSpectrum.{u2} R _inst_1) x) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (ContinuousMap.{u1, u2} (PrimeSpectrum.{u1} S' _inst_3) (PrimeSpectrum.{u2} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} S' _inst_3) (PrimeSpectrum.zariskiTopology.{u2} R _inst_1)) (PrimeSpectrum.{u1} S' _inst_3) (fun (_x : PrimeSpectrum.{u1} S' _inst_3) => (fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : PrimeSpectrum.{u1} S' _inst_3) => PrimeSpectrum.{u2} R _inst_1) _x) (ContinuousMapClass.toFunLike.{max u2 u1, u1, u2} (ContinuousMap.{u1, u2} (PrimeSpectrum.{u1} S' _inst_3) (PrimeSpectrum.{u2} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} S' _inst_3) (PrimeSpectrum.zariskiTopology.{u2} R _inst_1)) (PrimeSpectrum.{u1} S' _inst_3) (PrimeSpectrum.{u2} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} S' _inst_3) (PrimeSpectrum.zariskiTopology.{u2} R _inst_1) (ContinuousMap.instContinuousMapClassContinuousMap.{u1, u2} (PrimeSpectrum.{u1} S' _inst_3) (PrimeSpectrum.{u2} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} S' _inst_3) (PrimeSpectrum.zariskiTopology.{u2} R _inst_1))) (PrimeSpectrum.comap.{u2, u1} R S' _inst_1 _inst_3 (RingHom.comp.{u2, u3, u1} R S S' (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (Semiring.toNonAssocSemiring.{u1} S' (CommSemiring.toSemiring.{u1} S' (CommRing.toCommSemiring.{u1} S' _inst_3))) g f)) x) (FunLike.coe.{max (succ u2) (succ u3), succ u3, succ u2} (ContinuousMap.{u3, u2} (PrimeSpectrum.{u3} S _inst_2) (PrimeSpectrum.{u2} R _inst_1) (PrimeSpectrum.zariskiTopology.{u3} S _inst_2) (PrimeSpectrum.zariskiTopology.{u2} R _inst_1)) (PrimeSpectrum.{u3} S _inst_2) (fun (_x : PrimeSpectrum.{u3} S _inst_2) => (fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : PrimeSpectrum.{u3} S _inst_2) => PrimeSpectrum.{u2} R _inst_1) _x) (ContinuousMapClass.toFunLike.{max u2 u3, u3, u2} (ContinuousMap.{u3, u2} (PrimeSpectrum.{u3} S _inst_2) (PrimeSpectrum.{u2} R _inst_1) (PrimeSpectrum.zariskiTopology.{u3} S _inst_2) (PrimeSpectrum.zariskiTopology.{u2} R _inst_1)) (PrimeSpectrum.{u3} S _inst_2) (PrimeSpectrum.{u2} R _inst_1) (PrimeSpectrum.zariskiTopology.{u3} S _inst_2) (PrimeSpectrum.zariskiTopology.{u2} R _inst_1) (ContinuousMap.instContinuousMapClassContinuousMap.{u3, u2} (PrimeSpectrum.{u3} S _inst_2) (PrimeSpectrum.{u2} R _inst_1) (PrimeSpectrum.zariskiTopology.{u3} S _inst_2) (PrimeSpectrum.zariskiTopology.{u2} R _inst_1))) (PrimeSpectrum.comap.{u2, u3} R S _inst_1 _inst_2 f) (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (ContinuousMap.{u1, u3} (PrimeSpectrum.{u1} S' _inst_3) (PrimeSpectrum.{u3} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} S' _inst_3) (PrimeSpectrum.zariskiTopology.{u3} S _inst_2)) (PrimeSpectrum.{u1} S' _inst_3) (fun (_x : PrimeSpectrum.{u1} S' _inst_3) => (fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : PrimeSpectrum.{u1} S' _inst_3) => PrimeSpectrum.{u3} S _inst_2) _x) (ContinuousMapClass.toFunLike.{max u3 u1, u1, u3} (ContinuousMap.{u1, u3} (PrimeSpectrum.{u1} S' _inst_3) (PrimeSpectrum.{u3} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} S' _inst_3) (PrimeSpectrum.zariskiTopology.{u3} S _inst_2)) (PrimeSpectrum.{u1} S' _inst_3) (PrimeSpectrum.{u3} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} S' _inst_3) (PrimeSpectrum.zariskiTopology.{u3} S _inst_2) (ContinuousMap.instContinuousMapClassContinuousMap.{u1, u3} (PrimeSpectrum.{u1} S' _inst_3) (PrimeSpectrum.{u3} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} S' _inst_3) (PrimeSpectrum.zariskiTopology.{u3} S _inst_2))) (PrimeSpectrum.comap.{u3, u1} S S' _inst_2 _inst_3 g) x))
+Case conversion may be inaccurate. Consider using '#align prime_spectrum.comap_comp_apply PrimeSpectrum.comap_comp_applyₓ'. -/
 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) :=
   rfl
 #align prime_spectrum.comap_comp_apply PrimeSpectrum.comap_comp_apply
 
+/- warning: prime_spectrum.preimage_comap_zero_locus -> PrimeSpectrum.preimage_comap_zeroLocus is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : CommRing.{u2} S] (f : RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) (s : Set.{u1} R), Eq.{succ u2} (Set.{u2} (PrimeSpectrum.{u2} S _inst_2)) (Set.preimage.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (coeFn.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (ContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (fun (_x : ContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) => (PrimeSpectrum.{u2} S _inst_2) -> (PrimeSpectrum.{u1} R _inst_1)) (ContinuousMap.hasCoeToFun.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (PrimeSpectrum.comap.{u1, u2} R S _inst_1 _inst_2 f)) (PrimeSpectrum.zeroLocus.{u1} R _inst_1 s)) (PrimeSpectrum.zeroLocus.{u2} S _inst_2 (Set.image.{u1, u2} R S (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) (fun (_x : RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) => R -> S) (RingHom.hasCoeToFun.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) f) s))
+but is expected to have type
+  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : CommRing.{u2} S] (f : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (s : Set.{u1} R), Eq.{succ u2} (Set.{u2} (PrimeSpectrum.{u2} S _inst_2)) (Set.preimage.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (FunLike.coe.{max (succ u1) (succ u2), succ u2, succ u1} (ContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (PrimeSpectrum.{u2} S _inst_2) (fun (_x : PrimeSpectrum.{u2} S _inst_2) => (fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : PrimeSpectrum.{u2} S _inst_2) => PrimeSpectrum.{u1} R _inst_1) _x) (ContinuousMapClass.toFunLike.{max u1 u2, u2, u1} (ContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1) (ContinuousMap.instContinuousMapClassContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1))) (PrimeSpectrum.comap.{u1, u2} R S _inst_1 _inst_2 f)) (PrimeSpectrum.zeroLocus.{u1} R _inst_1 s)) (PrimeSpectrum.zeroLocus.{u2} S _inst_2 (Set.image.{u1, u2} R S (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) R S (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (NonUnitalNonAssocSemiring.toMul.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (RingHom.instRingHomClassRingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))))) f) s))
+Case conversion may be inaccurate. Consider using '#align prime_spectrum.preimage_comap_zero_locus PrimeSpectrum.preimage_comap_zeroLocusₓ'. -/
 @[simp]
 theorem preimage_comap_zeroLocus (s : Set R) : comap f ⁻¹' zeroLocus s = zeroLocus (f '' s) :=
   preimage_comap_zeroLocus_aux f s
 #align prime_spectrum.preimage_comap_zero_locus PrimeSpectrum.preimage_comap_zeroLocus
 
+/- warning: prime_spectrum.comap_injective_of_surjective -> PrimeSpectrum.comap_injective_of_surjective is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : CommRing.{u2} S] (f : RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))), (Function.Surjective.{succ u1, succ u2} R S (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) (fun (_x : RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) => R -> S) (RingHom.hasCoeToFun.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) f)) -> (Function.Injective.{succ u2, succ u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (coeFn.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (ContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (fun (_x : ContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) => (PrimeSpectrum.{u2} S _inst_2) -> (PrimeSpectrum.{u1} R _inst_1)) (ContinuousMap.hasCoeToFun.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (PrimeSpectrum.comap.{u1, u2} R S _inst_1 _inst_2 f)))
+but is expected to have type
+  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : CommRing.{u2} S] (f : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))), (Function.Surjective.{succ u1, succ u2} R S (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) R S (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (NonUnitalNonAssocSemiring.toMul.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (RingHom.instRingHomClassRingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))))) f)) -> (Function.Injective.{succ u2, succ u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (FunLike.coe.{max (succ u1) (succ u2), succ u2, succ u1} (ContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (PrimeSpectrum.{u2} S _inst_2) (fun (_x : PrimeSpectrum.{u2} S _inst_2) => (fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : PrimeSpectrum.{u2} S _inst_2) => PrimeSpectrum.{u1} R _inst_1) _x) (ContinuousMapClass.toFunLike.{max u1 u2, u2, u1} (ContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1) (ContinuousMap.instContinuousMapClassContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1))) (PrimeSpectrum.comap.{u1, u2} R S _inst_1 _inst_2 f)))
+Case conversion may be inaccurate. Consider using '#align prime_spectrum.comap_injective_of_surjective PrimeSpectrum.comap_injective_of_surjectiveₓ'. -/
 theorem comap_injective_of_surjective (f : R →+* S) (hf : Function.Surjective f) :
     Function.Injective (comap f) := fun x y h =>
   PrimeSpectrum.ext _ _
@@ -654,6 +968,12 @@ theorem comap_injective_of_surjective (f : R →+* S) (hf : Function.Surjective
       (congr_arg PrimeSpectrum.asIdeal h : (comap f x).asIdeal = (comap f y).asIdeal))
 #align prime_spectrum.comap_injective_of_surjective PrimeSpectrum.comap_injective_of_surjective
 
+/- warning: prime_spectrum.comap_singleton_is_closed_of_surjective -> PrimeSpectrum.comap_singleton_isClosed_of_surjective is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : CommRing.{u2} S] (f : RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))), (Function.Surjective.{succ u1, succ u2} R S (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) (fun (_x : RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) => R -> S) (RingHom.hasCoeToFun.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) f)) -> (forall (x : PrimeSpectrum.{u2} S _inst_2), (IsClosed.{u2} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (Singleton.singleton.{u2, u2} (PrimeSpectrum.{u2} S _inst_2) (Set.{u2} (PrimeSpectrum.{u2} S _inst_2)) (Set.hasSingleton.{u2} (PrimeSpectrum.{u2} S _inst_2)) x)) -> (IsClosed.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1) (Singleton.singleton.{u1, u1} (PrimeSpectrum.{u1} R _inst_1) (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (Set.hasSingleton.{u1} (PrimeSpectrum.{u1} R _inst_1)) (coeFn.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (ContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (fun (_x : ContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) => (PrimeSpectrum.{u2} S _inst_2) -> (PrimeSpectrum.{u1} R _inst_1)) (ContinuousMap.hasCoeToFun.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (PrimeSpectrum.comap.{u1, u2} R S _inst_1 _inst_2 f) x))))
+but is expected to have type
+  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : CommRing.{u2} S] (f : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))), (Function.Surjective.{succ u1, succ u2} R S (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) R S (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (NonUnitalNonAssocSemiring.toMul.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (RingHom.instRingHomClassRingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))))) f)) -> (forall (x : PrimeSpectrum.{u2} S _inst_2), (IsClosed.{u2} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (Singleton.singleton.{u2, u2} (PrimeSpectrum.{u2} S _inst_2) (Set.{u2} (PrimeSpectrum.{u2} S _inst_2)) (Set.instSingletonSet.{u2} (PrimeSpectrum.{u2} S _inst_2)) x)) -> (IsClosed.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1) (Singleton.singleton.{u1, u1} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : PrimeSpectrum.{u2} S _inst_2) => PrimeSpectrum.{u1} R _inst_1) x) (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (Set.instSingletonSet.{u1} (PrimeSpectrum.{u1} R _inst_1)) (FunLike.coe.{max (succ u1) (succ u2), succ u2, succ u1} (ContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (PrimeSpectrum.{u2} S _inst_2) (fun (_x : PrimeSpectrum.{u2} S _inst_2) => (fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : PrimeSpectrum.{u2} S _inst_2) => PrimeSpectrum.{u1} R _inst_1) _x) (ContinuousMapClass.toFunLike.{max u1 u2, u2, u1} (ContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1) (ContinuousMap.instContinuousMapClassContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1))) (PrimeSpectrum.comap.{u1, u2} R S _inst_1 _inst_2 f) x))))
+Case conversion may be inaccurate. Consider using '#align prime_spectrum.comap_singleton_is_closed_of_surjective PrimeSpectrum.comap_singleton_isClosed_of_surjectiveₓ'. -/
 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)) :=
@@ -661,6 +981,12 @@ theorem comap_singleton_isClosed_of_surjective (f : R →+* S) (hf : Function.Su
   (is_closed_singleton_iff_is_maximal _).2 (Ideal.comap_isMaximal_of_surjective f hf)
 #align prime_spectrum.comap_singleton_is_closed_of_surjective PrimeSpectrum.comap_singleton_isClosed_of_surjective
 
+/- warning: prime_spectrum.comap_singleton_is_closed_of_is_integral -> PrimeSpectrum.comap_singleton_isClosed_of_isIntegral is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : CommRing.{u2} S] (f : RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))), (RingHom.IsIntegral.{u1, u2} R S _inst_1 (CommRing.toRing.{u2} S _inst_2) f) -> (forall (x : PrimeSpectrum.{u2} S _inst_2), (IsClosed.{u2} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (Singleton.singleton.{u2, u2} (PrimeSpectrum.{u2} S _inst_2) (Set.{u2} (PrimeSpectrum.{u2} S _inst_2)) (Set.hasSingleton.{u2} (PrimeSpectrum.{u2} S _inst_2)) x)) -> (IsClosed.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1) (Singleton.singleton.{u1, u1} (PrimeSpectrum.{u1} R _inst_1) (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (Set.hasSingleton.{u1} (PrimeSpectrum.{u1} R _inst_1)) (coeFn.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (ContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (fun (_x : ContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) => (PrimeSpectrum.{u2} S _inst_2) -> (PrimeSpectrum.{u1} R _inst_1)) (ContinuousMap.hasCoeToFun.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (PrimeSpectrum.comap.{u1, u2} R S _inst_1 _inst_2 f) x))))
+but is expected to have type
+  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : CommRing.{u2} S] (f : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))), (RingHom.IsIntegral.{u1, u2} R S _inst_1 (CommRing.toRing.{u2} S _inst_2) f) -> (forall (x : PrimeSpectrum.{u2} S _inst_2), (IsClosed.{u2} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (Singleton.singleton.{u2, u2} (PrimeSpectrum.{u2} S _inst_2) (Set.{u2} (PrimeSpectrum.{u2} S _inst_2)) (Set.instSingletonSet.{u2} (PrimeSpectrum.{u2} S _inst_2)) x)) -> (IsClosed.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1) (Singleton.singleton.{u1, u1} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : PrimeSpectrum.{u2} S _inst_2) => PrimeSpectrum.{u1} R _inst_1) x) (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (Set.instSingletonSet.{u1} (PrimeSpectrum.{u1} R _inst_1)) (FunLike.coe.{max (succ u1) (succ u2), succ u2, succ u1} (ContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (PrimeSpectrum.{u2} S _inst_2) (fun (_x : PrimeSpectrum.{u2} S _inst_2) => (fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : PrimeSpectrum.{u2} S _inst_2) => PrimeSpectrum.{u1} R _inst_1) _x) (ContinuousMapClass.toFunLike.{max u1 u2, u2, u1} (ContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1) (ContinuousMap.instContinuousMapClassContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1))) (PrimeSpectrum.comap.{u1, u2} R S _inst_1 _inst_2 f) x))))
+Case conversion may be inaccurate. Consider using '#align prime_spectrum.comap_singleton_is_closed_of_is_integral PrimeSpectrum.comap_singleton_isClosed_of_isIntegralₓ'. -/
 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)) :=
@@ -671,6 +997,12 @@ theorem comap_singleton_isClosed_of_isIntegral (f : R →+* S) (hf : f.IsIntegra
 
 variable (S)
 
+/- warning: prime_spectrum.localization_comap_inducing -> PrimeSpectrum.localization_comap_inducing is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} (S : Type.{u2}) [_inst_1 : CommRing.{u1} R] [_inst_2 : CommRing.{u2} S] [_inst_4 : Algebra.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))] (M : Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) [_inst_5 : IsLocalization.{u1, u2} R (CommRing.toCommSemiring.{u1} R _inst_1) M S (CommRing.toCommSemiring.{u2} S _inst_2) _inst_4], Inducing.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1) (coeFn.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (ContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (fun (_x : ContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) => (PrimeSpectrum.{u2} S _inst_2) -> (PrimeSpectrum.{u1} R _inst_1)) (ContinuousMap.hasCoeToFun.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (PrimeSpectrum.comap.{u1, u2} R S _inst_1 _inst_2 (algebraMap.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) _inst_4)))
+but is expected to have type
+  forall {R : Type.{u1}} (S : Type.{u2}) [_inst_1 : CommRing.{u1} R] [_inst_2 : CommRing.{u2} S] [_inst_4 : Algebra.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))] (M : Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) [_inst_5 : IsLocalization.{u1, u2} R (CommRing.toCommSemiring.{u1} R _inst_1) M S (CommRing.toCommSemiring.{u2} S _inst_2) _inst_4], Inducing.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1) (FunLike.coe.{max (succ u1) (succ u2), succ u2, succ u1} (ContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (PrimeSpectrum.{u2} S _inst_2) (fun (_x : PrimeSpectrum.{u2} S _inst_2) => (fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : PrimeSpectrum.{u2} S _inst_2) => PrimeSpectrum.{u1} R _inst_1) _x) (ContinuousMapClass.toFunLike.{max u1 u2, u2, u1} (ContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1) (ContinuousMap.instContinuousMapClassContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1))) (PrimeSpectrum.comap.{u1, u2} R S _inst_1 _inst_2 (algebraMap.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) _inst_4)))
+Case conversion may be inaccurate. Consider using '#align prime_spectrum.localization_comap_inducing PrimeSpectrum.localization_comap_inducingₓ'. -/
 theorem localization_comap_inducing [Algebra R S] (M : Submonoid R) [IsLocalization M S] :
     Inducing (comap (algebraMap R S)) := by
   constructor
@@ -689,6 +1021,12 @@ theorem localization_comap_inducing [Algebra R S] (M : Submonoid R) [IsLocalizat
     simp
 #align prime_spectrum.localization_comap_inducing PrimeSpectrum.localization_comap_inducing
 
+/- warning: prime_spectrum.localization_comap_injective -> PrimeSpectrum.localization_comap_injective is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} (S : Type.{u2}) [_inst_1 : CommRing.{u1} R] [_inst_2 : CommRing.{u2} S] [_inst_4 : Algebra.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))] (M : Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) [_inst_5 : IsLocalization.{u1, u2} R (CommRing.toCommSemiring.{u1} R _inst_1) M S (CommRing.toCommSemiring.{u2} S _inst_2) _inst_4], Function.Injective.{succ u2, succ u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (coeFn.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (ContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (fun (_x : ContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) => (PrimeSpectrum.{u2} S _inst_2) -> (PrimeSpectrum.{u1} R _inst_1)) (ContinuousMap.hasCoeToFun.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (PrimeSpectrum.comap.{u1, u2} R S _inst_1 _inst_2 (algebraMap.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) _inst_4)))
+but is expected to have type
+  forall {R : Type.{u1}} (S : Type.{u2}) [_inst_1 : CommRing.{u1} R] [_inst_2 : CommRing.{u2} S] [_inst_4 : Algebra.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))] (M : Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) [_inst_5 : IsLocalization.{u1, u2} R (CommRing.toCommSemiring.{u1} R _inst_1) M S (CommRing.toCommSemiring.{u2} S _inst_2) _inst_4], Function.Injective.{succ u2, succ u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (FunLike.coe.{max (succ u1) (succ u2), succ u2, succ u1} (ContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (PrimeSpectrum.{u2} S _inst_2) (fun (_x : PrimeSpectrum.{u2} S _inst_2) => (fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : PrimeSpectrum.{u2} S _inst_2) => PrimeSpectrum.{u1} R _inst_1) _x) (ContinuousMapClass.toFunLike.{max u1 u2, u2, u1} (ContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1) (ContinuousMap.instContinuousMapClassContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1))) (PrimeSpectrum.comap.{u1, u2} R S _inst_1 _inst_2 (algebraMap.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) _inst_4)))
+Case conversion may be inaccurate. Consider using '#align prime_spectrum.localization_comap_injective PrimeSpectrum.localization_comap_injectiveₓ'. -/
 theorem localization_comap_injective [Algebra R S] (M : Submonoid R) [IsLocalization M S] :
     Function.Injective (comap (algebraMap R S)) :=
   by
@@ -700,11 +1038,23 @@ theorem localization_comap_injective [Algebra R S] (M : Submonoid R) [IsLocaliza
   exact h
 #align prime_spectrum.localization_comap_injective PrimeSpectrum.localization_comap_injective
 
+/- warning: prime_spectrum.localization_comap_embedding -> PrimeSpectrum.localization_comap_embedding is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} (S : Type.{u2}) [_inst_1 : CommRing.{u1} R] [_inst_2 : CommRing.{u2} S] [_inst_4 : Algebra.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))] (M : Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) [_inst_5 : IsLocalization.{u1, u2} R (CommRing.toCommSemiring.{u1} R _inst_1) M S (CommRing.toCommSemiring.{u2} S _inst_2) _inst_4], Embedding.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1) (coeFn.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (ContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (fun (_x : ContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) => (PrimeSpectrum.{u2} S _inst_2) -> (PrimeSpectrum.{u1} R _inst_1)) (ContinuousMap.hasCoeToFun.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (PrimeSpectrum.comap.{u1, u2} R S _inst_1 _inst_2 (algebraMap.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) _inst_4)))
+but is expected to have type
+  forall {R : Type.{u1}} (S : Type.{u2}) [_inst_1 : CommRing.{u1} R] [_inst_2 : CommRing.{u2} S] [_inst_4 : Algebra.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))] (M : Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) [_inst_5 : IsLocalization.{u1, u2} R (CommRing.toCommSemiring.{u1} R _inst_1) M S (CommRing.toCommSemiring.{u2} S _inst_2) _inst_4], Embedding.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1) (FunLike.coe.{max (succ u1) (succ u2), succ u2, succ u1} (ContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (PrimeSpectrum.{u2} S _inst_2) (fun (_x : PrimeSpectrum.{u2} S _inst_2) => (fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : PrimeSpectrum.{u2} S _inst_2) => PrimeSpectrum.{u1} R _inst_1) _x) (ContinuousMapClass.toFunLike.{max u1 u2, u2, u1} (ContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1) (ContinuousMap.instContinuousMapClassContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1))) (PrimeSpectrum.comap.{u1, u2} R S _inst_1 _inst_2 (algebraMap.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) _inst_4)))
+Case conversion may be inaccurate. Consider using '#align prime_spectrum.localization_comap_embedding PrimeSpectrum.localization_comap_embeddingₓ'. -/
 theorem localization_comap_embedding [Algebra R S] (M : Submonoid R) [IsLocalization M S] :
     Embedding (comap (algebraMap R S)) :=
   ⟨localization_comap_inducing S M, localization_comap_injective S M⟩
 #align prime_spectrum.localization_comap_embedding PrimeSpectrum.localization_comap_embedding
 
+/- warning: prime_spectrum.localization_comap_range -> PrimeSpectrum.localization_comap_range is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} (S : Type.{u2}) [_inst_1 : CommRing.{u1} R] [_inst_2 : CommRing.{u2} S] [_inst_4 : Algebra.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))] (M : Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) [_inst_5 : IsLocalization.{u1, u2} R (CommRing.toCommSemiring.{u1} R _inst_1) M S (CommRing.toCommSemiring.{u2} S _inst_2) _inst_4], Eq.{succ u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (Set.range.{u1, succ u2} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.{u2} S _inst_2) (coeFn.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (ContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (fun (_x : ContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) => (PrimeSpectrum.{u2} S _inst_2) -> (PrimeSpectrum.{u1} R _inst_1)) (ContinuousMap.hasCoeToFun.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (PrimeSpectrum.comap.{u1, u2} R S _inst_1 _inst_2 (algebraMap.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) _inst_4)))) (setOf.{u1} (PrimeSpectrum.{u1} R _inst_1) (fun (p : PrimeSpectrum.{u1} R _inst_1) => Disjoint.{u1} (Set.{u1} R) (CompleteSemilatticeInf.toPartialOrder.{u1} (Set.{u1} R) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Set.{u1} R) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} R) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} R) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} R) (Set.completeBooleanAlgebra.{u1} R)))))) (GeneralizedBooleanAlgebra.toOrderBot.{u1} (Set.{u1} R) (BooleanAlgebra.toGeneralizedBooleanAlgebra.{u1} (Set.{u1} R) (Set.booleanAlgebra.{u1} R))) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (Set.{u1} R) (HasLiftT.mk.{succ u1, succ u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (Set.{u1} R) (CoeTCₓ.coe.{succ u1, succ u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (Set.{u1} R) (SetLike.Set.hasCoeT.{u1, u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) R (Submonoid.setLike.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))))))) M) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Set.{u1} R) (HasLiftT.mk.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Set.{u1} R) (CoeTCₓ.coe.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Set.{u1} R) (SetLike.Set.hasCoeT.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) (PrimeSpectrum.asIdeal.{u1} R _inst_1 p))))
+but is expected to have type
+  forall {R : Type.{u1}} (S : Type.{u2}) [_inst_1 : CommRing.{u1} R] [_inst_2 : CommRing.{u2} S] [_inst_4 : Algebra.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))] (M : Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) [_inst_5 : IsLocalization.{u1, u2} R (CommRing.toCommSemiring.{u1} R _inst_1) M S (CommRing.toCommSemiring.{u2} S _inst_2) _inst_4], Eq.{succ u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (Set.range.{u1, succ u2} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.{u2} S _inst_2) (FunLike.coe.{max (succ u1) (succ u2), succ u2, succ u1} (ContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (PrimeSpectrum.{u2} S _inst_2) (fun (_x : PrimeSpectrum.{u2} S _inst_2) => (fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : PrimeSpectrum.{u2} S _inst_2) => PrimeSpectrum.{u1} R _inst_1) _x) (ContinuousMapClass.toFunLike.{max u1 u2, u2, u1} (ContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1) (ContinuousMap.instContinuousMapClassContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1))) (PrimeSpectrum.comap.{u1, u2} R S _inst_1 _inst_2 (algebraMap.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) _inst_4)))) (setOf.{u1} (PrimeSpectrum.{u1} R _inst_1) (fun (p : PrimeSpectrum.{u1} R _inst_1) => Disjoint.{u1} (Set.{u1} R) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Set.{u1} R) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Set.{u1} R) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} R) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} R) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} R) (Set.instCompleteBooleanAlgebraSet.{u1} R)))))) (BoundedOrder.toOrderBot.{u1} (Set.{u1} R) (Preorder.toLE.{u1} (Set.{u1} R) (PartialOrder.toPreorder.{u1} (Set.{u1} R) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Set.{u1} R) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Set.{u1} R) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} R) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} R) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} R) (Set.instCompleteBooleanAlgebraSet.{u1} R)))))))) (CompleteLattice.toBoundedOrder.{u1} (Set.{u1} R) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} R) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} R) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} R) (Set.instCompleteBooleanAlgebraSet.{u1} R)))))) (SetLike.coe.{u1, u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) R (Submonoid.instSetLikeSubmonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) M) (SetLike.coe.{u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) R (Submodule.setLike.{u1, u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (PrimeSpectrum.asIdeal.{u1} R _inst_1 p))))
+Case conversion may be inaccurate. Consider using '#align prime_spectrum.localization_comap_range PrimeSpectrum.localization_comap_rangeₓ'. -/
 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 } :=
   by
@@ -726,6 +1076,12 @@ section SpecOfSurjective
 
 open Function RingHom
 
+/- warning: prime_spectrum.comap_inducing_of_surjective -> PrimeSpectrum.comap_inducing_of_surjective is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} (S : Type.{u2}) [_inst_1 : CommRing.{u1} R] [_inst_2 : CommRing.{u2} S] (f : RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))), (Function.Surjective.{succ u1, succ u2} R S (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) (fun (_x : RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) => R -> S) (RingHom.hasCoeToFun.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) f)) -> (Inducing.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1) (coeFn.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (ContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (fun (_x : ContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) => (PrimeSpectrum.{u2} S _inst_2) -> (PrimeSpectrum.{u1} R _inst_1)) (ContinuousMap.hasCoeToFun.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (PrimeSpectrum.comap.{u1, u2} R S _inst_1 _inst_2 f)))
+but is expected to have type
+  forall {R : Type.{u1}} (S : Type.{u2}) [_inst_1 : CommRing.{u1} R] [_inst_2 : CommRing.{u2} S] (f : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))), (Function.Surjective.{succ u1, succ u2} R S (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) R S (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (NonUnitalNonAssocSemiring.toMul.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (RingHom.instRingHomClassRingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))))) f)) -> (Inducing.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1) (FunLike.coe.{max (succ u1) (succ u2), succ u2, succ u1} (ContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (PrimeSpectrum.{u2} S _inst_2) (fun (_x : PrimeSpectrum.{u2} S _inst_2) => (fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : PrimeSpectrum.{u2} S _inst_2) => PrimeSpectrum.{u1} R _inst_1) _x) (ContinuousMapClass.toFunLike.{max u1 u2, u2, u1} (ContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1) (ContinuousMap.instContinuousMapClassContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1))) (PrimeSpectrum.comap.{u1, u2} R S _inst_1 _inst_2 f)))
+Case conversion may be inaccurate. Consider using '#align prime_spectrum.comap_inducing_of_surjective PrimeSpectrum.comap_inducing_of_surjectiveₓ'. -/
 theorem comap_inducing_of_surjective (hf : Surjective f) : Inducing (comap f) :=
   {
     induced :=
@@ -741,6 +1097,12 @@ theorem comap_inducing_of_surjective (hf : Surjective f) : Inducing (comap f) :=
       exact ⟨f '' F, hF.symm.trans (preimage_comap_zero_locus f F)⟩ }
 #align prime_spectrum.comap_inducing_of_surjective PrimeSpectrum.comap_inducing_of_surjective
 
+/- warning: prime_spectrum.image_comap_zero_locus_eq_zero_locus_comap -> PrimeSpectrum.image_comap_zeroLocus_eq_zeroLocus_comap is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} (S : Type.{u2}) [_inst_1 : CommRing.{u1} R] [_inst_2 : CommRing.{u2} S] (f : RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))), (Function.Surjective.{succ u1, succ u2} R S (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) (fun (_x : RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) => R -> S) (RingHom.hasCoeToFun.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) f)) -> (forall (I : Ideal.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))), Eq.{succ u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (Set.image.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (coeFn.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (ContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (fun (_x : ContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) => (PrimeSpectrum.{u2} S _inst_2) -> (PrimeSpectrum.{u1} R _inst_1)) (ContinuousMap.hasCoeToFun.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (PrimeSpectrum.comap.{u1, u2} R S _inst_1 _inst_2 f)) (PrimeSpectrum.zeroLocus.{u2} S _inst_2 ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Ideal.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))) (Set.{u2} S) (HasLiftT.mk.{succ u2, succ u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))) (Set.{u2} S) (CoeTCₓ.coe.{succ u2, succ u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))) (Set.{u2} S) (SetLike.Set.hasCoeT.{u2, u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))) S (Submodule.setLike.{u2, u2} S S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))))) (Semiring.toModule.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))))))) I))) (PrimeSpectrum.zeroLocus.{u1} R _inst_1 ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Set.{u1} R) (HasLiftT.mk.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Set.{u1} R) (CoeTCₓ.coe.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Set.{u1} R) (SetLike.Set.hasCoeT.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) (Ideal.comap.{u1, u2, max u1 u2} R S (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) (RingHom.ringHomClass.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) f I))))
+but is expected to have type
+  forall {R : Type.{u1}} (S : Type.{u2}) [_inst_1 : CommRing.{u1} R] [_inst_2 : CommRing.{u2} S] (f : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))), (Function.Surjective.{succ u1, succ u2} R S (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) R S (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (NonUnitalNonAssocSemiring.toMul.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (RingHom.instRingHomClassRingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))))) f)) -> (forall (I : Ideal.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))), Eq.{succ u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (Set.image.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (FunLike.coe.{max (succ u1) (succ u2), succ u2, succ u1} (ContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (PrimeSpectrum.{u2} S _inst_2) (fun (_x : PrimeSpectrum.{u2} S _inst_2) => (fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : PrimeSpectrum.{u2} S _inst_2) => PrimeSpectrum.{u1} R _inst_1) _x) (ContinuousMapClass.toFunLike.{max u1 u2, u2, u1} (ContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1) (ContinuousMap.instContinuousMapClassContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1))) (PrimeSpectrum.comap.{u1, u2} R S _inst_1 _inst_2 f)) (PrimeSpectrum.zeroLocus.{u2} S _inst_2 (SetLike.coe.{u2, u2} (Ideal.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) S (Submodule.setLike.{u2, u2} S S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (Semiring.toModule.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) I))) (PrimeSpectrum.zeroLocus.{u1} R _inst_1 (SetLike.coe.{u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) R (Submodule.setLike.{u1, u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Ideal.comap.{u1, u2, max u1 u2} R S (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (RingHom.instRingHomClassRingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) f I))))
+Case conversion may be inaccurate. Consider using '#align prime_spectrum.image_comap_zero_locus_eq_zero_locus_comap PrimeSpectrum.image_comap_zeroLocus_eq_zeroLocus_comapₓ'. -/
 theorem image_comap_zeroLocus_eq_zeroLocus_comap (hf : Surjective f) (I : Ideal S) :
     comap f '' zeroLocus I = zeroLocus (I.comap f) :=
   by
@@ -762,6 +1124,12 @@ theorem image_comap_zeroLocus_eq_zeroLocus_comap (hf : Surjective f) (I : Ideal
       rwa [mem_ker, map_sub, sub_eq_zero]
 #align prime_spectrum.image_comap_zero_locus_eq_zero_locus_comap PrimeSpectrum.image_comap_zeroLocus_eq_zeroLocus_comap
 
+/- warning: prime_spectrum.range_comap_of_surjective -> PrimeSpectrum.range_comap_of_surjective is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} (S : Type.{u2}) [_inst_1 : CommRing.{u1} R] [_inst_2 : CommRing.{u2} S] (f : RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))), (Function.Surjective.{succ u1, succ u2} R S (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) (fun (_x : RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) => R -> S) (RingHom.hasCoeToFun.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) f)) -> (Eq.{succ u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (Set.range.{u1, succ u2} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.{u2} S _inst_2) (coeFn.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (ContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (fun (_x : ContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) => (PrimeSpectrum.{u2} S _inst_2) -> (PrimeSpectrum.{u1} R _inst_1)) (ContinuousMap.hasCoeToFun.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (PrimeSpectrum.comap.{u1, u2} R S _inst_1 _inst_2 f))) (PrimeSpectrum.zeroLocus.{u1} R _inst_1 ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Set.{u1} R) (HasLiftT.mk.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Set.{u1} R) (CoeTCₓ.coe.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Set.{u1} R) (SetLike.Set.hasCoeT.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} R S (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) (RingHom.ringHomClass.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) f))))
+but is expected to have type
+  forall {R : Type.{u1}} (S : Type.{u2}) [_inst_1 : CommRing.{u1} R] [_inst_2 : CommRing.{u2} S] (f : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))), (Function.Surjective.{succ u1, succ u2} R S (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) R S (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (NonUnitalNonAssocSemiring.toMul.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (RingHom.instRingHomClassRingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))))) f)) -> (Eq.{succ u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (Set.range.{u1, succ u2} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.{u2} S _inst_2) (FunLike.coe.{max (succ u1) (succ u2), succ u2, succ u1} (ContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (PrimeSpectrum.{u2} S _inst_2) (fun (_x : PrimeSpectrum.{u2} S _inst_2) => (fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : PrimeSpectrum.{u2} S _inst_2) => PrimeSpectrum.{u1} R _inst_1) _x) (ContinuousMapClass.toFunLike.{max u1 u2, u2, u1} (ContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1) (ContinuousMap.instContinuousMapClassContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1))) (PrimeSpectrum.comap.{u1, u2} R S _inst_1 _inst_2 f))) (PrimeSpectrum.zeroLocus.{u1} R _inst_1 (SetLike.coe.{u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) R (Submodule.setLike.{u1, u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (RingHom.ker.{u1, u2, max u1 u2} R S (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (RingHom.instRingHomClassRingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) f))))
+Case conversion may be inaccurate. Consider using '#align prime_spectrum.range_comap_of_surjective PrimeSpectrum.range_comap_of_surjectiveₓ'. -/
 theorem range_comap_of_surjective (hf : Surjective f) : Set.range (comap f) = zeroLocus (ker f) :=
   by
   rw [← Set.image_univ]
@@ -769,12 +1137,24 @@ theorem range_comap_of_surjective (hf : Surjective f) : Set.range (comap f) = ze
   rw [zero_locus_bot]
 #align prime_spectrum.range_comap_of_surjective PrimeSpectrum.range_comap_of_surjective
 
+/- warning: prime_spectrum.is_closed_range_comap_of_surjective -> PrimeSpectrum.isClosed_range_comap_of_surjective is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} (S : Type.{u2}) [_inst_1 : CommRing.{u1} R] [_inst_2 : CommRing.{u2} S] (f : RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))), (Function.Surjective.{succ u1, succ u2} R S (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) (fun (_x : RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) => R -> S) (RingHom.hasCoeToFun.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) f)) -> (IsClosed.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1) (Set.range.{u1, succ u2} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.{u2} S _inst_2) (coeFn.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (ContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (fun (_x : ContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) => (PrimeSpectrum.{u2} S _inst_2) -> (PrimeSpectrum.{u1} R _inst_1)) (ContinuousMap.hasCoeToFun.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (PrimeSpectrum.comap.{u1, u2} R S _inst_1 _inst_2 f))))
+but is expected to have type
+  forall {R : Type.{u1}} (S : Type.{u2}) [_inst_1 : CommRing.{u1} R] [_inst_2 : CommRing.{u2} S] (f : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))), (Function.Surjective.{succ u1, succ u2} R S (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) R S (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (NonUnitalNonAssocSemiring.toMul.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (RingHom.instRingHomClassRingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))))) f)) -> (IsClosed.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1) (Set.range.{u1, succ u2} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.{u2} S _inst_2) (FunLike.coe.{max (succ u1) (succ u2), succ u2, succ u1} (ContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (PrimeSpectrum.{u2} S _inst_2) (fun (_x : PrimeSpectrum.{u2} S _inst_2) => (fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : PrimeSpectrum.{u2} S _inst_2) => PrimeSpectrum.{u1} R _inst_1) _x) (ContinuousMapClass.toFunLike.{max u1 u2, u2, u1} (ContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1) (ContinuousMap.instContinuousMapClassContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1))) (PrimeSpectrum.comap.{u1, u2} R S _inst_1 _inst_2 f))))
+Case conversion may be inaccurate. Consider using '#align prime_spectrum.is_closed_range_comap_of_surjective PrimeSpectrum.isClosed_range_comap_of_surjectiveₓ'. -/
 theorem isClosed_range_comap_of_surjective (hf : Surjective f) : IsClosed (Set.range (comap f)) :=
   by
   rw [range_comap_of_surjective _ f hf]
   exact is_closed_zero_locus ↑(ker f)
 #align prime_spectrum.is_closed_range_comap_of_surjective PrimeSpectrum.isClosed_range_comap_of_surjective
 
+/- warning: prime_spectrum.closed_embedding_comap_of_surjective -> PrimeSpectrum.closedEmbedding_comap_of_surjective is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} (S : Type.{u2}) [_inst_1 : CommRing.{u1} R] [_inst_2 : CommRing.{u2} S] (f : RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))), (Function.Surjective.{succ u1, succ u2} R S (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) (fun (_x : RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) => R -> S) (RingHom.hasCoeToFun.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) f)) -> (ClosedEmbedding.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1) (coeFn.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (ContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (fun (_x : ContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) => (PrimeSpectrum.{u2} S _inst_2) -> (PrimeSpectrum.{u1} R _inst_1)) (ContinuousMap.hasCoeToFun.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (PrimeSpectrum.comap.{u1, u2} R S _inst_1 _inst_2 f)))
+but is expected to have type
+  forall {R : Type.{u1}} (S : Type.{u2}) [_inst_1 : CommRing.{u1} R] [_inst_2 : CommRing.{u2} S] (f : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))), (Function.Surjective.{succ u1, succ u2} R S (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) R S (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (NonUnitalNonAssocSemiring.toMul.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (RingHom.instRingHomClassRingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))))) f)) -> (ClosedEmbedding.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1) (FunLike.coe.{max (succ u1) (succ u2), succ u2, succ u1} (ContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (PrimeSpectrum.{u2} S _inst_2) (fun (_x : PrimeSpectrum.{u2} S _inst_2) => (fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : PrimeSpectrum.{u2} S _inst_2) => PrimeSpectrum.{u1} R _inst_1) _x) (ContinuousMapClass.toFunLike.{max u1 u2, u2, u1} (ContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1) (ContinuousMap.instContinuousMapClassContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_2) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_2) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1))) (PrimeSpectrum.comap.{u1, u2} R S _inst_1 _inst_2 f)))
+Case conversion may be inaccurate. Consider using '#align prime_spectrum.closed_embedding_comap_of_surjective PrimeSpectrum.closedEmbedding_comap_of_surjectiveₓ'. -/
 theorem closedEmbedding_comap_of_surjective (hf : Surjective f) : ClosedEmbedding (comap f) :=
   { induced := (comap_inducing_of_surjective S f hf).induced
     inj := comap_injective_of_surjective f hf
@@ -787,65 +1167,120 @@ end Comap
 
 section BasicOpen
 
+#print PrimeSpectrum.basicOpen /-
 /-- `basic_open r` is the open subset containing all prime ideals not containing `r`. -/
 def basicOpen (r : R) : TopologicalSpace.Opens (PrimeSpectrum R)
     where
   carrier := { x | r ∉ x.asIdeal }
   is_open' := ⟨{r}, Set.ext fun x => Set.singleton_subset_iff.trans <| Classical.not_not.symm⟩
 #align prime_spectrum.basic_open PrimeSpectrum.basicOpen
+-/
 
+#print PrimeSpectrum.mem_basicOpen /-
 @[simp]
 theorem mem_basicOpen (f : R) (x : PrimeSpectrum R) : x ∈ basicOpen f ↔ f ∉ x.asIdeal :=
   Iff.rfl
 #align prime_spectrum.mem_basic_open PrimeSpectrum.mem_basicOpen
+-/
 
+#print PrimeSpectrum.isOpen_basicOpen /-
 theorem isOpen_basicOpen {a : R} : IsOpen (basicOpen a : Set (PrimeSpectrum R)) :=
   (basicOpen a).IsOpen
 #align prime_spectrum.is_open_basic_open PrimeSpectrum.isOpen_basicOpen
+-/
 
+/- warning: prime_spectrum.basic_open_eq_zero_locus_compl -> PrimeSpectrum.basicOpen_eq_zeroLocus_compl is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] (r : R), Eq.{succ u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (TopologicalSpace.Opens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (HasLiftT.mk.{succ u1, succ u1} (TopologicalSpace.Opens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (CoeTCₓ.coe.{succ u1, succ u1} (TopologicalSpace.Opens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (SetLike.Set.hasCoeT.{u1, u1} (TopologicalSpace.Opens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (PrimeSpectrum.{u1} R _inst_1) (TopologicalSpace.Opens.setLike.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1))))) (PrimeSpectrum.basicOpen.{u1} R _inst_1 r)) (HasCompl.compl.{u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (BooleanAlgebra.toHasCompl.{u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (Set.booleanAlgebra.{u1} (PrimeSpectrum.{u1} R _inst_1))) (PrimeSpectrum.zeroLocus.{u1} R _inst_1 (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.hasSingleton.{u1} R) r)))
+but is expected to have type
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] (r : R), Eq.{succ u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (SetLike.coe.{u1, u1} (TopologicalSpace.Opens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (PrimeSpectrum.{u1} R _inst_1) (TopologicalSpace.Opens.instSetLikeOpens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (PrimeSpectrum.basicOpen.{u1} R _inst_1 r)) (HasCompl.compl.{u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (BooleanAlgebra.toHasCompl.{u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (Set.instBooleanAlgebraSet.{u1} (PrimeSpectrum.{u1} R _inst_1))) (PrimeSpectrum.zeroLocus.{u1} R _inst_1 (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.instSingletonSet.{u1} R) r)))
+Case conversion may be inaccurate. Consider using '#align prime_spectrum.basic_open_eq_zero_locus_compl PrimeSpectrum.basicOpen_eq_zeroLocus_complₓ'. -/
 @[simp]
 theorem basicOpen_eq_zeroLocus_compl (r : R) :
     (basicOpen r : Set (PrimeSpectrum R)) = zeroLocus {r}ᶜ :=
   Set.ext fun x => by simpa only [Set.mem_compl_iff, mem_zero_locus, Set.singleton_subset_iff]
 #align prime_spectrum.basic_open_eq_zero_locus_compl PrimeSpectrum.basicOpen_eq_zeroLocus_compl
 
+/- warning: prime_spectrum.basic_open_one -> PrimeSpectrum.basicOpen_one is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R], Eq.{succ u1} (TopologicalSpace.Opens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (PrimeSpectrum.basicOpen.{u1} R _inst_1 (OfNat.ofNat.{u1} R 1 (OfNat.mk.{u1} R 1 (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddGroupWithOne.toAddMonoidWithOne.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (CommRing.toRing.{u1} R _inst_1))))))))) (Top.top.{u1} (TopologicalSpace.Opens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (CompleteLattice.toHasTop.{u1} (TopologicalSpace.Opens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (TopologicalSpace.Opens.completeLattice.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1))))
+but is expected to have type
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R], Eq.{succ u1} (TopologicalSpace.Opens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (PrimeSpectrum.basicOpen.{u1} R _inst_1 (OfNat.ofNat.{u1} R 1 (One.toOfNat1.{u1} R (Semiring.toOne.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Top.top.{u1} (TopologicalSpace.Opens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (CompleteLattice.toTop.{u1} (TopologicalSpace.Opens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1))))
+Case conversion may be inaccurate. Consider using '#align prime_spectrum.basic_open_one PrimeSpectrum.basicOpen_oneₓ'. -/
 @[simp]
 theorem basicOpen_one : basicOpen (1 : R) = ⊤ :=
   TopologicalSpace.Opens.ext <| by simp
 #align prime_spectrum.basic_open_one PrimeSpectrum.basicOpen_one
 
+/- warning: prime_spectrum.basic_open_zero -> PrimeSpectrum.basicOpen_zero is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R], Eq.{succ u1} (TopologicalSpace.Opens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (PrimeSpectrum.basicOpen.{u1} R _inst_1 (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))))))) (Bot.bot.{u1} (TopologicalSpace.Opens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (CompleteLattice.toHasBot.{u1} (TopologicalSpace.Opens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (TopologicalSpace.Opens.completeLattice.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1))))
+but is expected to have type
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R], Eq.{succ u1} (TopologicalSpace.Opens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (PrimeSpectrum.basicOpen.{u1} R _inst_1 (OfNat.ofNat.{u1} R 0 (Zero.toOfNat0.{u1} R (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Bot.bot.{u1} (TopologicalSpace.Opens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (CompleteLattice.toBot.{u1} (TopologicalSpace.Opens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1))))
+Case conversion may be inaccurate. Consider using '#align prime_spectrum.basic_open_zero PrimeSpectrum.basicOpen_zeroₓ'. -/
 @[simp]
 theorem basicOpen_zero : basicOpen (0 : R) = ⊥ :=
   TopologicalSpace.Opens.ext <| by simp
 #align prime_spectrum.basic_open_zero PrimeSpectrum.basicOpen_zero
 
+/- warning: prime_spectrum.basic_open_le_basic_open_iff -> PrimeSpectrum.basicOpen_le_basicOpen_iff is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] (f : R) (g : R), Iff (LE.le.{u1} (TopologicalSpace.Opens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (Preorder.toHasLe.{u1} (TopologicalSpace.Opens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (PartialOrder.toPreorder.{u1} (TopologicalSpace.Opens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (SetLike.partialOrder.{u1, u1} (TopologicalSpace.Opens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (PrimeSpectrum.{u1} R _inst_1) (TopologicalSpace.Opens.setLike.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1))))) (PrimeSpectrum.basicOpen.{u1} R _inst_1 f) (PrimeSpectrum.basicOpen.{u1} R _inst_1 g)) (Membership.Mem.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (SetLike.hasMem.{u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) R (Submodule.setLike.{u1, u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) f (Ideal.radical.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.hasSingleton.{u1} R) g))))
+but is expected to have type
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] (f : R) (g : R), Iff (LE.le.{u1} (TopologicalSpace.Opens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (Preorder.toLE.{u1} (TopologicalSpace.Opens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (PartialOrder.toPreorder.{u1} (TopologicalSpace.Opens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (TopologicalSpace.Opens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (TopologicalSpace.Opens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)))))) (PrimeSpectrum.basicOpen.{u1} R _inst_1 f) (PrimeSpectrum.basicOpen.{u1} R _inst_1 g)) (Membership.mem.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) R (Submodule.setLike.{u1, u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) f (Ideal.radical.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.instSingletonSet.{u1} R) g))))
+Case conversion may be inaccurate. Consider using '#align prime_spectrum.basic_open_le_basic_open_iff PrimeSpectrum.basicOpen_le_basicOpen_iffₓ'. -/
 theorem basicOpen_le_basicOpen_iff (f g : R) :
     basicOpen f ≤ basicOpen g ↔ f ∈ (Ideal.span ({g} : Set R)).radical := by
   rw [← SetLike.coe_subset_coe, basic_open_eq_zero_locus_compl, basic_open_eq_zero_locus_compl,
     Set.compl_subset_compl, zero_locus_subset_zero_locus_singleton_iff]
 #align prime_spectrum.basic_open_le_basic_open_iff PrimeSpectrum.basicOpen_le_basicOpen_iff
 
+/- warning: prime_spectrum.basic_open_mul -> PrimeSpectrum.basicOpen_mul is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] (f : R) (g : R), Eq.{succ u1} (TopologicalSpace.Opens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (PrimeSpectrum.basicOpen.{u1} R _inst_1 (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R (CommRing.toRing.{u1} R _inst_1)))) f g)) (Inf.inf.{u1} (TopologicalSpace.Opens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (SemilatticeInf.toHasInf.{u1} (TopologicalSpace.Opens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (Lattice.toSemilatticeInf.{u1} (TopologicalSpace.Opens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (ConditionallyCompleteLattice.toLattice.{u1} (TopologicalSpace.Opens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.Opens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (TopologicalSpace.Opens.completeLattice.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)))))) (PrimeSpectrum.basicOpen.{u1} R _inst_1 f) (PrimeSpectrum.basicOpen.{u1} R _inst_1 g))
+but is expected to have type
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] (f : R) (g : R), Eq.{succ u1} (TopologicalSpace.Opens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (PrimeSpectrum.basicOpen.{u1} R _inst_1 (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (NonUnitalNonAssocRing.toMul.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) f g)) (Inf.inf.{u1} (TopologicalSpace.Opens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (Lattice.toInf.{u1} (TopologicalSpace.Opens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (ConditionallyCompleteLattice.toLattice.{u1} (TopologicalSpace.Opens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (CompleteLattice.toConditionallyCompleteLattice.{u1} (TopologicalSpace.Opens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1))))) (PrimeSpectrum.basicOpen.{u1} R _inst_1 f) (PrimeSpectrum.basicOpen.{u1} R _inst_1 g))
+Case conversion may be inaccurate. Consider using '#align prime_spectrum.basic_open_mul PrimeSpectrum.basicOpen_mulₓ'. -/
 theorem basicOpen_mul (f g : R) : basicOpen (f * g) = basicOpen f ⊓ basicOpen g :=
   TopologicalSpace.Opens.ext <| by simp [zero_locus_singleton_mul]
 #align prime_spectrum.basic_open_mul PrimeSpectrum.basicOpen_mul
 
+/- warning: prime_spectrum.basic_open_mul_le_left -> PrimeSpectrum.basicOpen_mul_le_left is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] (f : R) (g : R), LE.le.{u1} (TopologicalSpace.Opens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (Preorder.toHasLe.{u1} (TopologicalSpace.Opens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (PartialOrder.toPreorder.{u1} (TopologicalSpace.Opens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (SetLike.partialOrder.{u1, u1} (TopologicalSpace.Opens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (PrimeSpectrum.{u1} R _inst_1) (TopologicalSpace.Opens.setLike.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1))))) (PrimeSpectrum.basicOpen.{u1} R _inst_1 (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R (CommRing.toRing.{u1} R _inst_1)))) f g)) (PrimeSpectrum.basicOpen.{u1} R _inst_1 f)
+but is expected to have type
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] (f : R) (g : R), LE.le.{u1} (TopologicalSpace.Opens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (Preorder.toLE.{u1} (TopologicalSpace.Opens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (PartialOrder.toPreorder.{u1} (TopologicalSpace.Opens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (TopologicalSpace.Opens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (TopologicalSpace.Opens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)))))) (PrimeSpectrum.basicOpen.{u1} R _inst_1 (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (NonUnitalNonAssocRing.toMul.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) f g)) (PrimeSpectrum.basicOpen.{u1} R _inst_1 f)
+Case conversion may be inaccurate. Consider using '#align prime_spectrum.basic_open_mul_le_left PrimeSpectrum.basicOpen_mul_le_leftₓ'. -/
 theorem basicOpen_mul_le_left (f g : R) : basicOpen (f * g) ≤ basicOpen f :=
   by
   rw [basic_open_mul f g]
   exact inf_le_left
 #align prime_spectrum.basic_open_mul_le_left PrimeSpectrum.basicOpen_mul_le_left
 
+/- warning: prime_spectrum.basic_open_mul_le_right -> PrimeSpectrum.basicOpen_mul_le_right is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] (f : R) (g : R), LE.le.{u1} (TopologicalSpace.Opens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (Preorder.toHasLe.{u1} (TopologicalSpace.Opens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (PartialOrder.toPreorder.{u1} (TopologicalSpace.Opens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (SetLike.partialOrder.{u1, u1} (TopologicalSpace.Opens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (PrimeSpectrum.{u1} R _inst_1) (TopologicalSpace.Opens.setLike.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1))))) (PrimeSpectrum.basicOpen.{u1} R _inst_1 (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R (CommRing.toRing.{u1} R _inst_1)))) f g)) (PrimeSpectrum.basicOpen.{u1} R _inst_1 g)
+but is expected to have type
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] (f : R) (g : R), LE.le.{u1} (TopologicalSpace.Opens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (Preorder.toLE.{u1} (TopologicalSpace.Opens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (PartialOrder.toPreorder.{u1} (TopologicalSpace.Opens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (TopologicalSpace.Opens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (TopologicalSpace.Opens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)))))) (PrimeSpectrum.basicOpen.{u1} R _inst_1 (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (NonUnitalNonAssocRing.toMul.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) f g)) (PrimeSpectrum.basicOpen.{u1} R _inst_1 g)
+Case conversion may be inaccurate. Consider using '#align prime_spectrum.basic_open_mul_le_right PrimeSpectrum.basicOpen_mul_le_rightₓ'. -/
 theorem basicOpen_mul_le_right (f g : R) : basicOpen (f * g) ≤ basicOpen g :=
   by
   rw [basic_open_mul f g]
   exact inf_le_right
 #align prime_spectrum.basic_open_mul_le_right PrimeSpectrum.basicOpen_mul_le_right
 
+/- warning: prime_spectrum.basic_open_pow -> PrimeSpectrum.basicOpen_pow is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] (f : R) (n : Nat), (LT.lt.{0} Nat Nat.hasLt (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero))) n) -> (Eq.{succ u1} (TopologicalSpace.Opens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (PrimeSpectrum.basicOpen.{u1} R _inst_1 (HPow.hPow.{u1, 0, u1} R Nat R (instHPow.{u1, 0} R Nat (Monoid.Pow.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))) f n)) (PrimeSpectrum.basicOpen.{u1} R _inst_1 f))
+but is expected to have type
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] (f : R) (n : Nat), (LT.lt.{0} Nat instLTNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)) n) -> (Eq.{succ u1} (TopologicalSpace.Opens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (PrimeSpectrum.basicOpen.{u1} R _inst_1 (HPow.hPow.{u1, 0, u1} R Nat R (instHPow.{u1, 0} R Nat (Monoid.Pow.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) f n)) (PrimeSpectrum.basicOpen.{u1} R _inst_1 f))
+Case conversion may be inaccurate. Consider using '#align prime_spectrum.basic_open_pow PrimeSpectrum.basicOpen_powₓ'. -/
 @[simp]
 theorem basicOpen_pow (f : R) (n : ℕ) (hn : 0 < n) : basicOpen (f ^ n) = basicOpen f :=
   TopologicalSpace.Opens.ext <| by simpa using zero_locus_singleton_pow f n hn
 #align prime_spectrum.basic_open_pow PrimeSpectrum.basicOpen_pow
 
+#print PrimeSpectrum.isTopologicalBasis_basic_opens /-
 theorem isTopologicalBasis_basic_opens :
     TopologicalSpace.IsTopologicalBasis
       (Set.range fun r : R => (basicOpen r : Set (PrimeSpectrum R))) :=
@@ -860,14 +1295,18 @@ theorem isTopologicalBasis_basic_opens :
     rw [← Set.compl_subset_compl, ← hs, basic_open_eq_zero_locus_compl, compl_compl]
     exact zero_locus_anti_mono (set.singleton_subset_iff.mpr hfs)
 #align prime_spectrum.is_topological_basis_basic_opens PrimeSpectrum.isTopologicalBasis_basic_opens
+-/
 
+#print PrimeSpectrum.isBasis_basic_opens /-
 theorem isBasis_basic_opens : TopologicalSpace.Opens.IsBasis (Set.range (@basicOpen R _)) :=
   by
   unfold TopologicalSpace.Opens.IsBasis
   convert is_topological_basis_basic_opens
   rw [← Set.range_comp]
 #align prime_spectrum.is_basis_basic_opens PrimeSpectrum.isBasis_basic_opens
+-/
 
+#print PrimeSpectrum.isCompact_basicOpen /-
 theorem isCompact_basicOpen (f : R) : IsCompact (basicOpen f : Set (PrimeSpectrum R)) :=
   isCompact_of_finite_subfamily_closed fun ι Z hZc hZ =>
     by
@@ -892,7 +1331,14 @@ theorem isCompact_basicOpen (f : R) : IsCompact (basicOpen f : Set (PrimeSpectru
     rw [Set.singleton_subset_iff]
     exact ⟨n, hs⟩
 #align prime_spectrum.is_compact_basic_open PrimeSpectrum.isCompact_basicOpen
+-/
 
+/- warning: prime_spectrum.basic_open_eq_bot_iff -> PrimeSpectrum.basicOpen_eq_bot_iff is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] (f : R), Iff (Eq.{succ u1} (TopologicalSpace.Opens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (PrimeSpectrum.basicOpen.{u1} R _inst_1 f) (Bot.bot.{u1} (TopologicalSpace.Opens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (CompleteLattice.toHasBot.{u1} (TopologicalSpace.Opens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (TopologicalSpace.Opens.completeLattice.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1))))) (IsNilpotent.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (Monoid.Pow.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) f)
+but is expected to have type
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] (f : R), Iff (Eq.{succ u1} (TopologicalSpace.Opens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (PrimeSpectrum.basicOpen.{u1} R _inst_1 f) (Bot.bot.{u1} (TopologicalSpace.Opens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (CompleteLattice.toBot.{u1} (TopologicalSpace.Opens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1))))) (IsNilpotent.{u1} R (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Monoid.Pow.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) f)
+Case conversion may be inaccurate. Consider using '#align prime_spectrum.basic_open_eq_bot_iff PrimeSpectrum.basicOpen_eq_bot_iffₓ'. -/
 @[simp]
 theorem basicOpen_eq_bot_iff (f : R) : basicOpen f = ⊥ ↔ IsNilpotent f :=
   by
@@ -902,6 +1348,12 @@ theorem basicOpen_eq_bot_iff (f : R) : basicOpen f = ⊥ ↔ IsNilpotent f :=
   exact ⟨fun h I hI => h ⟨I, hI⟩, fun h ⟨I, hI⟩ => h I hI⟩
 #align prime_spectrum.basic_open_eq_bot_iff PrimeSpectrum.basicOpen_eq_bot_iff
 
+/- warning: prime_spectrum.localization_away_comap_range -> PrimeSpectrum.localization_away_comap_range is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] (S : Type.{u2}) [_inst_3 : CommRing.{u2} S] [_inst_4 : Algebra.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_3))] (r : R) [_inst_5 : IsLocalization.Away.{u1, u2} R (CommRing.toCommSemiring.{u1} R _inst_1) r S (CommRing.toCommSemiring.{u2} S _inst_3) _inst_4], Eq.{succ u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (Set.range.{u1, succ u2} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.{u2} S _inst_3) (coeFn.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (ContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_3) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_3) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (fun (_x : ContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_3) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_3) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) => (PrimeSpectrum.{u2} S _inst_3) -> (PrimeSpectrum.{u1} R _inst_1)) (ContinuousMap.hasCoeToFun.{u2, u1} (PrimeSpectrum.{u2} S _inst_3) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_3) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (PrimeSpectrum.comap.{u1, u2} R S _inst_1 _inst_3 (algebraMap.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_3)) _inst_4)))) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (TopologicalSpace.Opens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (HasLiftT.mk.{succ u1, succ u1} (TopologicalSpace.Opens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (CoeTCₓ.coe.{succ u1, succ u1} (TopologicalSpace.Opens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (SetLike.Set.hasCoeT.{u1, u1} (TopologicalSpace.Opens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (PrimeSpectrum.{u1} R _inst_1) (TopologicalSpace.Opens.setLike.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1))))) (PrimeSpectrum.basicOpen.{u1} R _inst_1 r))
+but is expected to have type
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] (S : Type.{u2}) [_inst_3 : CommRing.{u2} S] [_inst_4 : Algebra.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_3))] (r : R) [_inst_5 : IsLocalization.Away.{u1, u2} R (CommRing.toCommSemiring.{u1} R _inst_1) r S (CommRing.toCommSemiring.{u2} S _inst_3) _inst_4], Eq.{succ u1} (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (Set.range.{u1, succ u2} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.{u2} S _inst_3) (FunLike.coe.{max (succ u1) (succ u2), succ u2, succ u1} (ContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_3) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_3) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (PrimeSpectrum.{u2} S _inst_3) (fun (_x : PrimeSpectrum.{u2} S _inst_3) => (fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : PrimeSpectrum.{u2} S _inst_3) => PrimeSpectrum.{u1} R _inst_1) _x) (ContinuousMapClass.toFunLike.{max u1 u2, u2, u1} (ContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_3) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_3) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (PrimeSpectrum.{u2} S _inst_3) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_3) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1) (ContinuousMap.instContinuousMapClassContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_3) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_3) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1))) (PrimeSpectrum.comap.{u1, u2} R S _inst_1 _inst_3 (algebraMap.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_3)) _inst_4)))) (SetLike.coe.{u1, u1} (TopologicalSpace.Opens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (PrimeSpectrum.{u1} R _inst_1) (TopologicalSpace.Opens.instSetLikeOpens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (PrimeSpectrum.basicOpen.{u1} R _inst_1 r))
+Case conversion may be inaccurate. Consider using '#align prime_spectrum.localization_away_comap_range PrimeSpectrum.localization_away_comap_rangeₓ'. -/
 theorem localization_away_comap_range (S : Type v) [CommRing S] [Algebra R S] (r : R)
     [IsLocalization.Away r S] : Set.range (comap (algebraMap R S)) = basicOpen r :=
   by
@@ -916,6 +1368,12 @@ theorem localization_away_comap_range (S : Type v) [CommRing S] [Algebra R S] (r
     exact h₁ (x.2.mem_of_pow_mem _ h₃)
 #align prime_spectrum.localization_away_comap_range PrimeSpectrum.localization_away_comap_range
 
+/- warning: prime_spectrum.localization_away_open_embedding -> PrimeSpectrum.localization_away_openEmbedding is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] (S : Type.{u2}) [_inst_3 : CommRing.{u2} S] [_inst_4 : Algebra.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_3))] (r : R) [_inst_5 : IsLocalization.Away.{u1, u2} R (CommRing.toCommSemiring.{u1} R _inst_1) r S (CommRing.toCommSemiring.{u2} S _inst_3) _inst_4], OpenEmbedding.{u2, u1} (PrimeSpectrum.{u2} S _inst_3) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_3) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1) (coeFn.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (ContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_3) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_3) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (fun (_x : ContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_3) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_3) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) => (PrimeSpectrum.{u2} S _inst_3) -> (PrimeSpectrum.{u1} R _inst_1)) (ContinuousMap.hasCoeToFun.{u2, u1} (PrimeSpectrum.{u2} S _inst_3) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_3) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (PrimeSpectrum.comap.{u1, u2} R S _inst_1 _inst_3 (algebraMap.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_3)) _inst_4)))
+but is expected to have type
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] (S : Type.{u2}) [_inst_3 : CommRing.{u2} S] [_inst_4 : Algebra.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_3))] (r : R) [_inst_5 : IsLocalization.Away.{u1, u2} R (CommRing.toCommSemiring.{u1} R _inst_1) r S (CommRing.toCommSemiring.{u2} S _inst_3) _inst_4], OpenEmbedding.{u2, u1} (PrimeSpectrum.{u2} S _inst_3) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_3) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1) (FunLike.coe.{max (succ u1) (succ u2), succ u2, succ u1} (ContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_3) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_3) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (PrimeSpectrum.{u2} S _inst_3) (fun (_x : PrimeSpectrum.{u2} S _inst_3) => (fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : PrimeSpectrum.{u2} S _inst_3) => PrimeSpectrum.{u1} R _inst_1) _x) (ContinuousMapClass.toFunLike.{max u1 u2, u2, u1} (ContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_3) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_3) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (PrimeSpectrum.{u2} S _inst_3) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_3) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1) (ContinuousMap.instContinuousMapClassContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_3) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_3) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1))) (PrimeSpectrum.comap.{u1, u2} R S _inst_1 _inst_3 (algebraMap.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_3)) _inst_4)))
+Case conversion may be inaccurate. Consider using '#align prime_spectrum.localization_away_open_embedding PrimeSpectrum.localization_away_openEmbeddingₓ'. -/
 theorem localization_away_openEmbedding (S : Type v) [CommRing S] [Algebra R S] (r : R)
     [IsLocalization.Away r S] : OpenEmbedding (comap (algebraMap R S)) :=
   { toEmbedding := localization_comap_embedding S (Submonoid.powers r)
@@ -945,26 +1403,56 @@ We endow `prime_spectrum R` with a partial order, where `x ≤ y` if and only if
 instance : PartialOrder (PrimeSpectrum R) :=
   PartialOrder.lift asIdeal ext
 
+/- warning: prime_spectrum.as_ideal_le_as_ideal -> PrimeSpectrum.asIdeal_le_asIdeal is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] (x : PrimeSpectrum.{u1} R _inst_1) (y : PrimeSpectrum.{u1} R _inst_1), Iff (LE.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Preorder.toHasLe.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (SetLike.partialOrder.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) (PrimeSpectrum.asIdeal.{u1} R _inst_1 x) (PrimeSpectrum.asIdeal.{u1} R _inst_1 y)) (LE.le.{u1} (PrimeSpectrum.{u1} R _inst_1) (Preorder.toHasLe.{u1} (PrimeSpectrum.{u1} R _inst_1) (PartialOrder.toPreorder.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.partialOrder.{u1} R _inst_1))) x y)
+but is expected to have type
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] (x : PrimeSpectrum.{u1} R _inst_1) (y : PrimeSpectrum.{u1} R _inst_1), Iff (LE.le.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Preorder.toLE.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Submodule.completeLattice.{u1, u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (PrimeSpectrum.asIdeal.{u1} R _inst_1 x) (PrimeSpectrum.asIdeal.{u1} R _inst_1 y)) (LE.le.{u1} (PrimeSpectrum.{u1} R _inst_1) (Preorder.toLE.{u1} (PrimeSpectrum.{u1} R _inst_1) (PartialOrder.toPreorder.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.instPartialOrderPrimeSpectrum.{u1} R _inst_1))) x y)
+Case conversion may be inaccurate. Consider using '#align prime_spectrum.as_ideal_le_as_ideal PrimeSpectrum.asIdeal_le_asIdealₓ'. -/
 @[simp]
 theorem asIdeal_le_asIdeal (x y : PrimeSpectrum R) : x.asIdeal ≤ y.asIdeal ↔ x ≤ y :=
   Iff.rfl
 #align prime_spectrum.as_ideal_le_as_ideal PrimeSpectrum.asIdeal_le_asIdeal
 
+/- warning: prime_spectrum.as_ideal_lt_as_ideal -> PrimeSpectrum.asIdeal_lt_asIdeal is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] (x : PrimeSpectrum.{u1} R _inst_1) (y : PrimeSpectrum.{u1} R _inst_1), Iff (LT.lt.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Preorder.toHasLt.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (SetLike.partialOrder.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) (PrimeSpectrum.asIdeal.{u1} R _inst_1 x) (PrimeSpectrum.asIdeal.{u1} R _inst_1 y)) (LT.lt.{u1} (PrimeSpectrum.{u1} R _inst_1) (Preorder.toHasLt.{u1} (PrimeSpectrum.{u1} R _inst_1) (PartialOrder.toPreorder.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.partialOrder.{u1} R _inst_1))) x y)
+but is expected to have type
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] (x : PrimeSpectrum.{u1} R _inst_1) (y : PrimeSpectrum.{u1} R _inst_1), Iff (LT.lt.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Preorder.toLT.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Submodule.completeLattice.{u1, u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (PrimeSpectrum.asIdeal.{u1} R _inst_1 x) (PrimeSpectrum.asIdeal.{u1} R _inst_1 y)) (LT.lt.{u1} (PrimeSpectrum.{u1} R _inst_1) (Preorder.toLT.{u1} (PrimeSpectrum.{u1} R _inst_1) (PartialOrder.toPreorder.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.instPartialOrderPrimeSpectrum.{u1} R _inst_1))) x y)
+Case conversion may be inaccurate. Consider using '#align prime_spectrum.as_ideal_lt_as_ideal PrimeSpectrum.asIdeal_lt_asIdealₓ'. -/
 @[simp]
 theorem asIdeal_lt_asIdeal (x y : PrimeSpectrum R) : x.asIdeal < y.asIdeal ↔ x < y :=
   Iff.rfl
 #align prime_spectrum.as_ideal_lt_as_ideal PrimeSpectrum.asIdeal_lt_asIdeal
 
+/- warning: prime_spectrum.le_iff_mem_closure -> PrimeSpectrum.le_iff_mem_closure is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] (x : PrimeSpectrum.{u1} R _inst_1) (y : PrimeSpectrum.{u1} R _inst_1), Iff (LE.le.{u1} (PrimeSpectrum.{u1} R _inst_1) (Preorder.toHasLe.{u1} (PrimeSpectrum.{u1} R _inst_1) (PartialOrder.toPreorder.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.partialOrder.{u1} R _inst_1))) x y) (Membership.Mem.{u1, u1} (PrimeSpectrum.{u1} R _inst_1) (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (Set.hasMem.{u1} (PrimeSpectrum.{u1} R _inst_1)) y (closure.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1) (Singleton.singleton.{u1, u1} (PrimeSpectrum.{u1} R _inst_1) (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (Set.hasSingleton.{u1} (PrimeSpectrum.{u1} R _inst_1)) x)))
+but is expected to have type
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] (x : PrimeSpectrum.{u1} R _inst_1) (y : PrimeSpectrum.{u1} R _inst_1), Iff (LE.le.{u1} (PrimeSpectrum.{u1} R _inst_1) (Preorder.toLE.{u1} (PrimeSpectrum.{u1} R _inst_1) (PartialOrder.toPreorder.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.instPartialOrderPrimeSpectrum.{u1} R _inst_1))) x y) (Membership.mem.{u1, u1} (PrimeSpectrum.{u1} R _inst_1) (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (Set.instMembershipSet.{u1} (PrimeSpectrum.{u1} R _inst_1)) y (closure.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1) (Singleton.singleton.{u1, u1} (PrimeSpectrum.{u1} R _inst_1) (Set.{u1} (PrimeSpectrum.{u1} R _inst_1)) (Set.instSingletonSet.{u1} (PrimeSpectrum.{u1} R _inst_1)) x)))
+Case conversion may be inaccurate. Consider using '#align prime_spectrum.le_iff_mem_closure PrimeSpectrum.le_iff_mem_closureₓ'. -/
 theorem le_iff_mem_closure (x y : PrimeSpectrum R) :
     x ≤ y ↔ y ∈ closure ({x} : Set (PrimeSpectrum R)) := by
   rw [← as_ideal_le_as_ideal, ← zero_locus_vanishing_ideal_eq_closure, mem_zero_locus,
     vanishing_ideal_singleton, SetLike.coe_subset_coe]
 #align prime_spectrum.le_iff_mem_closure PrimeSpectrum.le_iff_mem_closure
 
+/- warning: prime_spectrum.le_iff_specializes -> PrimeSpectrum.le_iff_specializes is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] (x : PrimeSpectrum.{u1} R _inst_1) (y : PrimeSpectrum.{u1} R _inst_1), Iff (LE.le.{u1} (PrimeSpectrum.{u1} R _inst_1) (Preorder.toHasLe.{u1} (PrimeSpectrum.{u1} R _inst_1) (PartialOrder.toPreorder.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.partialOrder.{u1} R _inst_1))) x y) (Specializes.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1) x y)
+but is expected to have type
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] (x : PrimeSpectrum.{u1} R _inst_1) (y : PrimeSpectrum.{u1} R _inst_1), Iff (LE.le.{u1} (PrimeSpectrum.{u1} R _inst_1) (Preorder.toLE.{u1} (PrimeSpectrum.{u1} R _inst_1) (PartialOrder.toPreorder.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.instPartialOrderPrimeSpectrum.{u1} R _inst_1))) x y) (Specializes.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1) x y)
+Case conversion may be inaccurate. Consider using '#align prime_spectrum.le_iff_specializes PrimeSpectrum.le_iff_specializesₓ'. -/
 theorem le_iff_specializes (x y : PrimeSpectrum R) : x ≤ y ↔ x ⤳ y :=
   (le_iff_mem_closure x y).trans specializes_iff_mem_closure.symm
 #align prime_spectrum.le_iff_specializes PrimeSpectrum.le_iff_specializes
 
+/- warning: prime_spectrum.nhds_order_embedding -> PrimeSpectrum.nhdsOrderEmbedding is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R], OrderEmbedding.{u1, u1} (PrimeSpectrum.{u1} R _inst_1) (Filter.{u1} (PrimeSpectrum.{u1} R _inst_1)) (Preorder.toHasLe.{u1} (PrimeSpectrum.{u1} R _inst_1) (PartialOrder.toPreorder.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.partialOrder.{u1} R _inst_1))) (Preorder.toHasLe.{u1} (Filter.{u1} (PrimeSpectrum.{u1} R _inst_1)) (PartialOrder.toPreorder.{u1} (Filter.{u1} (PrimeSpectrum.{u1} R _inst_1)) (Filter.partialOrder.{u1} (PrimeSpectrum.{u1} R _inst_1))))
+but is expected to have type
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R], OrderEmbedding.{u1, u1} (PrimeSpectrum.{u1} R _inst_1) (Filter.{u1} (PrimeSpectrum.{u1} R _inst_1)) (Preorder.toLE.{u1} (PrimeSpectrum.{u1} R _inst_1) (PartialOrder.toPreorder.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.instPartialOrderPrimeSpectrum.{u1} R _inst_1))) (Preorder.toLE.{u1} (Filter.{u1} (PrimeSpectrum.{u1} R _inst_1)) (PartialOrder.toPreorder.{u1} (Filter.{u1} (PrimeSpectrum.{u1} R _inst_1)) (Filter.instPartialOrderFilter.{u1} (PrimeSpectrum.{u1} R _inst_1))))
+Case conversion may be inaccurate. Consider using '#align prime_spectrum.nhds_order_embedding PrimeSpectrum.nhdsOrderEmbeddingₓ'. -/
 /-- `nhds` as an order embedding. -/
 @[simps (config := { fullyApplied := true })]
 def nhdsOrderEmbedding : PrimeSpectrum R ↪o Filter (PrimeSpectrum R) :=
@@ -986,6 +1474,12 @@ instance {R : Type _} [Field R] : Unique (PrimeSpectrum R)
 
 end Order
 
+/- warning: prime_spectrum.localization_map_of_specializes -> PrimeSpectrum.localizationMapOfSpecializes is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {x : PrimeSpectrum.{u1} R _inst_1} {y : PrimeSpectrum.{u1} R _inst_1}, (Specializes.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1) x y) -> (RingHom.{u1, u1} (Localization.AtPrime.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1) (PrimeSpectrum.asIdeal.{u1} R _inst_1 y) (PrimeSpectrum.isPrime.{u1} R _inst_1 y)) (Localization.AtPrime.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1) (PrimeSpectrum.asIdeal.{u1} R _inst_1 x) (PrimeSpectrum.isPrime.{u1} R _inst_1 x)) (NonAssocRing.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1) (PrimeSpectrum.asIdeal.{u1} R _inst_1 y) (PrimeSpectrum.isPrime.{u1} R _inst_1 y)) (Ring.toNonAssocRing.{u1} (Localization.AtPrime.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1) (PrimeSpectrum.asIdeal.{u1} R _inst_1 y) (PrimeSpectrum.isPrime.{u1} R _inst_1 y)) (CommRing.toRing.{u1} (Localization.AtPrime.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1) (PrimeSpectrum.asIdeal.{u1} R _inst_1 y) (PrimeSpectrum.isPrime.{u1} R _inst_1 y)) (Localization.commRing.{u1} R _inst_1 (Ideal.primeCompl.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1) (PrimeSpectrum.asIdeal.{u1} R _inst_1 y) (PrimeSpectrum.isPrime.{u1} R _inst_1 y)))))) (NonAssocRing.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1) (PrimeSpectrum.asIdeal.{u1} R _inst_1 x) (PrimeSpectrum.isPrime.{u1} R _inst_1 x)) (Ring.toNonAssocRing.{u1} (Localization.AtPrime.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1) (PrimeSpectrum.asIdeal.{u1} R _inst_1 x) (PrimeSpectrum.isPrime.{u1} R _inst_1 x)) (CommRing.toRing.{u1} (Localization.AtPrime.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1) (PrimeSpectrum.asIdeal.{u1} R _inst_1 x) (PrimeSpectrum.isPrime.{u1} R _inst_1 x)) (Localization.commRing.{u1} R _inst_1 (Ideal.primeCompl.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1) (PrimeSpectrum.asIdeal.{u1} R _inst_1 x) (PrimeSpectrum.isPrime.{u1} R _inst_1 x)))))))
+but is expected to have type
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {x : PrimeSpectrum.{u1} R _inst_1} {y : PrimeSpectrum.{u1} R _inst_1}, (Specializes.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1) x y) -> (RingHom.{u1, u1} (Localization.AtPrime.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1) (PrimeSpectrum.asIdeal.{u1} R _inst_1 y) (PrimeSpectrum.IsPrime.{u1} R _inst_1 y)) (Localization.AtPrime.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1) (PrimeSpectrum.asIdeal.{u1} R _inst_1 x) (PrimeSpectrum.IsPrime.{u1} R _inst_1 x)) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1) (PrimeSpectrum.asIdeal.{u1} R _inst_1 y) (PrimeSpectrum.IsPrime.{u1} R _inst_1 y)) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1) (PrimeSpectrum.asIdeal.{u1} R _inst_1 y) (PrimeSpectrum.IsPrime.{u1} R _inst_1 y)) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1) (Ideal.primeCompl.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1) (PrimeSpectrum.asIdeal.{u1} R _inst_1 y) (PrimeSpectrum.IsPrime.{u1} R _inst_1 y))))) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1) (PrimeSpectrum.asIdeal.{u1} R _inst_1 x) (PrimeSpectrum.IsPrime.{u1} R _inst_1 x)) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1) (PrimeSpectrum.asIdeal.{u1} R _inst_1 x) (PrimeSpectrum.IsPrime.{u1} R _inst_1 x)) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1) (Ideal.primeCompl.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1) (PrimeSpectrum.asIdeal.{u1} R _inst_1 x) (PrimeSpectrum.IsPrime.{u1} R _inst_1 x))))))
+Case conversion may be inaccurate. Consider using '#align prime_spectrum.localization_map_of_specializes PrimeSpectrum.localizationMapOfSpecializesₓ'. -/
 /-- 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) :
@@ -1005,13 +1499,21 @@ namespace LocalRing
 
 variable [LocalRing R]
 
+#print LocalRing.closedPoint /-
 /-- The closed point in the prime spectrum of a local ring. -/
 def closedPoint : PrimeSpectrum R :=
   ⟨maximalIdeal R, (maximalIdeal.isMaximal R).IsPrime⟩
 #align local_ring.closed_point LocalRing.closedPoint
+-/
 
 variable {R}
 
+/- warning: local_ring.is_local_ring_hom_iff_comap_closed_point -> LocalRing.isLocalRingHom_iff_comap_closedPoint is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] [_inst_3 : LocalRing.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))] {S : Type.{u2}} [_inst_4 : CommRing.{u2} S] [_inst_5 : LocalRing.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_4))] (f : RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_4)))), Iff (IsLocalRingHom.{u1, u2} R S (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_4)) f) (Eq.{succ u1} (PrimeSpectrum.{u1} R _inst_1) (coeFn.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (ContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_4) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_4) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (fun (_x : ContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_4) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_4) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) => (PrimeSpectrum.{u2} S _inst_4) -> (PrimeSpectrum.{u1} R _inst_1)) (ContinuousMap.hasCoeToFun.{u2, u1} (PrimeSpectrum.{u2} S _inst_4) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_4) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (PrimeSpectrum.comap.{u1, u2} R S _inst_1 _inst_4 f) (LocalRing.closedPoint.{u2} S _inst_4 _inst_5)) (LocalRing.closedPoint.{u1} R _inst_1 _inst_3))
+but is expected to have type
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] [_inst_3 : LocalRing.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))] {S : Type.{u2}} [_inst_4 : CommRing.{u2} S] [_inst_5 : LocalRing.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_4))] (f : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_4)))), Iff (IsLocalRingHom.{u1, u2} R S (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_4)) f) (Eq.{succ u1} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : PrimeSpectrum.{u2} S _inst_4) => PrimeSpectrum.{u1} R _inst_1) (LocalRing.closedPoint.{u2} S _inst_4 _inst_5)) (FunLike.coe.{max (succ u1) (succ u2), succ u2, succ u1} (ContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_4) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_4) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (PrimeSpectrum.{u2} S _inst_4) (fun (_x : PrimeSpectrum.{u2} S _inst_4) => (fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : PrimeSpectrum.{u2} S _inst_4) => PrimeSpectrum.{u1} R _inst_1) _x) (ContinuousMapClass.toFunLike.{max u1 u2, u2, u1} (ContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_4) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_4) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (PrimeSpectrum.{u2} S _inst_4) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_4) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1) (ContinuousMap.instContinuousMapClassContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_4) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_4) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1))) (PrimeSpectrum.comap.{u1, u2} R S _inst_1 _inst_4 f) (LocalRing.closedPoint.{u2} S _inst_4 _inst_5)) (LocalRing.closedPoint.{u1} R _inst_1 _inst_3))
+Case conversion may be inaccurate. Consider using '#align local_ring.is_local_ring_hom_iff_comap_closed_point LocalRing.isLocalRingHom_iff_comap_closedPointₓ'. -/
 theorem isLocalRingHom_iff_comap_closedPoint {S : Type v} [CommRing S] [LocalRing S] (f : R →+* S) :
     IsLocalRingHom f ↔ PrimeSpectrum.comap f (closedPoint S) = closedPoint R :=
   by
@@ -1019,16 +1521,30 @@ theorem isLocalRingHom_iff_comap_closedPoint {S : Type v} [CommRing S] [LocalRin
   rfl
 #align local_ring.is_local_ring_hom_iff_comap_closed_point LocalRing.isLocalRingHom_iff_comap_closedPoint
 
+/- warning: local_ring.comap_closed_point -> LocalRing.comap_closedPoint is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] [_inst_3 : LocalRing.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))] {S : Type.{u2}} [_inst_4 : CommRing.{u2} S] [_inst_5 : LocalRing.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_4))] (f : RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_4)))) [_inst_6 : IsLocalRingHom.{u1, u2} R S (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_4)) f], Eq.{succ u1} (PrimeSpectrum.{u1} R _inst_1) (coeFn.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (ContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_4) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_4) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (fun (_x : ContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_4) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_4) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) => (PrimeSpectrum.{u2} S _inst_4) -> (PrimeSpectrum.{u1} R _inst_1)) (ContinuousMap.hasCoeToFun.{u2, u1} (PrimeSpectrum.{u2} S _inst_4) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_4) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (PrimeSpectrum.comap.{u1, u2} R S _inst_1 _inst_4 f) (LocalRing.closedPoint.{u2} S _inst_4 _inst_5)) (LocalRing.closedPoint.{u1} R _inst_1 _inst_3)
+but is expected to have type
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] [_inst_3 : LocalRing.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))] {S : Type.{u2}} [_inst_4 : CommRing.{u2} S] [_inst_5 : LocalRing.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_4))] (f : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_4)))) [_inst_6 : IsLocalRingHom.{u1, u2} R S (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_4)) f], Eq.{succ u1} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : PrimeSpectrum.{u2} S _inst_4) => PrimeSpectrum.{u1} R _inst_1) (LocalRing.closedPoint.{u2} S _inst_4 _inst_5)) (FunLike.coe.{max (succ u1) (succ u2), succ u2, succ u1} (ContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_4) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_4) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (PrimeSpectrum.{u2} S _inst_4) (fun (_x : PrimeSpectrum.{u2} S _inst_4) => (fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : PrimeSpectrum.{u2} S _inst_4) => PrimeSpectrum.{u1} R _inst_1) _x) (ContinuousMapClass.toFunLike.{max u1 u2, u2, u1} (ContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_4) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_4) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (PrimeSpectrum.{u2} S _inst_4) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_4) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1) (ContinuousMap.instContinuousMapClassContinuousMap.{u2, u1} (PrimeSpectrum.{u2} S _inst_4) (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u2} S _inst_4) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1))) (PrimeSpectrum.comap.{u1, u2} R S _inst_1 _inst_4 f) (LocalRing.closedPoint.{u2} S _inst_4 _inst_5)) (LocalRing.closedPoint.{u1} R _inst_1 _inst_3)
+Case conversion may be inaccurate. Consider using '#align local_ring.comap_closed_point LocalRing.comap_closedPointₓ'. -/
 @[simp]
 theorem comap_closedPoint {S : Type v} [CommRing S] [LocalRing S] (f : R →+* S) [IsLocalRingHom f] :
     PrimeSpectrum.comap f (closedPoint S) = closedPoint R :=
   (isLocalRingHom_iff_comap_closedPoint f).mp inferInstance
 #align local_ring.comap_closed_point LocalRing.comap_closedPoint
 
+#print LocalRing.specializes_closedPoint /-
 theorem specializes_closedPoint (x : PrimeSpectrum R) : x ⤳ closedPoint R :=
   (PrimeSpectrum.le_iff_specializes _ _).mp (LocalRing.le_maximalIdeal x.2.1)
 #align local_ring.specializes_closed_point LocalRing.specializes_closedPoint
+-/
 
+/- warning: local_ring.closed_point_mem_iff -> LocalRing.closedPoint_mem_iff is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] [_inst_3 : LocalRing.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))] (U : TopologicalSpace.Opens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)), Iff (Membership.Mem.{u1, u1} (PrimeSpectrum.{u1} R _inst_1) (TopologicalSpace.Opens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (SetLike.hasMem.{u1, u1} (TopologicalSpace.Opens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (PrimeSpectrum.{u1} R _inst_1) (TopologicalSpace.Opens.setLike.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1))) (LocalRing.closedPoint.{u1} R _inst_1 _inst_3) U) (Eq.{succ u1} (TopologicalSpace.Opens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) U (Top.top.{u1} (TopologicalSpace.Opens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (CompleteLattice.toHasTop.{u1} (TopologicalSpace.Opens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (TopologicalSpace.Opens.completeLattice.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)))))
+but is expected to have type
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] [_inst_3 : LocalRing.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))] (U : TopologicalSpace.Opens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)), Iff (Membership.mem.{u1, u1} (PrimeSpectrum.{u1} R _inst_1) (TopologicalSpace.Opens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (SetLike.instMembership.{u1, u1} (TopologicalSpace.Opens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (PrimeSpectrum.{u1} R _inst_1) (TopologicalSpace.Opens.instSetLikeOpens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1))) (LocalRing.closedPoint.{u1} R _inst_1 _inst_3) U) (Eq.{succ u1} (TopologicalSpace.Opens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) U (Top.top.{u1} (TopologicalSpace.Opens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (CompleteLattice.toTop.{u1} (TopologicalSpace.Opens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)) (TopologicalSpace.Opens.instCompleteLatticeOpens.{u1} (PrimeSpectrum.{u1} R _inst_1) (PrimeSpectrum.zariskiTopology.{u1} R _inst_1)))))
+Case conversion may be inaccurate. Consider using '#align local_ring.closed_point_mem_iff LocalRing.closedPoint_mem_iffₓ'. -/
 theorem closedPoint_mem_iff (U : TopologicalSpace.Opens <| PrimeSpectrum R) :
     closedPoint R ∈ U ↔ U = ⊤ := by
   constructor
Diff
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Johan Commelin
 
 ! This file was ported from Lean 3 source module algebraic_geometry.prime_spectrum.basic
-! leanprover-community/mathlib commit d39590fc8728fbf6743249802486f8c91ffe07bc
+! leanprover-community/mathlib commit a7c017d750512a352b623b1824d75da5998457d0
 ! Please do not edit these lines, except to modify the commit id
 ! if you have ported upstream changes.
 -/
@@ -12,7 +12,7 @@ import Mathbin.Algebra.PunitInstances
 import Mathbin.LinearAlgebra.Finsupp
 import Mathbin.RingTheory.Ideal.Over
 import Mathbin.RingTheory.Ideal.Prod
-import Mathbin.RingTheory.Localization.Away
+import Mathbin.RingTheory.Localization.Away.Basic
 import Mathbin.RingTheory.Nilpotent
 import Mathbin.Topology.Sets.Closeds
 import Mathbin.Topology.Sober
Diff
@@ -169,9 +169,9 @@ theorem coe_vanishingIdeal (t : Set (PrimeSpectrum R)) :
     (vanishingIdeal t : Set R) = { f : R | ∀ x : PrimeSpectrum R, x ∈ t → f ∈ x.asIdeal } :=
   by
   ext f
-  rw [vanishing_ideal, SetLike.mem_coe, Submodule.mem_infᵢ]
+  rw [vanishing_ideal, SetLike.mem_coe, Submodule.mem_iInf]
   apply forall_congr'; intro x
-  rw [Submodule.mem_infᵢ]
+  rw [Submodule.mem_iInf]
 #align prime_spectrum.coe_vanishing_ideal PrimeSpectrum.coe_vanishingIdeal
 
 theorem mem_vanishingIdeal (t : Set (PrimeSpectrum R)) (f : R) :
@@ -230,7 +230,7 @@ theorem vanishingIdeal_zeroLocus_eq_radical (I : Ideal R) :
     vanishingIdeal (zeroLocus (I : Set R)) = I.radical :=
   Ideal.ext fun f =>
     by
-    rw [mem_vanishing_ideal, Ideal.radical_eq_infₛ, Submodule.mem_infₛ]
+    rw [mem_vanishing_ideal, Ideal.radical_eq_sInf, Submodule.mem_sInf]
     exact ⟨fun h x hx => h ⟨x, hx.2⟩ hx.1, fun h x hx => h x.1 ⟨hx, x.2⟩⟩
 #align prime_spectrum.vanishing_ideal_zero_locus_eq_radical PrimeSpectrum.vanishingIdeal_zeroLocus_eq_radical
 
@@ -345,24 +345,24 @@ theorem vanishingIdeal_union (t t' : Set (PrimeSpectrum R)) :
   (gc R).u_inf
 #align prime_spectrum.vanishing_ideal_union PrimeSpectrum.vanishingIdeal_union
 
-theorem zeroLocus_supᵢ {ι : Sort _} (I : ι → Ideal R) :
+theorem zeroLocus_iSup {ι : Sort _} (I : ι → Ideal R) :
     zeroLocus ((⨆ i, I i : Ideal R) : Set R) = ⋂ i, zeroLocus (I i) :=
-  (gc R).l_supᵢ
-#align prime_spectrum.zero_locus_supr PrimeSpectrum.zeroLocus_supᵢ
+  (gc R).l_iSup
+#align prime_spectrum.zero_locus_supr PrimeSpectrum.zeroLocus_iSup
 
-theorem zeroLocus_unionᵢ {ι : Sort _} (s : ι → Set R) :
+theorem zeroLocus_iUnion {ι : Sort _} (s : ι → Set R) :
     zeroLocus (⋃ i, s i) = ⋂ i, zeroLocus (s i) :=
-  (gc_set R).l_supᵢ
-#align prime_spectrum.zero_locus_Union PrimeSpectrum.zeroLocus_unionᵢ
+  (gc_set R).l_iSup
+#align prime_spectrum.zero_locus_Union PrimeSpectrum.zeroLocus_iUnion
 
 theorem zeroLocus_bUnion (s : Set (Set R)) :
     zeroLocus (⋃ s' ∈ s, s' : Set R) = ⋂ s' ∈ s, zeroLocus s' := by simp only [zero_locus_Union]
 #align prime_spectrum.zero_locus_bUnion PrimeSpectrum.zeroLocus_bUnion
 
-theorem vanishingIdeal_unionᵢ {ι : Sort _} (t : ι → Set (PrimeSpectrum R)) :
+theorem vanishingIdeal_iUnion {ι : Sort _} (t : ι → Set (PrimeSpectrum R)) :
     vanishingIdeal (⋃ i, t i) = ⨅ i, vanishingIdeal (t i) :=
-  (gc R).u_infᵢ
-#align prime_spectrum.vanishing_ideal_Union PrimeSpectrum.vanishingIdeal_unionᵢ
+  (gc R).u_iInf
+#align prime_spectrum.vanishing_ideal_Union PrimeSpectrum.vanishingIdeal_iUnion
 
 theorem zeroLocus_inf (I J : Ideal R) :
     zeroLocus ((I ⊓ J : Ideal R) : Set R) = zeroLocus I ∪ zeroLocus J :=
@@ -419,7 +419,7 @@ instance zariskiTopology : TopologicalSpace (PrimeSpectrum R) :=
   TopologicalSpace.ofClosed (Set.range PrimeSpectrum.zeroLocus) ⟨Set.univ, by simp⟩
     (by
       intro Zs h
-      rw [Set.interₛ_eq_interᵢ]
+      rw [Set.sInter_eq_iInter]
       choose f hf using fun i : Zs => h i.Prop
       simp only [← hf]
       exact ⟨_, zero_locus_Union _⟩)
@@ -881,7 +881,7 @@ theorem isCompact_basicOpen (f : R) : IsCompact (basicOpen f : Set (PrimeSpectru
       rw [← vanishing_ideal_zero_locus_eq_radical]
       apply vanishing_ideal_anti_mono hZ
       exact subset_vanishing_ideal_zero_locus {f} (Set.mem_singleton f)
-    rcases Submodule.exists_finset_of_mem_supᵢ I hn with ⟨s, hs⟩
+    rcases Submodule.exists_finset_of_mem_iSup I hn with ⟨s, hs⟩
     use s
     -- Using simp_rw here, because `hI` and `zero_locus_supr` need to be applied underneath binders
     simp_rw [basic_open_eq_zero_locus_compl f, Set.inter_comm (zero_locus {f}ᶜ), ← Set.diff_eq,
Diff
@@ -508,7 +508,7 @@ theorem vanishingIdeal_anti_mono_iff {s t : Set (PrimeSpectrum R)} (ht : IsClose
   ⟨vanishingIdeal_anti_mono, fun h =>
     by
     rw [← ht.closure_subset_iff, ← ht.closure_eq]
-    convert ← zero_locus_anti_mono_ideal h <;> apply zero_locus_vanishing_ideal_eq_closure⟩
+    convert← zero_locus_anti_mono_ideal h <;> apply zero_locus_vanishing_ideal_eq_closure⟩
 #align prime_spectrum.vanishing_ideal_anti_mono_iff PrimeSpectrum.vanishingIdeal_anti_mono_iff
 
 theorem vanishingIdeal_strict_anti_mono_iff {s t : Set (PrimeSpectrum R)} (hs : IsClosed s)
Diff
@@ -520,7 +520,7 @@ theorem vanishingIdeal_strict_anti_mono_iff {s t : Set (PrimeSpectrum R)} (hs :
 /-- The antitone order embedding of closed subsets of `Spec R` into ideals of `R`. -/
 def closedsEmbedding (R : Type _) [CommRing R] :
     (TopologicalSpace.Closeds <| PrimeSpectrum R)ᵒᵈ ↪o Ideal R :=
-  OrderEmbedding.ofMapLeIff (fun s => vanishingIdeal s.ofDual) fun s t =>
+  OrderEmbedding.ofMapLEIff (fun s => vanishingIdeal s.ofDual) fun s t =>
     (vanishingIdeal_anti_mono_iff s.2).symm
 #align prime_spectrum.closeds_embedding PrimeSpectrum.closedsEmbedding
 
@@ -968,7 +968,7 @@ theorem le_iff_specializes (x y : PrimeSpectrum R) : x ≤ y ↔ x ⤳ y :=
 /-- `nhds` as an order embedding. -/
 @[simps (config := { fullyApplied := true })]
 def nhdsOrderEmbedding : PrimeSpectrum R ↪o Filter (PrimeSpectrum R) :=
-  OrderEmbedding.ofMapLeIff nhds fun a b => (le_iff_specializes a b).symm
+  OrderEmbedding.ofMapLEIff nhds fun a b => (le_iff_specializes a b).symm
 #align prime_spectrum.nhds_order_embedding PrimeSpectrum.nhdsOrderEmbedding
 
 instance : T0Space (PrimeSpectrum R) :=

Changes in mathlib4

mathlib3
mathlib4
chore: split RingTheory.Nilpotent (#12184)

Mathlib.RingTheory.Nilpotent has a few very simple definitions (Mathlib.Data.Nat.Lattice is sufficient to state them), but needs some pretty heavy imports (ideals, linear algebra) towards the end. This change moves the heavier parts into a new file.

Diff
@@ -8,7 +8,7 @@ import Mathlib.RingTheory.Ideal.Over
 import Mathlib.RingTheory.Ideal.Prod
 import Mathlib.RingTheory.Ideal.MinimalPrime
 import Mathlib.RingTheory.Localization.Away.Basic
-import Mathlib.RingTheory.Nilpotent
+import Mathlib.RingTheory.Nilpotent.Lemmas
 import Mathlib.Topology.Sets.Closeds
 import Mathlib.Topology.Sober
 
style: replace '.-/' by '. -/' (#11938)

Purely automatic replacement. If this is in any way controversial; I'm happy to just close this PR.

Diff
@@ -398,8 +398,9 @@ theorem mem_compl_zeroLocus_iff_not_mem {f : R} {I : PrimeSpectrum R} :
   rw [Set.mem_compl_iff, mem_zeroLocus, Set.singleton_subset_iff]; rfl
 #align prime_spectrum.mem_compl_zero_locus_iff_not_mem PrimeSpectrum.mem_compl_zeroLocus_iff_not_mem
 
-/-- 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.-/
+/-- 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) :=
   TopologicalSpace.ofClosed (Set.range PrimeSpectrum.zeroLocus) ⟨Set.univ, by simp⟩
     (by
chore: avoid Ne.def (adaptation for nightly-2024-03-27) (#11801)
Diff
@@ -516,7 +516,7 @@ theorem isIrreducible_zeroLocus_iff_of_radical (I : Ideal R) (hI : I.IsRadical)
     IsIrreducible (zeroLocus (I : Set R)) ↔ I.IsPrime := by
   rw [Ideal.isPrime_iff, IsIrreducible]
   apply and_congr
-  · rw [Set.nonempty_iff_ne_empty, Ne.def, zeroLocus_empty_iff_eq_top]
+  · rw [Set.nonempty_iff_ne_empty, Ne, zeroLocus_empty_iff_eq_top]
   · trans ∀ x y : Ideal R, Z(I) ⊆ Z(x) ∪ Z(y) → Z(I) ⊆ Z(x) ∨ Z(I) ⊆ Z(y)
     · simp_rw [isPreirreducible_iff_closed_union_closed, isClosed_iff_zeroLocus_ideal]
       constructor
chore: rename open_range to isOpen_range, closed_range to isClosed_range (#11438)

All these lemmas refer to the range of some function being open/range (i.e. isOpen or isClosed).

Diff
@@ -760,7 +760,7 @@ theorem isClosed_range_comap_of_surjective (hf : Surjective f) :
 theorem closedEmbedding_comap_of_surjective (hf : Surjective f) : ClosedEmbedding (comap f) :=
   { induced := (comap_inducing_of_surjective S f hf).induced
     inj := comap_injective_of_surjective f hf
-    closed_range := isClosed_range_comap_of_surjective S f hf }
+    isClosed_range := isClosed_range_comap_of_surjective S f hf }
 #align prime_spectrum.closed_embedding_comap_of_surjective PrimeSpectrum.closedEmbedding_comap_of_surjective
 
 end SpecOfSurjective
@@ -874,7 +874,7 @@ theorem localization_away_comap_range (S : Type v) [CommSemiring S] [Algebra R S
 theorem localization_away_openEmbedding (S : Type v) [CommSemiring S] [Algebra R S] (r : R)
     [IsLocalization.Away r S] : OpenEmbedding (comap (algebraMap R S)) :=
   { toEmbedding := localization_comap_embedding S (Submonoid.powers r)
-    open_range := by
+    isOpen_range := by
       rw [localization_away_comap_range S r]
       exact isOpen_basicOpen }
 #align prime_spectrum.localization_away_open_embedding PrimeSpectrum.localization_away_openEmbedding
chore(*): remove empty lines between variable statements (#11418)

Empty lines were removed by executing the following Python script twice

import os
import re


# Loop through each file in the repository
for dir_path, dirs, files in os.walk('.'):
  for filename in files:
    if filename.endswith('.lean'):
      file_path = os.path.join(dir_path, filename)

      # Open the file and read its contents
      with open(file_path, 'r') as file:
        content = file.read()

      # Use a regular expression to replace sequences of "variable" lines separated by empty lines
      # with sequences without empty lines
      modified_content = re.sub(r'(variable.*\n)\n(variable(?! .* in))', r'\1\2', content)

      # Write the modified content back to the file
      with open(file_path, 'w') as file:
        file.write(modified_content)
Diff
@@ -71,7 +71,6 @@ namespace PrimeSpectrum
 section CommSemiRing
 
 variable [CommSemiring R] [CommSemiring S]
-
 variable {R S}
 
 instance [Nontrivial R] : Nonempty <| PrimeSpectrum R :=
feat(RingTheory/Localization): add facts about localization at minimal prime ideals (#11201)

Show that localization at minimal primes results in rings with only a single prime ideal, implying that every non-unit element is nilpotent.

Co-authored-by: Junyan Xu <junyanxumath@gmail.com>

Co-authored-by: Junyan Xu <junyanxu.math@gmail.com> Co-authored-by: uniwuni <95649083+uniwuni@users.noreply.github.com>

Diff
@@ -963,6 +963,22 @@ protected def pointsEquivIrreducibleCloseds :
   map_rel_iff' {p q} :=
     (RelIso.symm irreducibleSetEquivPoints).map_rel_iff.trans (le_iff_specializes p q).symm
 
+section LocalizationAtMinimal
+
+variable {I : Ideal R} [hI : I.IsPrime]
+
+/--
+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)) where
+  default :=
+    ⟨LocalRing.maximalIdeal (Localization I.primeCompl),
+    (LocalRing.maximalIdeal.isMaximal _).isPrime⟩
+  uniq x := PrimeSpectrum.ext _ _ (Localization.AtPrime.prime_unique_of_minimal h x.asIdeal)
+
+end LocalizationAtMinimal
+
 end CommSemiRing
 
 end PrimeSpectrum
chore: scope open Classical (#11199)

We remove all but one open Classicals, instead preferring to use open scoped Classical. The only real side-effect this led to is moving a couple declarations to use Exists.choose instead of Classical.choose.

The first few commits are explicitly labelled regex replaces for ease of review.

Diff
@@ -47,7 +47,7 @@ and Chris Hughes (on an earlier repository).
 
 noncomputable section
 
-open Classical
+open scoped Classical
 
 universe u v
 
chore: move Mathlib to v4.7.0-rc1 (#11162)

This is a very large PR, but it has been reviewed piecemeal already in PRs to the bump/v4.7.0 branch as we update to intermediate nightlies.

Co-authored-by: Scott Morrison <scott.morrison@gmail.com> Co-authored-by: Kyle Miller <kmill31415@gmail.com> Co-authored-by: damiano <adomani@gmail.com>

Diff
@@ -682,6 +682,7 @@ open Function RingHom
 
 theorem comap_inducing_of_surjective (hf : Surjective f) : Inducing (comap f) where
   induced := by
+    set_option tactic.skipAssignedInstances false in
     simp_rw [TopologicalSpace.ext_iff, ← isClosed_compl_iff,
       ← @isClosed_compl_iff (PrimeSpectrum S)
         ((TopologicalSpace.induced (comap f) zariskiTopology)), isClosed_induced_iff,
chore: Golf Ideal.radical_pow (#11144)

Also make n implicit and replace 0 < n with n ≠ 0

Diff
@@ -374,9 +374,9 @@ theorem zeroLocus_singleton_mul (f g : R) :
 #align prime_spectrum.zero_locus_singleton_mul PrimeSpectrum.zeroLocus_singleton_mul
 
 @[simp]
-theorem zeroLocus_pow (I : Ideal R) {n : ℕ} (hn : 0 < n) :
+theorem zeroLocus_pow (I : Ideal R) {n : ℕ} (hn : n ≠ 0) :
     zeroLocus ((I ^ n : Ideal R) : Set R) = zeroLocus I :=
-  zeroLocus_radical (I ^ n) ▸ (I.radical_pow n hn).symm ▸ zeroLocus_radical I
+  zeroLocus_radical (I ^ n) ▸ (I.radical_pow hn).symm ▸ zeroLocus_radical I
 #align prime_spectrum.zero_locus_pow PrimeSpectrum.zeroLocus_pow
 
 @[simp]
style: reduce spacing variation in "porting note" comments (#10886)

In this pull request, I have systematically eliminated the leading whitespace preceding the colon (:) within all unlabelled or unclassified porting notes. This adjustment facilitates a more efficient review process for the remaining notes by ensuring no entries are overlooked due to formatting inconsistencies.

Diff
@@ -1032,7 +1032,7 @@ variable {R}
 
 theorem isLocalRingHom_iff_comap_closedPoint {S : Type v} [CommSemiring S] [LocalRing S]
     (f : R →+* S) : IsLocalRingHom f ↔ PrimeSpectrum.comap f (closedPoint S) = closedPoint R := by
-  -- Porting note : inline `this` does **not** work
+  -- Porting note: inline `this` does **not** work
   have := (local_hom_TFAE f).out 0 4
   rw [this, PrimeSpectrum.ext_iff]
   rfl
feat(Topology/Basic): add TopologicalSpace.ext_isClosed (#9963)

Use it to golf PrimeSpectrum.localization_comap_inducing.

Diff
@@ -639,21 +639,14 @@ variable (S)
 
 theorem localization_comap_inducing [Algebra R S] (M : Submonoid R) [IsLocalization M S] :
     Inducing (comap (algebraMap R S)) := by
+  refine ⟨TopologicalSpace.ext_isClosed fun Z ↦ ?_⟩
+  simp_rw [isClosed_induced_iff, isClosed_iff_zeroLocus, @eq_comm _ _ (zeroLocus _),
+    exists_exists_eq_and, preimage_comap_zeroLocus]
   constructor
-  rw [TopologicalSpace.ext_iff]
-  intro U
-  rw [← isClosed_compl_iff, ← @isClosed_compl_iff (X := PrimeSpectrum S) (s := U)]
-  generalize Uᶜ = Z
-  simp_rw [isClosed_induced_iff, isClosed_iff_zeroLocus]
-  constructor
   · rintro ⟨s, rfl⟩
-    refine ⟨_, ⟨algebraMap R S ⁻¹' Ideal.span s, rfl⟩, ?_⟩
-    rw [preimage_comap_zeroLocus, ← zeroLocus_span, ← zeroLocus_span s]
-    congr 2
-    exact congr_arg (zeroLocus ·) <| Submodule.carrier_inj.mpr
-      (IsLocalization.map_comap M S (Ideal.span s))
-  · rintro ⟨_, ⟨t, rfl⟩, rfl⟩
-    rw [preimage_comap_zeroLocus]
+    refine ⟨(Ideal.span s).comap (algebraMap R S), ?_⟩
+    rw [← zeroLocus_span, ← zeroLocus_span s, ← Ideal.map, IsLocalization.map_comap M S]
+  · rintro ⟨s, rfl⟩
     exact ⟨_, rfl⟩
 #align prime_spectrum.localization_comap_inducing PrimeSpectrum.localization_comap_inducing
 
chore(Topology/Basic): rename variables (#9956)

Use X, Y, Z for topological spaces.

Diff
@@ -642,7 +642,7 @@ theorem localization_comap_inducing [Algebra R S] (M : Submonoid R) [IsLocalizat
   constructor
   rw [TopologicalSpace.ext_iff]
   intro U
-  rw [← isClosed_compl_iff, ← @isClosed_compl_iff (α := PrimeSpectrum S) (s := U)]
+  rw [← isClosed_compl_iff, ← @isClosed_compl_iff (X := PrimeSpectrum S) (s := U)]
   generalize Uᶜ = Z
   simp_rw [isClosed_induced_iff, isClosed_iff_zeroLocus]
   constructor
feat: Lemma on Monoid Localization and Consequences on Minimal Primes (#9640)

Co-authored-by: Xavier Xarles <56635243+XavierXarles@users.noreply.github.com> Co-authored-by: Junyan Xu <junyanxu.math@gmail.com>

Diff
@@ -973,8 +973,8 @@ end CommSemiRing
 
 end PrimeSpectrum
 
-section CommRing
-variable [CommRing R]
+section CommSemiring
+variable [CommSemiring R]
 
 open PrimeSpectrum in
 /--
@@ -1024,7 +1024,7 @@ lemma zeroLocus_ideal_mem_irreducibleComponents {I : Ideal R} :
 
 end PrimeSpectrum
 
-end CommRing
+end CommSemiring
 
 namespace LocalRing
 
feat: Generalizing two lemmas from CommRing to CommSemiring (#9599)

Co-authored-by: Jujian Zhang <jujian.zhang1998@outlook.com>

Diff
@@ -549,13 +549,13 @@ theorem isIrreducible_iff_vanishingIdeal_isPrime {s : Set (PrimeSpectrum R)} :
     isIrreducible_zeroLocus_iff_of_radical _ (isRadical_vanishingIdeal s)]
 #align prime_spectrum.is_irreducible_iff_vanishing_ideal_is_prime PrimeSpectrum.isIrreducible_iff_vanishingIdeal_isPrime
 
-lemma vanishingIdeal_isIrreducible {R} [CommRing R] :
+lemma vanishingIdeal_isIrreducible :
     vanishingIdeal (R := R) '' {s | IsIrreducible s} = {P | P.IsPrime} :=
   Set.ext fun I ↦ ⟨fun ⟨_, hs, e⟩ ↦ e ▸ isIrreducible_iff_vanishingIdeal_isPrime.mp hs,
     fun h ↦ ⟨zeroLocus I, (isIrreducible_zeroLocus_iff_of_radical _ h.isRadical).mpr h,
       (vanishingIdeal_zeroLocus_eq_radical I).trans h.radical⟩⟩
 
-lemma vanishingIdeal_isClosed_isIrreducible {R} [CommRing R] :
+lemma vanishingIdeal_isClosed_isIrreducible :
     vanishingIdeal (R := R) '' {s | IsClosed s ∧ IsIrreducible s} = {P | P.IsPrime} := by
   refine (subset_antisymm ?_ ?_).trans vanishingIdeal_isIrreducible
   · exact Set.image_subset _ fun _ ↦ And.right
feat : generalize PrimeSpectrum from Ring to Semiring (#8763)

Some results of PrimeSpectrum generalized from CommRing to CommSemiring.

Co-authored-by: Xavier Xarles <56635243+XavierXarles@users.noreply.github.com>

Diff
@@ -15,9 +15,9 @@ import Mathlib.Topology.Sober
 #align_import algebraic_geometry.prime_spectrum.basic from "leanprover-community/mathlib"@"a7c017d750512a352b623b1824d75da5998457d0"
 
 /-!
-# Prime spectrum of a commutative ring
+# Prime spectrum of a commutative (semi)ring
 
-The prime spectrum of a commutative ring is the type of all prime ideals.
+The prime spectrum of a commutative (semi)ring is the type of all prime ideals.
 It is naturally endowed with a topology: the Zariski topology.
 
 (It is also naturally endowed with a sheaf of rings,
@@ -25,7 +25,7 @@ which is constructed in `AlgebraicGeometry.StructureSheaf`.)
 
 ## Main definitions
 
-* `PrimeSpectrum R`: The prime spectrum of a commutative ring `R`,
+* `PrimeSpectrum R`: The prime spectrum of a commutative (semi)ring `R`,
   i.e., the set of all prime ideals of `R`.
 * `zeroLocus s`: The zero locus of a subset `s` of `R`
   is the subset of `PrimeSpectrum R` consisting of all prime ideals that contain `s`.
@@ -34,7 +34,7 @@ which is constructed in `AlgebraicGeometry.StructureSheaf`.)
 
 ## Conventions
 
-We denote subsets of rings with `s`, `s'`, etc...
+We denote subsets of (semi)rings with `s`, `s'`, etc...
 whereas we denote subsets of prime spectra with `t`, `t'`, etc...
 
 ## Inspiration/contributors
@@ -51,15 +51,15 @@ open Classical
 
 universe u v
 
-variable (R : Type u) (S : Type v) [CommRing R] [CommRing S]
+variable (R : Type u) (S : Type v)
 
-/-- The prime spectrum of a commutative ring `R` is the type of all prime ideals of `R`.
+/-- The prime spectrum of a commutative (semi)ring `R` is the type of all prime ideals of `R`.
 
 It is naturally endowed with a topology (the Zariski topology),
 and a sheaf of commutative rings (see `AlgebraicGeometry.StructureSheaf`).
 It is a fundamental building block in algebraic geometry. -/
 @[ext]
-structure PrimeSpectrum where
+structure PrimeSpectrum [CommSemiring R] where
   asIdeal : Ideal R
   IsPrime : asIdeal.IsPrime
 #align prime_spectrum PrimeSpectrum
@@ -68,6 +68,10 @@ attribute [instance] PrimeSpectrum.IsPrime
 
 namespace PrimeSpectrum
 
+section CommSemiRing
+
+variable [CommSemiring R] [CommSemiring S]
+
 variable {R S}
 
 instance [Nontrivial R] : Nonempty <| PrimeSpectrum R :=
@@ -123,8 +127,8 @@ theorem primeSpectrumProd_symm_inr_asIdeal (x : PrimeSpectrum S) :
   rfl
 #align prime_spectrum.prime_spectrum_prod_symm_inr_as_ideal PrimeSpectrum.primeSpectrumProd_symm_inr_asIdeal
 
-/-- The zero locus of a set `s` of elements of a commutative ring `R` is the set of all prime ideals
-of the ring that contain the set `s`.
+/-- 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
@@ -395,8 +399,8 @@ theorem mem_compl_zeroLocus_iff_not_mem {f : R} {I : PrimeSpectrum R} :
   rw [Set.mem_compl_iff, mem_zeroLocus, Set.singleton_subset_iff]; rfl
 #align prime_spectrum.mem_compl_zero_locus_iff_not_mem PrimeSpectrum.mem_compl_zeroLocus_iff_not_mem
 
-/-- The Zariski topology on the prime spectrum of a commutative 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. -/
+/-- 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) :=
   TopologicalSpace.ofClosed (Set.range PrimeSpectrum.zeroLocus) ⟨Set.univ, by simp⟩
     (by
@@ -484,7 +488,7 @@ theorem vanishingIdeal_strict_anti_mono_iff {s t : Set (PrimeSpectrum R)} (hs :
 #align prime_spectrum.vanishing_ideal_strict_anti_mono_iff PrimeSpectrum.vanishingIdeal_strict_anti_mono_iff
 
 /-- The antitone order embedding of closed subsets of `Spec R` into ideals of `R`. -/
-def closedsEmbedding (R : Type*) [CommRing R] :
+def closedsEmbedding (R : Type*) [CommSemiring R] :
     (TopologicalSpace.Closeds <| PrimeSpectrum R)ᵒᵈ ↪o Ideal R :=
   OrderEmbedding.ofMapLEIff (fun s => vanishingIdeal ↑(OrderDual.ofDual s)) fun s _ =>
     (vanishingIdeal_anti_mono_iff s.2).symm
@@ -502,7 +506,7 @@ theorem t1Space_iff_isField [IsDomain R] : T1Space (PrimeSpectrum R) ↔ IsField
           (by aesop))
   · refine' ⟨fun x => (isClosed_singleton_iff_isMaximal x).2 _⟩
     by_cases hx : x.asIdeal = ⊥
-    · letI := h.toField
+    · letI := h.toSemifield
       exact hx.symm ▸ Ideal.bot_isMaximal
     · exact absurd h (Ring.not_isField_iff_exists_prime.2 ⟨x.asIdeal, ⟨hx, x.2⟩⟩)
 #align prime_spectrum.t1_space_iff_is_field PrimeSpectrum.t1Space_iff_isField
@@ -567,7 +571,7 @@ instance quasiSober : QuasiSober (PrimeSpectrum R) :=
     ⟨⟨_, isIrreducible_iff_vanishingIdeal_isPrime.1 h₁⟩, by
       rw [IsGenericPoint, closure_singleton, zeroLocus_vanishingIdeal_eq_closure, h₂.closure_eq]⟩⟩
 
-/-- The prime spectrum of a commutative ring is a compact topological space. -/
+/-- The prime spectrum of a commutative (semi)ring is a compact topological space. -/
 instance compactSpace : CompactSpace (PrimeSpectrum R) := by
   refine compactSpace_of_finite_subfamily_closed fun S S_closed S_empty ↦ ?_
   choose I hI using fun i ↦ (isClosed_iff_zeroLocus_ideal (S i)).mp (S_closed i)
@@ -576,7 +580,7 @@ instance compactSpace : CompactSpace (PrimeSpectrum R) := by
 
 section Comap
 
-variable {S' : Type*} [CommRing S']
+variable {S' : Type*} [CommSemiring S']
 
 theorem preimage_comap_zeroLocus_aux (f : R →+* S) (s : Set R) :
     (fun y => ⟨Ideal.comap f y.asIdeal, inferInstance⟩ : PrimeSpectrum S → PrimeSpectrum R) ⁻¹'
@@ -586,7 +590,7 @@ theorem preimage_comap_zeroLocus_aux (f : R →+* S) (s : Set R) :
   simp only [mem_zeroLocus, Set.image_subset_iff, Set.mem_preimage, mem_zeroLocus, Ideal.coe_comap]
 #align prime_spectrum.preimage_comap_zero_locus_aux PrimeSpectrum.preimage_comap_zeroLocus_aux
 
-/-- The function between prime spectra of commutative rings induced by a ring homomorphism.
+/-- 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) where
   toFun y := ⟨Ideal.comap f y.asIdeal, inferInstance⟩
@@ -631,21 +635,6 @@ theorem comap_injective_of_surjective (f : R →+* S) (hf : Function.Surjective
       (congr_arg PrimeSpectrum.asIdeal h : (comap f x).asIdeal = (comap f y).asIdeal))
 #align prime_spectrum.comap_injective_of_surjective PrimeSpectrum.comap_injective_of_surjective
 
-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)) :=
-  haveI : x.asIdeal.IsMaximal := (isClosed_singleton_iff_isMaximal x).1 hx
-  (isClosed_singleton_iff_isMaximal _).2 (Ideal.comap_isMaximal_of_surjective f hf)
-#align prime_spectrum.comap_singleton_is_closed_of_surjective PrimeSpectrum.comap_singleton_isClosed_of_surjective
-
-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)) :=
-  (isClosed_singleton_iff_isMaximal _).2
-    (Ideal.isMaximal_comap_of_isIntegral_of_isMaximal' f hf x.asIdeal <|
-      (isClosed_singleton_iff_isMaximal x).1 hx)
-#align prime_spectrum.comap_singleton_is_closed_of_is_integral PrimeSpectrum.comap_singleton_isClosed_of_isIntegral
-
 variable (S)
 
 theorem localization_comap_inducing [Algebra R S] (M : Submonoid R) [IsLocalization M S] :
@@ -696,11 +685,6 @@ theorem localization_comap_range [Algebra R S] (M : Submonoid R) [IsLocalization
     exact IsLocalization.comap_map_of_isPrime_disjoint M S _ x.2 h
 #align prime_spectrum.localization_comap_range PrimeSpectrum.localization_comap_range
 
-section SpecOfSurjective
-
-/-! The comap of a surjective ring homomorphism is a closed embedding between the prime spectra. -/
-
-
 open Function RingHom
 
 theorem comap_inducing_of_surjective (hf : Surjective f) : Inducing (comap f) where
@@ -718,6 +702,36 @@ theorem comap_inducing_of_surjective (hf : Surjective f) : Inducing (comap f) wh
     exact ⟨f '' F, hF.symm.trans (preimage_comap_zeroLocus f F)⟩
 #align prime_spectrum.comap_inducing_of_surjective PrimeSpectrum.comap_inducing_of_surjective
 
+
+end Comap
+end CommSemiRing
+
+section SpecOfSurjective
+
+/-! The comap of a surjective ring homomorphism is a closed embedding between the prime spectra. -/
+
+
+open Function RingHom
+
+variable [CommRing R] [CommRing S]
+variable (f : R →+* S)
+variable {R}
+
+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)) :=
+  haveI : x.asIdeal.IsMaximal := (isClosed_singleton_iff_isMaximal x).1 hx
+  (isClosed_singleton_iff_isMaximal _).2 (Ideal.comap_isMaximal_of_surjective f hf)
+#align prime_spectrum.comap_singleton_is_closed_of_surjective PrimeSpectrum.comap_singleton_isClosed_of_surjective
+
+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)) :=
+  (isClosed_singleton_iff_isMaximal _).2
+    (Ideal.isMaximal_comap_of_isIntegral_of_isMaximal' f hf x.asIdeal <|
+      (isClosed_singleton_iff_isMaximal x).1 hx)
+#align prime_spectrum.comap_singleton_is_closed_of_is_integral PrimeSpectrum.comap_singleton_isClosed_of_isIntegral
+
 theorem image_comap_zeroLocus_eq_zeroLocus_comap (hf : Surjective f) (I : Ideal S) :
     comap f '' zeroLocus I = zeroLocus (I.comap f) := by
   simp only [Set.ext_iff, Set.mem_image, mem_zeroLocus, SetLike.coe_subset_coe]
@@ -758,7 +772,10 @@ theorem closedEmbedding_comap_of_surjective (hf : Surjective f) : ClosedEmbeddin
 
 end SpecOfSurjective
 
-end Comap
+section CommSemiRing
+
+variable [CommSemiring R] [CommSemiring S]
+variable {R S}
 
 section BasicOpen
 
@@ -848,7 +865,7 @@ theorem basicOpen_eq_bot_iff (f : R) : basicOpen f = ⊥ ↔ IsNilpotent f := by
   exact ⟨fun h I hI => h ⟨I, hI⟩, fun h ⟨I, hI⟩ => h I hI⟩
 #align prime_spectrum.basic_open_eq_bot_iff PrimeSpectrum.basicOpen_eq_bot_iff
 
-theorem localization_away_comap_range (S : Type v) [CommRing S] [Algebra R S] (r : R)
+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 := by
   rw [localization_comap_range S (Submonoid.powers r)]
   ext x
@@ -861,7 +878,7 @@ theorem localization_away_comap_range (S : Type v) [CommRing S] [Algebra R S] (r
     exact h₁ (x.2.mem_of_pow_mem _ h₃)
 #align prime_spectrum.localization_away_comap_range PrimeSpectrum.localization_away_comap_range
 
-theorem localization_away_openEmbedding (S : Type v) [CommRing S] [Algebra R S] (r : R)
+theorem localization_away_openEmbedding (S : Type v) [CommSemiring S] [Algebra R S] (r : R)
     [IsLocalization.Away r S] : OpenEmbedding (comap (algebraMap R S)) :=
   { toEmbedding := localization_comap_embedding S (Submonoid.powers r)
     open_range := by
@@ -952,8 +969,13 @@ protected def pointsEquivIrreducibleCloseds :
   map_rel_iff' {p q} :=
     (RelIso.symm irreducibleSetEquivPoints).map_rel_iff.trans (le_iff_specializes p q).symm
 
+end CommSemiRing
+
 end PrimeSpectrum
 
+section CommRing
+variable [CommRing R]
+
 open PrimeSpectrum in
 /--
 [Stacks: Lemma 00ES (3)](https://stacks.math.columbia.edu/tag/00ES)
@@ -1002,9 +1024,11 @@ lemma zeroLocus_ideal_mem_irreducibleComponents {I : Ideal R} :
 
 end PrimeSpectrum
 
+end CommRing
+
 namespace LocalRing
 
-variable [LocalRing R]
+variable [CommSemiring R] [LocalRing R]
 
 /-- The closed point in the prime spectrum of a local ring. -/
 def closedPoint : PrimeSpectrum R :=
@@ -1013,8 +1037,8 @@ def closedPoint : PrimeSpectrum R :=
 
 variable {R}
 
-theorem isLocalRingHom_iff_comap_closedPoint {S : Type v} [CommRing S] [LocalRing S] (f : R →+* S) :
-    IsLocalRingHom f ↔ PrimeSpectrum.comap f (closedPoint S) = closedPoint R := by
+theorem isLocalRingHom_iff_comap_closedPoint {S : Type v} [CommSemiring S] [LocalRing S]
+    (f : R →+* S) : IsLocalRingHom f ↔ PrimeSpectrum.comap f (closedPoint S) = closedPoint R := by
   -- Porting note : inline `this` does **not** work
   have := (local_hom_TFAE f).out 0 4
   rw [this, PrimeSpectrum.ext_iff]
@@ -1022,8 +1046,8 @@ theorem isLocalRingHom_iff_comap_closedPoint {S : Type v} [CommRing S] [LocalRin
 #align local_ring.is_local_ring_hom_iff_comap_closed_point LocalRing.isLocalRingHom_iff_comap_closedPoint
 
 @[simp]
-theorem comap_closedPoint {S : Type v} [CommRing S] [LocalRing S] (f : R →+* S) [IsLocalRingHom f] :
-    PrimeSpectrum.comap f (closedPoint S) = closedPoint R :=
+theorem comap_closedPoint {S : Type v} [CommSemiring S] [LocalRing S] (f : R →+* S)
+    [IsLocalRingHom f] : PrimeSpectrum.comap f (closedPoint S) = closedPoint R :=
   (isLocalRingHom_iff_comap_closedPoint f).mp inferInstance
 #align local_ring.comap_closed_point LocalRing.comap_closedPoint
 
@@ -1041,8 +1065,8 @@ theorem closedPoint_mem_iff (U : TopologicalSpace.Opens <| PrimeSpectrum R) :
 #align local_ring.closed_point_mem_iff LocalRing.closedPoint_mem_iff
 
 @[simp]
-theorem PrimeSpectrum.comap_residue (x : PrimeSpectrum (ResidueField R)) :
-    PrimeSpectrum.comap (residue R) x = closedPoint R := by
+theorem PrimeSpectrum.comap_residue (T : Type u) [CommRing T] [LocalRing T]
+    (x : PrimeSpectrum (ResidueField T)) : PrimeSpectrum.comap (residue T) x = closedPoint T := by
   rw [Subsingleton.elim x ⊥]
   ext1
   exact Ideal.mk_ker
feat(AlgebraicGeometry/PrimeSpectrum/*) : the collection of minimal prime ideals of a Noetherian ring is finite (#9088)

Co-PR : #9087 (maximal ideals of Artinian ring are finite)

Co-authored-by: Andrew Yang <the.erd.one@gmail.com> Co-authored-by: Junyan Xu <junyanxumath@gmail.com>

Co-authored-by: Junyan Xu <junyanxu.math@gmail.com>

Diff
@@ -6,6 +6,7 @@ Authors: Johan Commelin
 import Mathlib.LinearAlgebra.Finsupp
 import Mathlib.RingTheory.Ideal.Over
 import Mathlib.RingTheory.Ideal.Prod
+import Mathlib.RingTheory.Ideal.MinimalPrime
 import Mathlib.RingTheory.Localization.Away.Basic
 import Mathlib.RingTheory.Nilpotent
 import Mathlib.Topology.Sets.Closeds
@@ -544,6 +545,19 @@ theorem isIrreducible_iff_vanishingIdeal_isPrime {s : Set (PrimeSpectrum R)} :
     isIrreducible_zeroLocus_iff_of_radical _ (isRadical_vanishingIdeal s)]
 #align prime_spectrum.is_irreducible_iff_vanishing_ideal_is_prime PrimeSpectrum.isIrreducible_iff_vanishingIdeal_isPrime
 
+lemma vanishingIdeal_isIrreducible {R} [CommRing R] :
+    vanishingIdeal (R := R) '' {s | IsIrreducible s} = {P | P.IsPrime} :=
+  Set.ext fun I ↦ ⟨fun ⟨_, hs, e⟩ ↦ e ▸ isIrreducible_iff_vanishingIdeal_isPrime.mp hs,
+    fun h ↦ ⟨zeroLocus I, (isIrreducible_zeroLocus_iff_of_radical _ h.isRadical).mpr h,
+      (vanishingIdeal_zeroLocus_eq_radical I).trans h.radical⟩⟩
+
+lemma vanishingIdeal_isClosed_isIrreducible {R} [CommRing R] :
+    vanishingIdeal (R := R) '' {s | IsClosed s ∧ IsIrreducible s} = {P | P.IsPrime} := by
+  refine (subset_antisymm ?_ ?_).trans vanishingIdeal_isIrreducible
+  · exact Set.image_subset _ fun _ ↦ And.right
+  rintro _ ⟨s, hs, rfl⟩
+  exact ⟨closure s, ⟨isClosed_closure, hs.closure⟩, vanishingIdeal_closure s⟩
+
 instance irreducibleSpace [IsDomain R] : IrreducibleSpace (PrimeSpectrum R) := by
   rw [irreducibleSpace_def, Set.top_eq_univ, ← zeroLocus_bot, isIrreducible_zeroLocus_iff]
   simpa using Ideal.bot_prime
@@ -927,6 +941,65 @@ def localizationMapOfSpecializes {x y : PrimeSpectrum R} (h : x ⤳ y) :
         ⟨a, show a ∈ x.asIdeal.primeCompl from h ha⟩ : _))
 #align prime_spectrum.localization_map_of_specializes PrimeSpectrum.localizationMapOfSpecializes
 
+variable (R) in
+/--
+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 {s : Set (PrimeSpectrum R) | IsIrreducible s ∧ IsClosed s}ᵒᵈ where
+  __ := irreducibleSetEquivPoints.toEquiv.symm.trans OrderDual.toDual
+  map_rel_iff' {p q} :=
+    (RelIso.symm irreducibleSetEquivPoints).map_rel_iff.trans (le_iff_specializes p q).symm
+
+end PrimeSpectrum
+
+open PrimeSpectrum in
+/--
+[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)ᵒᵈ :=
+  let e : {p : Ideal R | p.IsPrime ∧ ⊥ ≤ p} ≃o PrimeSpectrum R :=
+    ⟨⟨fun x ↦ ⟨x.1, x.2.1⟩, fun x ↦ ⟨x.1, x.2, bot_le⟩, fun _ ↦ rfl, fun _ ↦ rfl⟩, Iff.rfl⟩
+  (e.trans <| PrimeSpectrum.pointsEquivIrreducibleCloseds R).minimalsIsoMaximals.trans
+    (OrderIso.setCongr _ _ <| by simp_rw [irreducibleComponents_eq_maximals_closed, and_comm]).dual
+
+namespace PrimeSpectrum
+
+lemma vanishingIdeal_irreducibleComponents :
+    vanishingIdeal '' (irreducibleComponents <| PrimeSpectrum R) =
+    minimalPrimes R := by
+  rw [irreducibleComponents_eq_maximals_closed, minimalPrimes_eq_minimals, ← minimals_swap,
+    ← PrimeSpectrum.vanishingIdeal_isClosed_isIrreducible, image_minimals_of_rel_iff_rel]
+  exact fun s t hs _ ↦ vanishingIdeal_anti_mono_iff hs.1
+
+lemma zeroLocus_minimalPrimes :
+    zeroLocus ∘ (↑) '' minimalPrimes R =
+    irreducibleComponents (PrimeSpectrum R) := by
+  rw [← vanishingIdeal_irreducibleComponents, ← Set.image_comp, Set.EqOn.image_eq_self]
+  intros s hs
+  simpa [zeroLocus_vanishingIdeal_eq_closure, closure_eq_iff_isClosed]
+    using isClosed_of_mem_irreducibleComponents s hs
+
+variable {R}
+
+lemma vanishingIdeal_mem_minimalPrimes {s : Set (PrimeSpectrum R)} :
+    vanishingIdeal s ∈ minimalPrimes R ↔ closure s ∈ irreducibleComponents (PrimeSpectrum R) := by
+  constructor
+  · rw [← zeroLocus_minimalPrimes, ← zeroLocus_vanishingIdeal_eq_closure]
+    exact Set.mem_image_of_mem _
+  · rw [← vanishingIdeal_irreducibleComponents, ← vanishingIdeal_closure]
+    exact Set.mem_image_of_mem _
+
+lemma zeroLocus_ideal_mem_irreducibleComponents {I : Ideal R} :
+    zeroLocus I ∈ irreducibleComponents (PrimeSpectrum R) ↔ I.radical ∈ minimalPrimes R := by
+  rw [← vanishingIdeal_zeroLocus_eq_radical]
+  conv_lhs => rw [← (isClosed_zeroLocus _).closure_eq]
+  exact vanishingIdeal_mem_minimalPrimes.symm
+
 end PrimeSpectrum
 
 namespace LocalRing
chore: rename lemmas containing "of_open" to match the naming convention (#8229)

Mostly, this means replacing "of_open" by "of_isOpen". A few lemmas names were misleading and are corrected differently. Zulip discussion.

Diff
@@ -808,7 +808,7 @@ theorem basicOpen_pow (f : R) (n : ℕ) (hn : 0 < n) : basicOpen (f ^ n) = basic
 theorem isTopologicalBasis_basic_opens :
     TopologicalSpace.IsTopologicalBasis
       (Set.range fun r : R => (basicOpen r : Set (PrimeSpectrum R))) := by
-  apply TopologicalSpace.isTopologicalBasis_of_open_of_nhds
+  apply TopologicalSpace.isTopologicalBasis_of_isOpen_of_nhds
   · rintro _ ⟨r, rfl⟩
     exact isOpen_basicOpen
   · rintro p U hp ⟨s, hs⟩
perf(FunLike.Basic): beta reduce CoeFun.coe (#7905)

This eliminates (fun a ↦ β) α in the type when applying a FunLike.

Co-authored-by: Matthew Ballard <matt@mrb.email> Co-authored-by: Eric Wieser <wieser.eric@gmail.com>

Diff
@@ -485,7 +485,7 @@ theorem vanishingIdeal_strict_anti_mono_iff {s t : Set (PrimeSpectrum R)} (hs :
 /-- The antitone order embedding of closed subsets of `Spec R` into ideals of `R`. -/
 def closedsEmbedding (R : Type*) [CommRing R] :
     (TopologicalSpace.Closeds <| PrimeSpectrum R)ᵒᵈ ↪o Ideal R :=
-  OrderEmbedding.ofMapLEIff (fun s => vanishingIdeal <| OrderDual.ofDual s) fun s _ =>
+  OrderEmbedding.ofMapLEIff (fun s => vanishingIdeal ↑(OrderDual.ofDual s)) fun s _ =>
     (vanishingIdeal_anti_mono_iff s.2).symm
 #align prime_spectrum.closeds_embedding PrimeSpectrum.closedsEmbedding
 
feat: let push_neg replace not (Set.Nonempty s) with s = emptyset (#8000)

Co-authored-by: Kyle Miller <kmill31415@gmail.com>

Diff
@@ -298,7 +298,7 @@ theorem zeroLocus_empty_iff_eq_top {I : Ideal R} : zeroLocus (I : Set R) = ∅ 
   · contrapose!
     intro h
     rcases Ideal.exists_le_maximal I h with ⟨M, hM, hIM⟩
-    exact Set.Nonempty.ne_empty ⟨⟨M, hM.isPrime⟩, hIM⟩
+    exact ⟨⟨M, hM.isPrime⟩, hIM⟩
   · rintro rfl
     apply zeroLocus_empty_of_one_mem
     trivial
chore: missing spaces after rcases, convert and congrm (#7725)

Replace rcases( with rcases (. Same thing for convert( and congrm(. No other change.

Diff
@@ -101,7 +101,7 @@ noncomputable def primeSpectrumProd :
           · exact False.elim (hJ.ne_top h.right)
           · simp only [h]
         · rintro ⟨I, hI⟩
-          rcases(Ideal.ideal_prod_prime I).mp hI with (⟨p, ⟨hp, rfl⟩⟩ | ⟨p, ⟨hp, rfl⟩⟩)
+          rcases (Ideal.ideal_prod_prime I).mp hI with (⟨p, ⟨hp, rfl⟩⟩ | ⟨p, ⟨hp, rfl⟩⟩)
           · exact ⟨Sum.inl ⟨p, hp⟩, rfl⟩
           · exact ⟨Sum.inr ⟨p, hp⟩, rfl⟩)
 #align prime_spectrum.prime_spectrum_prod PrimeSpectrum.primeSpectrumProd
feat: some golfing in AlgebraicGeometry.PrimeSpectrum.Basic (#7373)
Diff
@@ -74,9 +74,9 @@ instance [Nontrivial R] : Nonempty <| PrimeSpectrum R :=
   ⟨⟨I, hI.isPrime⟩⟩
 
 /-- The prime spectrum of the zero ring is empty. -/
-theorem punit (x : PrimeSpectrum PUnit) : False :=
-  x.1.ne_top_iff_one.1 x.2.1 <| Eq.substr (Subsingleton.elim 1 (0 : PUnit)) x.1.zero_mem
-#align prime_spectrum.punit PrimeSpectrum.punit
+instance [Subsingleton R] : IsEmpty (PrimeSpectrum R) :=
+  ⟨fun x ↦ x.IsPrime.ne_top <| SetLike.ext' <| Subsingleton.eq_univ_of_nonempty x.asIdeal.nonempty⟩
+#noalign prime_spectrum.punit
 
 variable (R S)
 
@@ -248,12 +248,8 @@ theorem vanishingIdeal_anti_mono {s t : Set (PrimeSpectrum R)} (h : s ⊆ t) :
 #align prime_spectrum.vanishing_ideal_anti_mono PrimeSpectrum.vanishingIdeal_anti_mono
 
 theorem zeroLocus_subset_zeroLocus_iff (I J : Ideal R) :
-    zeroLocus (I : Set R) ⊆ zeroLocus (J : Set R) ↔ J ≤ I.radical :=
-  ⟨fun h =>
-    Ideal.radical_le_radical_iff.mp
-      (vanishingIdeal_zeroLocus_eq_radical I ▸
-        vanishingIdeal_zeroLocus_eq_radical J ▸ vanishingIdeal_anti_mono h),
-    fun h => zeroLocus_radical I ▸ zeroLocus_anti_mono_ideal h⟩
+    zeroLocus (I : Set R) ⊆ zeroLocus (J : Set R) ↔ J ≤ I.radical := by
+  rw [subset_zeroLocus_iff_le_vanishingIdeal, vanishingIdeal_zeroLocus_eq_radical]
 #align prime_spectrum.zero_locus_subset_zero_locus_iff PrimeSpectrum.zeroLocus_subset_zeroLocus_iff
 
 theorem zeroLocus_subset_zeroLocus_singleton_iff (f g : R) :
@@ -439,34 +435,13 @@ theorem isClosed_zeroLocus (s : Set R) : IsClosed (zeroLocus s) := by
   exact ⟨s, rfl⟩
 #align prime_spectrum.is_closed_zero_locus PrimeSpectrum.isClosed_zeroLocus
 
-theorem isClosed_singleton_iff_isMaximal (x : PrimeSpectrum R) :
-    IsClosed ({x} : Set (PrimeSpectrum R)) ↔ x.asIdeal.IsMaximal := by
-  refine' (isClosed_iff_zeroLocus _).trans ⟨fun h => _, fun h => _⟩
-  · obtain ⟨s, hs⟩ := h
-    rw [eq_comm, Set.eq_singleton_iff_unique_mem] at hs
-    refine'
-      ⟨⟨x.2.1, fun I hI =>
-          Classical.not_not.1
-            (mt (Ideal.exists_le_maximal I) <| not_exists.2 fun J => not_and.2 fun hJ hIJ => _)⟩⟩
-    exact
-      ne_of_lt (lt_of_lt_of_le hI hIJ)
-        (symm <|
-          congr_arg PrimeSpectrum.asIdeal
-            (hs.2 ⟨J, hJ.isPrime⟩ fun r hr => hIJ (le_of_lt hI <| hs.1 hr)))
-  · refine' ⟨x.asIdeal.1, _⟩
-    rw [eq_comm, Set.eq_singleton_iff_unique_mem]
-    refine' ⟨fun _ h => h, fun y hy => PrimeSpectrum.ext _ _ (h.eq_of_le y.2.ne_top hy).symm⟩
-#align prime_spectrum.is_closed_singleton_iff_is_maximal PrimeSpectrum.isClosed_singleton_iff_isMaximal
-
 theorem zeroLocus_vanishingIdeal_eq_closure (t : Set (PrimeSpectrum R)) :
     zeroLocus (vanishingIdeal t : Set R) = closure t := by
-  apply Set.Subset.antisymm
-  · rintro x hx t' ⟨ht', ht⟩
-    obtain ⟨fs, rfl⟩ : ∃ s, t' = zeroLocus s := by rwa [isClosed_iff_zeroLocus] at ht'
-    rw [subset_zeroLocus_iff_subset_vanishingIdeal] at ht
-    exact Set.Subset.trans ht hx
-  · rw [(isClosed_zeroLocus _).closure_subset_iff]
-    exact subset_zeroLocus_vanishingIdeal t
+  rcases isClosed_iff_zeroLocus (closure t) |>.mp isClosed_closure with ⟨I, hI⟩
+  rw [subset_antisymm_iff, (isClosed_zeroLocus _).closure_subset_iff, hI,
+      subset_zeroLocus_iff_subset_vanishingIdeal, (gc R).u_l_u_eq_u,
+      ← subset_zeroLocus_iff_subset_vanishingIdeal, ← hI]
+  exact ⟨subset_closure, subset_zeroLocus_vanishingIdeal t⟩
 #align prime_spectrum.zero_locus_vanishing_ideal_eq_closure PrimeSpectrum.zeroLocus_vanishingIdeal_eq_closure
 
 theorem vanishingIdeal_closure (t : Set (PrimeSpectrum R)) :
@@ -478,6 +453,16 @@ theorem closure_singleton (x) : closure ({x} : Set (PrimeSpectrum R)) = zeroLocu
   rw [← zeroLocus_vanishingIdeal_eq_closure, vanishingIdeal_singleton]
 #align prime_spectrum.closure_singleton PrimeSpectrum.closure_singleton
 
+theorem isClosed_singleton_iff_isMaximal (x : PrimeSpectrum R) :
+    IsClosed ({x} : Set (PrimeSpectrum R)) ↔ x.asIdeal.IsMaximal := by
+  rw [← closure_subset_iff_isClosed, ← zeroLocus_vanishingIdeal_eq_closure,
+      vanishingIdeal_singleton]
+  constructor <;> intro H
+  · rcases x.asIdeal.exists_le_maximal x.2.1 with ⟨m, hm, hxm⟩
+    exact (congr_arg asIdeal (@H ⟨m, hm.isPrime⟩ hxm)) ▸ hm
+  · exact fun p hp ↦ PrimeSpectrum.ext _ _ (H.eq_of_le p.2.1 hp).symm
+#align prime_spectrum.is_closed_singleton_iff_is_maximal PrimeSpectrum.isClosed_singleton_iff_isMaximal
+
 theorem isRadical_vanishingIdeal (s : Set (PrimeSpectrum R)) : (vanishingIdeal s).IsRadical := by
   rw [← vanishingIdeal_closure, ← zeroLocus_vanishingIdeal_eq_closure,
     vanishingIdeal_zeroLocus_eq_radical]
@@ -568,6 +553,13 @@ instance quasiSober : QuasiSober (PrimeSpectrum R) :=
     ⟨⟨_, isIrreducible_iff_vanishingIdeal_isPrime.1 h₁⟩, by
       rw [IsGenericPoint, closure_singleton, zeroLocus_vanishingIdeal_eq_closure, h₂.closure_eq]⟩⟩
 
+/-- The prime spectrum of a commutative ring is a compact topological space. -/
+instance compactSpace : CompactSpace (PrimeSpectrum R) := by
+  refine compactSpace_of_finite_subfamily_closed fun S S_closed S_empty ↦ ?_
+  choose I hI using fun i ↦ (isClosed_iff_zeroLocus_ideal (S i)).mp (S_closed i)
+  simp_rw [hI, ← zeroLocus_iSup, zeroLocus_empty_iff_eq_top, ← top_le_iff] at S_empty ⊢
+  exact Ideal.isCompactElement_top.exists_finset_of_le_iSup _ _ S_empty
+
 section Comap
 
 variable {S' : Type*} [CommRing S']
@@ -834,33 +826,6 @@ theorem isBasis_basic_opens : TopologicalSpace.Opens.IsBasis (Set.range (@basicO
   rfl
 #align prime_spectrum.is_basis_basic_opens PrimeSpectrum.isBasis_basic_opens
 
-theorem isCompact_basicOpen (f : R) : IsCompact (basicOpen f : Set (PrimeSpectrum R)) :=
-  isCompact_of_finite_subfamily_closed fun {ι} Z hZc hZ => by
-    let I : ι → Ideal R := fun i => vanishingIdeal (Z i)
-    have hI : ∀ i, Z i = zeroLocus (I i) := fun i => by
-      simpa only [zeroLocus_vanishingIdeal_eq_closure] using (hZc i).closure_eq.symm
-    rw [basicOpen_eq_zeroLocus_compl f, Set.inter_comm, ← Set.diff_eq, Set.diff_eq_empty,
-      funext hI, ← zeroLocus_iSup] at hZ
-    obtain ⟨n, hn⟩ : f ∈ (⨆ i : ι, I i).radical := by
-      rw [← vanishingIdeal_zeroLocus_eq_radical]
-      apply vanishingIdeal_anti_mono hZ
-      exact subset_vanishingIdeal_zeroLocus {f} (Set.mem_singleton f)
-    rcases Submodule.exists_finset_of_mem_iSup I hn with ⟨s, hs⟩
-    use s
-    -- Using simp_rw here, because `hI` and `zeroLocus_iSup` need to be applied underneath binders
-    simp_rw [basicOpen_eq_zeroLocus_compl f, Set.inter_comm (zeroLocus {f})ᶜ, ← Set.diff_eq,
-      Set.diff_eq_empty]
-    rw [show (Set.iInter fun i => Set.iInter fun (_ : i ∈ s) => Z i) =
-      Set.iInter fun i => Set.iInter fun (_ : i ∈ s) => zeroLocus (I i) from congr_arg _
-        (funext fun i => congr_arg _ (funext fun _ => hI i))]
-    simp_rw [← zeroLocus_iSup]
-    rw [← zeroLocus_radical]
-    -- this one can't be in `simp_rw` because it would loop
-    apply zeroLocus_anti_mono
-    rw [Set.singleton_subset_iff]
-    exact ⟨n, hs⟩
-#align prime_spectrum.is_compact_basic_open PrimeSpectrum.isCompact_basicOpen
-
 @[simp]
 theorem basicOpen_eq_bot_iff (f : R) : basicOpen f = ⊥ ↔ IsNilpotent f := by
   rw [← TopologicalSpace.Opens.coe_inj, basicOpen_eq_zeroLocus_compl]
@@ -890,13 +855,12 @@ theorem localization_away_openEmbedding (S : Type v) [CommRing S] [Algebra R S]
       exact isOpen_basicOpen }
 #align prime_spectrum.localization_away_open_embedding PrimeSpectrum.localization_away_openEmbedding
 
-end BasicOpen
+theorem isCompact_basicOpen (f : R) : IsCompact (basicOpen f : Set (PrimeSpectrum R)) := by
+  rw [← localization_away_comap_range (Localization (Submonoid.powers f))]
+  exact isCompact_range (map_continuous _)
+#align prime_spectrum.is_compact_basic_open PrimeSpectrum.isCompact_basicOpen
 
-/-- The prime spectrum of a commutative ring is a compact topological space. -/
-instance compactSpace : CompactSpace (PrimeSpectrum R) :=
-  { isCompact_univ := by
-      convert isCompact_basicOpen (1 : R)
-      rw [basicOpen_one, TopologicalSpace.Opens.coe_top] }
+end BasicOpen
 
 section Order
 
chore: tidy various files (#6577)
Diff
@@ -20,15 +20,15 @@ The prime spectrum of a commutative ring is the type of all prime ideals.
 It is naturally endowed with a topology: the Zariski topology.
 
 (It is also naturally endowed with a sheaf of rings,
-which is constructed in `algebraic_geometry.structure_sheaf`.)
+which is constructed in `AlgebraicGeometry.StructureSheaf`.)
 
 ## Main definitions
 
 * `PrimeSpectrum R`: The prime spectrum of a commutative ring `R`,
   i.e., the set of all prime ideals of `R`.
-* `zero_locus s`: The zero locus of a subset `s` of `R`
+* `zeroLocus s`: The zero locus of a subset `s` of `R`
   is the subset of `PrimeSpectrum R` consisting of all prime ideals that contain `s`.
-* `vanishing_ideal t`: The vanishing ideal of a subset `t` of `PrimeSpectrum R`
+* `vanishingIdeal t`: The vanishing ideal of a subset `t` of `PrimeSpectrum R`
   is the intersection of points in `t` (viewed as prime ideals).
 
 ## Conventions
@@ -55,7 +55,7 @@ variable (R : Type u) (S : Type v) [CommRing R] [CommRing S]
 /-- The prime spectrum of a commutative ring `R` is the type of all prime ideals of `R`.
 
 It is naturally endowed with a topology (the Zariski topology),
-and a sheaf of commutative rings (see `algebraic_geometry.structure_sheaf`).
+and a sheaf of commutative rings (see `AlgebraicGeometry.StructureSheaf`).
 It is a fundamental building block in algebraic geometry. -/
 @[ext]
 structure PrimeSpectrum where
@@ -74,9 +74,9 @@ instance [Nontrivial R] : Nonempty <| PrimeSpectrum R :=
   ⟨⟨I, hI.isPrime⟩⟩
 
 /-- The prime spectrum of the zero ring is empty. -/
-theorem pUnit (x : PrimeSpectrum PUnit) : False :=
+theorem punit (x : PrimeSpectrum PUnit) : False :=
   x.1.ne_top_iff_one.1 x.2.1 <| Eq.substr (Subsingleton.elim 1 (0 : PUnit)) x.1.zero_mem
-#align prime_spectrum.punit PrimeSpectrum.pUnit
+#align prime_spectrum.punit PrimeSpectrum.punit
 
 variable (R S)
 
@@ -127,7 +127,7 @@ 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, `zero_locus s` is exactly the subset of
+`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.
 -/
 def zeroLocus (s : Set R) : Set (PrimeSpectrum R) :=
@@ -150,7 +150,7 @@ 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, `vanishing_ideal t` is exactly the ideal of `R`
+`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`.
 -/
 def vanishingIdeal (t : Set (PrimeSpectrum R)) : Ideal R :=
@@ -185,14 +185,14 @@ section Gc
 
 variable (R)
 
-/-- `zero_locus` and `vanishing_ideal` form a galois connection. -/
+/-- `zeroLocus` and `vanishingIdeal` form a galois connection. -/
 theorem gc :
     @GaloisConnection (Ideal R) (Set (PrimeSpectrum R))ᵒᵈ _ _ (fun I => zeroLocus I) fun t =>
       vanishingIdeal t :=
   fun I t => subset_zeroLocus_iff_le_vanishingIdeal t I
 #align prime_spectrum.gc PrimeSpectrum.gc
 
-/-- `zero_locus` and `vanishing_ideal` form a galois connection. -/
+/-- `zeroLocus` and `vanishingIdeal` form a galois connection. -/
 theorem gc_set :
     @GaloisConnection (Set R) (Set (PrimeSpectrum R))ᵒᵈ _ _ (fun s => zeroLocus s) fun t =>
       vanishingIdeal t := by
@@ -402,13 +402,15 @@ theorem mem_compl_zeroLocus_iff_not_mem {f : R} {I : PrimeSpectrum R} :
 of the topology: they are exactly those sets that are the zero locus of a subset of the ring. -/
 instance zariskiTopology : TopologicalSpace (PrimeSpectrum R) :=
   TopologicalSpace.ofClosed (Set.range PrimeSpectrum.zeroLocus) ⟨Set.univ, by simp⟩
-    (by intro Zs h
-        rw [Set.sInter_eq_iInter]
-        choose f hf using fun i : Zs => h i.prop
-        simp only [← hf]
-        exact ⟨_, zeroLocus_iUnion _⟩)
-    (by rintro _ ⟨s, rfl⟩ _ ⟨t, rfl⟩
-        exact ⟨_, (union_zeroLocus s t).symm⟩)
+    (by
+      intro Zs h
+      rw [Set.sInter_eq_iInter]
+      choose f hf using fun i : Zs => h i.prop
+      simp only [← hf]
+      exact ⟨_, zeroLocus_iUnion _⟩)
+    (by
+      rintro _ ⟨s, rfl⟩ _ ⟨t, rfl⟩
+      exact ⟨_, (union_zeroLocus s t).symm⟩)
 #align prime_spectrum.zariski_topology PrimeSpectrum.zariskiTopology
 
 theorem isOpen_iff (U : Set (PrimeSpectrum R)) : IsOpen U ↔ ∃ s, Uᶜ = zeroLocus s := by
@@ -519,7 +521,6 @@ theorem t1Space_iff_isField [IsDomain R] : T1Space (PrimeSpectrum R) ↔ IsField
     · exact absurd h (Ring.not_isField_iff_exists_prime.2 ⟨x.asIdeal, ⟨hx, x.2⟩⟩)
 #align prime_spectrum.t1_space_iff_is_field PrimeSpectrum.t1Space_iff_isField
 
--- mathport name: «exprZ( )»
 local notation "Z(" a ")" => zeroLocus (a : Set R)
 
 theorem isIrreducible_zeroLocus_iff_of_radical (I : Ideal R) (hI : I.IsRadical) :
@@ -576,8 +577,7 @@ theorem preimage_comap_zeroLocus_aux (f : R →+* S) (s : Set R) :
         zeroLocus s =
       zeroLocus (f '' s) := by
   ext x
-  simp only [mem_zeroLocus, Set.image_subset_iff]
-  rfl
+  simp only [mem_zeroLocus, Set.image_subset_iff, Set.mem_preimage, mem_zeroLocus, Ideal.coe_comap]
 #align prime_spectrum.preimage_comap_zero_locus_aux PrimeSpectrum.preimage_comap_zeroLocus_aux
 
 /-- The function between prime spectra of commutative rings induced by a ring homomorphism.
@@ -697,20 +697,19 @@ section SpecOfSurjective
 
 open Function RingHom
 
-theorem comap_inducing_of_surjective (hf : Surjective f) : Inducing (comap f) :=
-  {
-    induced := by
-      simp_rw [TopologicalSpace.ext_iff, ← isClosed_compl_iff,
-        ← @isClosed_compl_iff (PrimeSpectrum S)
-          ((TopologicalSpace.induced (comap f) zariskiTopology)), isClosed_induced_iff,
-        isClosed_iff_zeroLocus]
-      refine' fun s =>
-        ⟨fun ⟨F, hF⟩ =>
-          ⟨zeroLocus (f ⁻¹' F), ⟨f ⁻¹' F, rfl⟩, by
-            rw [preimage_comap_zeroLocus, Function.Surjective.image_preimage hf, hF]⟩,
-          _⟩
-      rintro ⟨-, ⟨F, rfl⟩, hF⟩
-      exact ⟨f '' F, hF.symm.trans (preimage_comap_zeroLocus f F)⟩ }
+theorem comap_inducing_of_surjective (hf : Surjective f) : Inducing (comap f) where
+  induced := by
+    simp_rw [TopologicalSpace.ext_iff, ← isClosed_compl_iff,
+      ← @isClosed_compl_iff (PrimeSpectrum S)
+        ((TopologicalSpace.induced (comap f) zariskiTopology)), isClosed_induced_iff,
+      isClosed_iff_zeroLocus]
+    refine' fun s =>
+      ⟨fun ⟨F, hF⟩ =>
+        ⟨zeroLocus (f ⁻¹' F), ⟨f ⁻¹' F, rfl⟩, by
+          rw [preimage_comap_zeroLocus, Function.Surjective.image_preimage hf, hF]⟩,
+        _⟩
+    rintro ⟨-, ⟨F, rfl⟩, hF⟩
+    exact ⟨f '' F, hF.symm.trans (preimage_comap_zeroLocus f F)⟩
 #align prime_spectrum.comap_inducing_of_surjective PrimeSpectrum.comap_inducing_of_surjective
 
 theorem image_comap_zeroLocus_eq_zeroLocus_comap (hf : Surjective f) (I : Ideal S) :
@@ -724,8 +723,7 @@ theorem image_comap_zeroLocus_eq_zeroLocus_comap (hf : Surjective f) (I : Ideal
     · obtain ⟨x', rfl⟩ := hf x
       exact Ideal.mem_map_of_mem f (h_I_p hx)
     · ext x
-      change f x ∈ p.asIdeal.map f ↔ _
-      rw [Ideal.mem_map_iff_of_surjective f hf]
+      rw [comap_asIdeal, Ideal.mem_comap, Ideal.mem_map_iff_of_surjective f hf]
       refine' ⟨_, fun hx => ⟨x, hx, rfl⟩⟩
       rintro ⟨x', hx', heq⟩
       rw [← sub_sub_cancel x' x]
@@ -758,7 +756,7 @@ end Comap
 
 section BasicOpen
 
-/-- `basic_open r` is the open subset containing all prime ideals not containing `r`. -/
+/-- `basicOpen r` is the open subset containing all prime ideals not containing `r`. -/
 def basicOpen (r : R) : TopologicalSpace.Opens (PrimeSpectrum R) where
   carrier := { x | r ∉ x.asIdeal }
   is_open' := ⟨{r}, Set.ext fun _ => Set.singleton_subset_iff.trans <| Classical.not_not.symm⟩
@@ -849,7 +847,7 @@ theorem isCompact_basicOpen (f : R) : IsCompact (basicOpen f : Set (PrimeSpectru
       exact subset_vanishingIdeal_zeroLocus {f} (Set.mem_singleton f)
     rcases Submodule.exists_finset_of_mem_iSup I hn with ⟨s, hs⟩
     use s
-    -- Using simp_rw here, because `hI` and `zero_locus_supr` need to be applied underneath binders
+    -- Using simp_rw here, because `hI` and `zeroLocus_iSup` need to be applied underneath binders
     simp_rw [basicOpen_eq_zeroLocus_compl f, Set.inter_comm (zeroLocus {f})ᶜ, ← Set.diff_eq,
       Set.diff_eq_empty]
     rw [show (Set.iInter fun i => Set.iInter fun (_ : i ∈ s) => Z i) =
@@ -898,8 +896,7 @@ end BasicOpen
 instance compactSpace : CompactSpace (PrimeSpectrum R) :=
   { isCompact_univ := by
       convert isCompact_basicOpen (1 : R)
-      rw [basicOpen_one]
-      rfl }
+      rw [basicOpen_one, TopologicalSpace.Opens.coe_top] }
 
 section Order
 
chore: more predictable ext lemmas for TopologicalSpace and UniformSpace (#6705)
Diff
@@ -645,7 +645,7 @@ variable (S)
 theorem localization_comap_inducing [Algebra R S] (M : Submonoid R) [IsLocalization M S] :
     Inducing (comap (algebraMap R S)) := by
   constructor
-  rw [topologicalSpace_eq_iff]
+  rw [TopologicalSpace.ext_iff]
   intro U
   rw [← isClosed_compl_iff, ← @isClosed_compl_iff (α := PrimeSpectrum S) (s := U)]
   generalize Uᶜ = Z
@@ -700,7 +700,7 @@ open Function RingHom
 theorem comap_inducing_of_surjective (hf : Surjective f) : Inducing (comap f) :=
   {
     induced := by
-      simp_rw [topologicalSpace_eq_iff, ← isClosed_compl_iff,
+      simp_rw [TopologicalSpace.ext_iff, ← isClosed_compl_iff,
         ← @isClosed_compl_iff (PrimeSpectrum S)
           ((TopologicalSpace.induced (comap f) zariskiTopology)), isClosed_induced_iff,
         isClosed_iff_zeroLocus]
chore: banish Type _ and Sort _ (#6499)

We remove all possible occurences of Type _ and Sort _ in favor of Type* and Sort*.

This has nice performance benefits.

Diff
@@ -332,12 +332,12 @@ theorem vanishingIdeal_union (t t' : Set (PrimeSpectrum R)) :
   (gc R).u_inf
 #align prime_spectrum.vanishing_ideal_union PrimeSpectrum.vanishingIdeal_union
 
-theorem zeroLocus_iSup {ι : Sort _} (I : ι → Ideal R) :
+theorem zeroLocus_iSup {ι : Sort*} (I : ι → Ideal R) :
     zeroLocus ((⨆ i, I i : Ideal R) : Set R) = ⋂ i, zeroLocus (I i) :=
   (gc R).l_iSup
 #align prime_spectrum.zero_locus_supr PrimeSpectrum.zeroLocus_iSup
 
-theorem zeroLocus_iUnion {ι : Sort _} (s : ι → Set R) :
+theorem zeroLocus_iUnion {ι : Sort*} (s : ι → Set R) :
     zeroLocus (⋃ i, s i) = ⋂ i, zeroLocus (s i) :=
   (gc_set R).l_iSup
 #align prime_spectrum.zero_locus_Union PrimeSpectrum.zeroLocus_iUnion
@@ -346,7 +346,7 @@ theorem zeroLocus_bUnion (s : Set (Set R)) :
     zeroLocus (⋃ s' ∈ s, s' : Set R) = ⋂ s' ∈ s, zeroLocus s' := by simp only [zeroLocus_iUnion]
 #align prime_spectrum.zero_locus_bUnion PrimeSpectrum.zeroLocus_bUnion
 
-theorem vanishingIdeal_iUnion {ι : Sort _} (t : ι → Set (PrimeSpectrum R)) :
+theorem vanishingIdeal_iUnion {ι : Sort*} (t : ι → Set (PrimeSpectrum R)) :
     vanishingIdeal (⋃ i, t i) = ⨅ i, vanishingIdeal (t i) :=
   (gc R).u_iInf
 #align prime_spectrum.vanishing_ideal_Union PrimeSpectrum.vanishingIdeal_iUnion
@@ -496,7 +496,7 @@ theorem vanishingIdeal_strict_anti_mono_iff {s t : Set (PrimeSpectrum R)} (hs :
 #align prime_spectrum.vanishing_ideal_strict_anti_mono_iff PrimeSpectrum.vanishingIdeal_strict_anti_mono_iff
 
 /-- The antitone order embedding of closed subsets of `Spec R` into ideals of `R`. -/
-def closedsEmbedding (R : Type _) [CommRing R] :
+def closedsEmbedding (R : Type*) [CommRing R] :
     (TopologicalSpace.Closeds <| PrimeSpectrum R)ᵒᵈ ↪o Ideal R :=
   OrderEmbedding.ofMapLEIff (fun s => vanishingIdeal <| OrderDual.ofDual s) fun s _ =>
     (vanishingIdeal_anti_mono_iff s.2).symm
@@ -569,7 +569,7 @@ instance quasiSober : QuasiSober (PrimeSpectrum R) :=
 
 section Comap
 
-variable {S' : Type _} [CommRing S']
+variable {S' : Type*} [CommRing S']
 
 theorem preimage_comap_zeroLocus_aux (f : R →+* S) (s : Set R) :
     (fun y => ⟨Ideal.comap f y.asIdeal, inferInstance⟩ : PrimeSpectrum S → PrimeSpectrum R) ⁻¹'
@@ -946,7 +946,7 @@ instance [IsDomain R] : OrderBot (PrimeSpectrum R) where
   bot := ⟨⊥, Ideal.bot_prime⟩
   bot_le I := @bot_le _ _ _ I.asIdeal
 
-instance {R : Type _} [Field R] : Unique (PrimeSpectrum R) where
+instance {R : Type*} [Field R] : Unique (PrimeSpectrum R) where
   default := ⊥
   uniq x := PrimeSpectrum.ext _ _ ((IsSimpleOrder.eq_bot_or_eq_top _).resolve_right x.2.ne_top)
 
chore: use · instead of . (#6085)
Diff
@@ -655,7 +655,7 @@ theorem localization_comap_inducing [Algebra R S] (M : Submonoid R) [IsLocalizat
     refine ⟨_, ⟨algebraMap R S ⁻¹' Ideal.span s, rfl⟩, ?_⟩
     rw [preimage_comap_zeroLocus, ← zeroLocus_span, ← zeroLocus_span s]
     congr 2
-    exact congr_arg (zeroLocus .) <| Submodule.carrier_inj.mpr
+    exact congr_arg (zeroLocus ·) <| Submodule.carrier_inj.mpr
       (IsLocalization.map_comap M S (Ideal.span s))
   · rintro ⟨_, ⟨t, rfl⟩, rfl⟩
     rw [preimage_comap_zeroLocus]
chore: script to replace headers with #align_import statements (#5979)

Open in Gitpod

Co-authored-by: Eric Wieser <wieser.eric@gmail.com> Co-authored-by: Scott Morrison <scott.morrison@gmail.com>

Diff
@@ -2,11 +2,6 @@
 Copyright (c) 2020 Johan Commelin. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Johan Commelin
-
-! This file was ported from Lean 3 source module algebraic_geometry.prime_spectrum.basic
-! leanprover-community/mathlib commit a7c017d750512a352b623b1824d75da5998457d0
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathlib.LinearAlgebra.Finsupp
 import Mathlib.RingTheory.Ideal.Over
@@ -16,6 +11,8 @@ import Mathlib.RingTheory.Nilpotent
 import Mathlib.Topology.Sets.Closeds
 import Mathlib.Topology.Sober
 
+#align_import algebraic_geometry.prime_spectrum.basic from "leanprover-community/mathlib"@"a7c017d750512a352b623b1824d75da5998457d0"
+
 /-!
 # Prime spectrum of a commutative ring
 
chore: remove occurrences of semicolon after space (#5713)

This is the second half of the changes originally in #5699, removing all occurrences of ; after a space and implementing a linter rule to enforce it.

In most cases this 2-character substring has a space after it, so the following command was run first:

find . -type f -name "*.lean" -exec sed -i -E 's/ ; /; /g' {} \;

The remaining cases were few enough in number that they were done manually.

Diff
@@ -398,7 +398,7 @@ theorem sup_vanishingIdeal_le (t t' : Set (PrimeSpectrum R)) :
 
 theorem mem_compl_zeroLocus_iff_not_mem {f : R} {I : PrimeSpectrum R} :
     I ∈ (zeroLocus {f} : Set (PrimeSpectrum R))ᶜ ↔ f ∉ I.asIdeal := by
-  rw [Set.mem_compl_iff, mem_zeroLocus, Set.singleton_subset_iff] ; rfl
+  rw [Set.mem_compl_iff, mem_zeroLocus, Set.singleton_subset_iff]; rfl
 #align prime_spectrum.mem_compl_zero_locus_iff_not_mem PrimeSpectrum.mem_compl_zeroLocus_iff_not_mem
 
 /-- The Zariski topology on the prime spectrum of a commutative ring is defined via the closed sets
@@ -415,7 +415,7 @@ instance zariskiTopology : TopologicalSpace (PrimeSpectrum R) :=
 #align prime_spectrum.zariski_topology PrimeSpectrum.zariskiTopology
 
 theorem isOpen_iff (U : Set (PrimeSpectrum R)) : IsOpen U ↔ ∃ s, Uᶜ = zeroLocus s := by
-  simp only [@eq_comm _ Uᶜ] ; rfl
+  simp only [@eq_comm _ Uᶜ]; rfl
 #align prime_spectrum.is_open_iff PrimeSpectrum.isOpen_iff
 
 theorem isClosed_iff_zeroLocus (Z : Set (PrimeSpectrum R)) : IsClosed Z ↔ ∃ s, Z = zeroLocus s := by
feat: port RingTheory.Jacobson (#4338)

Co-authored-by: Jason Yuen <jason_yuen2007@hotmail.com> Co-authored-by: int-y1 <jason_yuen2007@hotmail.com> Co-authored-by: Antoine Chambert-Loir <antoine.chambert-loir@math.univ-paris-diderot.fr> Co-authored-by: Johan Commelin <johan@commelin.net> Co-authored-by: Jujian Zhang <jujian.zhang1998@outlook.com> Co-authored-by: Parcly Taxel <reddeloostw@gmail.com> Co-authored-by: Jeremy Tan Jie Rui <reddeloostw@gmail.com>

Diff
@@ -639,7 +639,7 @@ theorem comap_singleton_isClosed_of_isIntegral (f : R →+* S) (hf : f.IsIntegra
     (x : PrimeSpectrum S) (hx : IsClosed ({x} : Set (PrimeSpectrum S))) :
     IsClosed ({comap f x} : Set (PrimeSpectrum R)) :=
   (isClosed_singleton_iff_isMaximal _).2
-    (Ideal.isMaximal_comap_of_isIntegral_of_is_maximal' f hf x.asIdeal <|
+    (Ideal.isMaximal_comap_of_isIntegral_of_isMaximal' f hf x.asIdeal <|
       (isClosed_singleton_iff_isMaximal x).1 hx)
 #align prime_spectrum.comap_singleton_is_closed_of_is_integral PrimeSpectrum.comap_singleton_isClosed_of_isIntegral
 
fix: change compl precedence (#5586)

Co-authored-by: Yury G. Kudryashov <urkud@urkud.name>

Diff
@@ -415,7 +415,7 @@ instance zariskiTopology : TopologicalSpace (PrimeSpectrum R) :=
 #align prime_spectrum.zariski_topology PrimeSpectrum.zariskiTopology
 
 theorem isOpen_iff (U : Set (PrimeSpectrum R)) : IsOpen U ↔ ∃ s, Uᶜ = zeroLocus s := by
-  simp only [@eq_comm _ (Uᶜ)] ; rfl
+  simp only [@eq_comm _ Uᶜ] ; rfl
 #align prime_spectrum.is_open_iff PrimeSpectrum.isOpen_iff
 
 theorem isClosed_iff_zeroLocus (Z : Set (PrimeSpectrum R)) : IsClosed Z ↔ ∃ s, Z = zeroLocus s := by
@@ -778,7 +778,7 @@ theorem isOpen_basicOpen {a : R} : IsOpen (basicOpen a : Set (PrimeSpectrum R))
 
 @[simp]
 theorem basicOpen_eq_zeroLocus_compl (r : R) :
-    (basicOpen r : Set (PrimeSpectrum R)) = zeroLocus {r}ᶜ :=
+    (basicOpen r : Set (PrimeSpectrum R)) = (zeroLocus {r})ᶜ :=
   Set.ext fun x => by simp only [SetLike.mem_coe, mem_basicOpen, Set.mem_compl_iff, mem_zeroLocus,
     Set.singleton_subset_iff]
 #align prime_spectrum.basic_open_eq_zero_locus_compl PrimeSpectrum.basicOpen_eq_zeroLocus_compl
@@ -853,7 +853,7 @@ theorem isCompact_basicOpen (f : R) : IsCompact (basicOpen f : Set (PrimeSpectru
     rcases Submodule.exists_finset_of_mem_iSup I hn with ⟨s, hs⟩
     use s
     -- Using simp_rw here, because `hI` and `zero_locus_supr` need to be applied underneath binders
-    simp_rw [basicOpen_eq_zeroLocus_compl f, Set.inter_comm (zeroLocus {f}ᶜ), ← Set.diff_eq,
+    simp_rw [basicOpen_eq_zeroLocus_compl f, Set.inter_comm (zeroLocus {f})ᶜ, ← Set.diff_eq,
       Set.diff_eq_empty]
     rw [show (Set.iInter fun i => Set.iInter fun (_ : i ∈ s) => Z i) =
       Set.iInter fun i => Set.iInter fun (_ : i ∈ s) => zeroLocus (I i) from congr_arg _
feat: port AlgebraicGeometry.Properties (#5585)
Diff
@@ -561,11 +561,11 @@ theorem isIrreducible_iff_vanishingIdeal_isPrime {s : Set (PrimeSpectrum R)} :
     isIrreducible_zeroLocus_iff_of_radical _ (isRadical_vanishingIdeal s)]
 #align prime_spectrum.is_irreducible_iff_vanishing_ideal_is_prime PrimeSpectrum.isIrreducible_iff_vanishingIdeal_isPrime
 
-instance [IsDomain R] : IrreducibleSpace (PrimeSpectrum R) := by
+instance irreducibleSpace [IsDomain R] : IrreducibleSpace (PrimeSpectrum R) := by
   rw [irreducibleSpace_def, Set.top_eq_univ, ← zeroLocus_bot, isIrreducible_zeroLocus_iff]
   simpa using Ideal.bot_prime
 
-instance : QuasiSober (PrimeSpectrum R) :=
+instance quasiSober : QuasiSober (PrimeSpectrum R) :=
   ⟨fun {S} h₁ h₂ =>
     ⟨⟨_, isIrreducible_iff_vanishingIdeal_isPrime.1 h₁⟩, by
       rw [IsGenericPoint, closure_singleton, zeroLocus_vanishingIdeal_eq_closure, h₂.closure_eq]⟩⟩
feat: port AlgebraicGeometry.AffineScheme (#5394)

Co-authored-by: Jeremy Tan Jie Rui <reddeloostw@gmail.com>

Diff
@@ -898,7 +898,7 @@ theorem localization_away_openEmbedding (S : Type v) [CommRing S] [Algebra R S]
 end BasicOpen
 
 /-- The prime spectrum of a commutative ring is a compact topological space. -/
-instance : CompactSpace (PrimeSpectrum R) :=
+instance compactSpace : CompactSpace (PrimeSpectrum R) :=
   { isCompact_univ := by
       convert isCompact_basicOpen (1 : R)
       rw [basicOpen_one]
chore: clean up spacing around at and goals (#5387)

Changes are of the form

  • some_tactic at h⊢ -> some_tactic at h ⊢
  • some_tactic at h -> some_tactic at h
Diff
@@ -543,7 +543,7 @@ theorem isIrreducible_zeroLocus_iff_of_radical (I : Ideal R) (hI : I.IsRadical)
       · simp_rw [← SetLike.mem_coe, ← Set.singleton_subset_iff, ← Ideal.span_le, ←
           Ideal.span_singleton_mul_span_singleton]
         refine' fun h x y h' => h _ _ _
-        rw [← hI.radical_le_iff] at h'⊢
+        rw [← hI.radical_le_iff] at h' ⊢
         simpa only [Ideal.radical_inf, Ideal.radical_mul] using h'
       · simp_rw [or_iff_not_imp_left, SetLike.not_le_iff_exists]
         rintro h s t h' ⟨x, hx, hx'⟩ y hy
chore: formatting issues (#4947)

Co-authored-by: Scott Morrison <scott.morrison@anu.edu.au> Co-authored-by: Parcly Taxel <reddeloostw@gmail.com>

Diff
@@ -899,10 +899,10 @@ end BasicOpen
 
 /-- The prime spectrum of a commutative ring is a compact topological space. -/
 instance : CompactSpace (PrimeSpectrum R) :=
-{ isCompact_univ := by
-    convert isCompact_basicOpen (1 : R)
-    rw [basicOpen_one]
-    rfl }
+  { isCompact_univ := by
+      convert isCompact_basicOpen (1 : R)
+      rw [basicOpen_one]
+      rfl }
 
 section Order
 
style: allow _ for an argument in notation3 & replace _foo with _ in notation3 (#4652)
Diff
@@ -157,7 +157,7 @@ At a point `x` (a prime ideal) the function (i.e., element) `f` takes values in
 consisting of all "functions" that vanish on all of `t`.
 -/
 def vanishingIdeal (t : Set (PrimeSpectrum R)) : Ideal R :=
-  ⨅ (x : PrimeSpectrum R) (__ : x ∈ t), x.asIdeal
+  ⨅ (x : PrimeSpectrum R) (_ : x ∈ t), x.asIdeal
 #align prime_spectrum.vanishing_ideal PrimeSpectrum.vanishingIdeal
 
 theorem coe_vanishingIdeal (t : Set (PrimeSpectrum R)) :
feat: port AlgebraicGeometry.PrimeSpectrum.Basic (#4276)

Dependencies 11 + 675

676 files ported (98.4%)
290349 lines ported (98.2%)
Show graph

The unported dependencies are