ring_theory.localization.at_primeMathlib.RingTheory.Localization.AtPrime

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)

(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)

(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)

(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
@@ -86,7 +86,7 @@ namespace IsLocalization
 theorem AtPrime.Nontrivial [IsLocalization.AtPrime S I] : Nontrivial S :=
   nontrivial_of_ne (0 : S) 1 fun hze =>
     by
-    rw [← (algebraMap R S).map_one, ← (algebraMap R S).map_zero] at hze 
+    rw [← (algebraMap R S).map_one, ← (algebraMap R S).map_zero] at hze
     obtain ⟨t, ht⟩ := (eq_iff_exists I.prime_compl S).1 hze
     have htz : (t : R) = 0 := by simpa using ht.symm
     exact t.2 (htz.symm ▸ I.zero_mem : ↑t ∈ I)
@@ -108,10 +108,10 @@ theorem AtPrime.localRing [IsLocalization.AtPrime S I] : LocalRing S :=
       rcases mk'_surjective I.prime_compl x with ⟨rx, sx, hrx⟩
       rcases mk'_surjective I.prime_compl y with ⟨ry, sy, hry⟩
       rcases mk'_surjective I.prime_compl z with ⟨rz, sz, hrz⟩
-      rw [← hrx, ← hry, ← hrz, ← mk'_add, ← mk'_mul, ← mk'_self S I.prime_compl.one_mem] at hxyz 
-      rw [← hrx] at hx ; rw [← hry] at hy 
+      rw [← hrx, ← hry, ← hrz, ← mk'_add, ← mk'_mul, ← mk'_self S I.prime_compl.one_mem] at hxyz
+      rw [← hrx] at hx; rw [← hry] at hy
       obtain ⟨t, ht⟩ := IsLocalization.eq.1 hxyz
-      simp only [mul_one, one_mul, Submonoid.coe_mul, Subtype.coe_mk] at ht 
+      simp only [mul_one, one_mul, Submonoid.coe_mul, Subtype.coe_mk] at ht
       suffices : ↑t * (↑sx * ↑sy * ↑sz) ∈ I;
       exact
         not_or_of_not (mt hp.mem_or_mem <| not_or_of_not sx.2 sy.2) sz.2
@@ -280,7 +280,7 @@ instance isLocalRingHom_localRingHom (J : Ideal P) [hJ : J.IsPrime] (f : R →+*
   IsLocalRingHom.mk fun x hx =>
     by
     rcases IsLocalization.mk'_surjective I.prime_compl x with ⟨r, s, rfl⟩
-    rw [local_ring_hom_mk'] at hx 
+    rw [local_ring_hom_mk'] at hx
     rw [at_prime.is_unit_mk'_iff] at hx ⊢
     exact fun hr => hx ((set_like.ext_iff.mp hIJ r).mp hr)
 #align localization.is_local_ring_hom_local_ring_hom Localization.isLocalRingHom_localRingHom
Diff
@@ -3,8 +3,8 @@ Copyright (c) 2018 Kenny Lau. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Kenny Lau, Mario Carneiro, Johan Commelin, Amelia Livingston, Anne Baanen
 -/
-import Mathbin.RingTheory.Ideal.LocalRing
-import Mathbin.RingTheory.Localization.Ideal
+import RingTheory.Ideal.LocalRing
+import RingTheory.Localization.Ideal
 
 #align_import ring_theory.localization.at_prime from "leanprover-community/mathlib"@"33c67ae661dd8988516ff7f247b0be3018cdd952"
 
Diff
@@ -50,7 +50,7 @@ namespace Ideal
 def primeCompl : Submonoid R where
   carrier := (Iᶜ : Set R)
   one_mem' := by convert I.ne_top_iff_one.1 hp.1 <;> rfl
-  mul_mem' x y hnx hny hxy := Or.cases_on (hp.mem_or_mem hxy) hnx hny
+  hMul_mem' x y hnx hny hxy := Or.cases_on (hp.mem_or_mem hxy) hnx hny
 #align ideal.prime_compl Ideal.primeCompl
 -/
 
Diff
@@ -2,15 +2,12 @@
 Copyright (c) 2018 Kenny Lau. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Kenny Lau, Mario Carneiro, Johan Commelin, Amelia Livingston, Anne Baanen
-
-! This file was ported from Lean 3 source module ring_theory.localization.at_prime
-! leanprover-community/mathlib commit 33c67ae661dd8988516ff7f247b0be3018cdd952
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathbin.RingTheory.Ideal.LocalRing
 import Mathbin.RingTheory.Localization.Ideal
 
+#align_import ring_theory.localization.at_prime from "leanprover-community/mathlib"@"33c67ae661dd8988516ff7f247b0be3018cdd952"
+
 /-!
 # Localizations of commutative rings at the complement of a prime ideal
 
Diff
@@ -46,8 +46,6 @@ section AtPrime
 
 variable (I : Ideal R) [hp : I.IsPrime]
 
-include hp
-
 namespace Ideal
 
 #print Ideal.primeCompl /-
@@ -59,9 +57,11 @@ def primeCompl : Submonoid R where
 #align ideal.prime_compl Ideal.primeCompl
 -/
 
+#print Ideal.primeCompl_le_nonZeroDivisors /-
 theorem primeCompl_le_nonZeroDivisors [NoZeroDivisors R] : I.primeCompl ≤ nonZeroDivisors R :=
   le_nonZeroDivisors_of_noZeroDivisors <| not_not_intro I.zero_mem
 #align ideal.prime_compl_le_non_zero_divisors Ideal.primeCompl_le_nonZeroDivisors
+-/
 
 end Ideal
 
@@ -85,6 +85,7 @@ protected abbrev Localization.AtPrime :=
 
 namespace IsLocalization
 
+#print IsLocalization.AtPrime.Nontrivial /-
 theorem AtPrime.Nontrivial [IsLocalization.AtPrime S I] : Nontrivial S :=
   nontrivial_of_ne (0 : S) 1 fun hze =>
     by
@@ -93,9 +94,11 @@ theorem AtPrime.Nontrivial [IsLocalization.AtPrime S I] : Nontrivial S :=
     have htz : (t : R) = 0 := by simpa using ht.symm
     exact t.2 (htz.symm ▸ I.zero_mem : ↑t ∈ I)
 #align is_localization.at_prime.nontrivial IsLocalization.AtPrime.Nontrivial
+-/
 
 attribute [local instance] at_prime.nontrivial
 
+#print IsLocalization.AtPrime.localRing /-
 theorem AtPrime.localRing [IsLocalization.AtPrime S I] : LocalRing S :=
   LocalRing.of_nonunits_add
     (by
@@ -122,15 +125,18 @@ theorem AtPrime.localRing [IsLocalization.AtPrime S I] : LocalRing S :=
           (I.mul_mem_right _
             (I.add_mem (I.mul_mem_right _ <| this hx) (I.mul_mem_right _ <| this hy))))
 #align is_localization.at_prime.local_ring IsLocalization.AtPrime.localRing
+-/
 
 end IsLocalization
 
 namespace Localization
 
+#print Localization.AtPrime.localRing /-
 /-- The localization of `R` at the complement of a prime ideal is a local ring. -/
 instance AtPrime.localRing : LocalRing (Localization I.primeCompl) :=
   IsLocalization.AtPrime.localRing (Localization I.primeCompl) I
 #align localization.at_prime.local_ring Localization.AtPrime.localRing
+-/
 
 end Localization
 
@@ -140,26 +146,29 @@ namespace IsLocalization
 
 variable {A : Type _} [CommRing A] [IsDomain A]
 
+#print IsLocalization.isDomain_of_local_atPrime /-
 /-- The localization of an integral domain at the complement of a prime ideal is an integral domain.
 -/
 instance isDomain_of_local_atPrime {P : Ideal A} (hp : P.IsPrime) :
     IsDomain (Localization.AtPrime P) :=
   isDomain_localization P.primeCompl_le_nonZeroDivisors
 #align is_localization.is_domain_of_local_at_prime IsLocalization.isDomain_of_local_atPrime
+-/
 
 namespace AtPrime
 
 variable (I : Ideal R) [hI : I.IsPrime] [IsLocalization.AtPrime S I]
 
-include hI
-
+#print IsLocalization.AtPrime.isUnit_to_map_iff /-
 theorem isUnit_to_map_iff (x : R) : IsUnit ((algebraMap R S) x) ↔ x ∈ I.primeCompl :=
   ⟨fun h hx =>
     (isPrime_of_isPrime_disjoint I.primeCompl S I hI disjoint_compl_left).ne_top <|
       (Ideal.map (algebraMap R S) I).eq_top_of_isUnit_mem (Ideal.mem_map_of_mem _ hx) h,
     fun h => map_units S ⟨x, h⟩⟩
 #align is_localization.at_prime.is_unit_to_map_iff IsLocalization.AtPrime.isUnit_to_map_iff
+-/
 
+#print IsLocalization.AtPrime.to_map_mem_maximal_iff /-
 -- Can't use typeclasses to infer the `local_ring` instance, so use an `opt_param` instead
 -- (since `local_ring` is a `Prop`, there should be no unification issues.)
 theorem to_map_mem_maximal_iff (x : R) (h : LocalRing S := localRing S I) :
@@ -168,23 +177,30 @@ theorem to_map_mem_maximal_iff (x : R) (h : LocalRing S := localRing S I) :
     simpa only [LocalRing.mem_maximalIdeal, mem_nonunits_iff, Classical.not_not] using
       is_unit_to_map_iff S I x
 #align is_localization.at_prime.to_map_mem_maximal_iff IsLocalization.AtPrime.to_map_mem_maximal_iff
+-/
 
+#print IsLocalization.AtPrime.comap_maximalIdeal /-
 theorem comap_maximalIdeal (h : LocalRing S := localRing S I) :
     (LocalRing.maximalIdeal S).comap (algebraMap R S) = I :=
   Ideal.ext fun x => by simpa only [Ideal.mem_comap] using to_map_mem_maximal_iff _ I x
 #align is_localization.at_prime.comap_maximal_ideal IsLocalization.AtPrime.comap_maximalIdeal
+-/
 
+#print IsLocalization.AtPrime.isUnit_mk'_iff /-
 theorem isUnit_mk'_iff (x : R) (y : I.primeCompl) : IsUnit (mk' S x y) ↔ x ∈ I.primeCompl :=
   ⟨fun h hx => mk'_mem_iff.mpr ((to_map_mem_maximal_iff S I x).mpr hx) h, fun h =>
     isUnit_iff_exists_inv.mpr ⟨mk' S ↑y ⟨x, h⟩, mk'_mul_mk'_eq_one ⟨x, h⟩ y⟩⟩
 #align is_localization.at_prime.is_unit_mk'_iff IsLocalization.AtPrime.isUnit_mk'_iff
+-/
 
+#print IsLocalization.AtPrime.mk'_mem_maximal_iff /-
 theorem mk'_mem_maximal_iff (x : R) (y : I.primeCompl) (h : LocalRing S := localRing S I) :
     mk' S x y ∈ LocalRing.maximalIdeal S ↔ x ∈ I :=
   not_iff_not.mp <| by
     simpa only [LocalRing.mem_maximalIdeal, mem_nonunits_iff, Classical.not_not] using
       is_unit_mk'_iff S I x y
 #align is_localization.at_prime.mk'_mem_maximal_iff IsLocalization.AtPrime.mk'_mem_maximal_iff
+-/
 
 end AtPrime
 
@@ -198,10 +214,9 @@ attribute [local instance] Classical.propDecidable
 
 variable (I : Ideal R) [hI : I.IsPrime]
 
-include hI
-
 variable {I}
 
+#print Localization.AtPrime.comap_maximalIdeal /-
 /-- The unique maximal ideal of the localization at `I.prime_compl` lies over the ideal `I`. -/
 theorem AtPrime.comap_maximalIdeal :
     Ideal.comap (algebraMap R (Localization.AtPrime I))
@@ -209,7 +224,9 @@ theorem AtPrime.comap_maximalIdeal :
       I :=
   AtPrime.comap_maximalIdeal _ _
 #align localization.at_prime.comap_maximal_ideal Localization.AtPrime.comap_maximalIdeal
+-/
 
+#print Localization.AtPrime.map_eq_maximalIdeal /-
 /-- The image of `I` in the localization at `I.prime_compl` is a maximal ideal, and in particular
 it is the unique maximal ideal given by the local ring structure `at_prime.local_ring` -/
 theorem AtPrime.map_eq_maximalIdeal :
@@ -219,14 +236,18 @@ theorem AtPrime.map_eq_maximalIdeal :
   convert congr_arg (Ideal.map _) at_prime.comap_maximal_ideal.symm
   rw [map_comap I.prime_compl]
 #align localization.at_prime.map_eq_maximal_ideal Localization.AtPrime.map_eq_maximalIdeal
+-/
 
+#print Localization.le_comap_primeCompl_iff /-
 theorem le_comap_primeCompl_iff {J : Ideal P} [hJ : J.IsPrime] {f : R →+* P} :
     I.primeCompl ≤ J.primeCompl.comap f ↔ J.comap f ≤ I :=
   ⟨fun h x hx => by contrapose! hx; exact h hx, fun h x hx hfxJ => hx (h hfxJ)⟩
 #align localization.le_comap_prime_compl_iff Localization.le_comap_primeCompl_iff
+-/
 
 variable (I)
 
+#print Localization.localRingHom /-
 /-- For a ring hom `f : R →+* S` and a prime ideal `J` in `S`, the induced ring hom from the
 localization of `R` at `J.comap f` to the localization of `S` at `J`.
 
@@ -237,12 +258,16 @@ noncomputable def localRingHom (J : Ideal P) [hJ : J.IsPrime] (f : R →+* P) (h
     Localization.AtPrime I →+* Localization.AtPrime J :=
   IsLocalization.map (Localization.AtPrime J) f (le_comap_primeCompl_iff.mpr (ge_of_eq hIJ))
 #align localization.local_ring_hom Localization.localRingHom
+-/
 
+#print Localization.localRingHom_to_map /-
 theorem localRingHom_to_map (J : Ideal P) [hJ : J.IsPrime] (f : R →+* P) (hIJ : I = J.comap f)
     (x : R) : localRingHom I J f hIJ (algebraMap _ _ x) = algebraMap _ _ (f x) :=
   map_eq _ _
 #align localization.local_ring_hom_to_map Localization.localRingHom_to_map
+-/
 
+#print Localization.localRingHom_mk' /-
 theorem localRingHom_mk' (J : Ideal P) [hJ : J.IsPrime] (f : R →+* P) (hIJ : I = J.comap f) (x : R)
     (y : I.primeCompl) :
     localRingHom I J f hIJ (IsLocalization.mk' _ x y) =
@@ -250,7 +275,9 @@ theorem localRingHom_mk' (J : Ideal P) [hJ : J.IsPrime] (f : R →+* P) (hIJ : I
         (⟨f y, le_comap_primeCompl_iff.mpr (ge_of_eq hIJ) y.2⟩ : J.primeCompl) :=
   map_mk' _ _ _
 #align localization.local_ring_hom_mk' Localization.localRingHom_mk'
+-/
 
+#print Localization.isLocalRingHom_localRingHom /-
 instance isLocalRingHom_localRingHom (J : Ideal P) [hJ : J.IsPrime] (f : R →+* P)
     (hIJ : I = J.comap f) : IsLocalRingHom (localRingHom I J f hIJ) :=
   IsLocalRingHom.mk fun x hx =>
@@ -260,18 +287,24 @@ instance isLocalRingHom_localRingHom (J : Ideal P) [hJ : J.IsPrime] (f : R →+*
     rw [at_prime.is_unit_mk'_iff] at hx ⊢
     exact fun hr => hx ((set_like.ext_iff.mp hIJ r).mp hr)
 #align localization.is_local_ring_hom_local_ring_hom Localization.isLocalRingHom_localRingHom
+-/
 
+#print Localization.localRingHom_unique /-
 theorem localRingHom_unique (J : Ideal P) [hJ : J.IsPrime] (f : R →+* P) (hIJ : I = J.comap f)
     {j : Localization.AtPrime I →+* Localization.AtPrime J}
     (hj : ∀ x : R, j (algebraMap _ _ x) = algebraMap _ _ (f x)) : localRingHom I J f hIJ = j :=
   map_unique _ _ hj
 #align localization.local_ring_hom_unique Localization.localRingHom_unique
+-/
 
+#print Localization.localRingHom_id /-
 @[simp]
 theorem localRingHom_id : localRingHom I I (RingHom.id R) (Ideal.comap_id I).symm = RingHom.id _ :=
   localRingHom_unique _ _ _ _ fun x => rfl
 #align localization.local_ring_hom_id Localization.localRingHom_id
+-/
 
+#print Localization.localRingHom_comp /-
 @[simp]
 theorem localRingHom_comp {S : Type _} [CommSemiring S] (J : Ideal S) [hJ : J.IsPrime] (K : Ideal P)
     [hK : K.IsPrime] (f : R →+* S) (hIJ : I = J.comap f) (g : S →+* P) (hJK : J = K.comap g) :
@@ -280,6 +313,7 @@ theorem localRingHom_comp {S : Type _} [CommSemiring S] (J : Ideal S) [hJ : J.Is
   localRingHom_unique _ _ _ _ fun r => by
     simp only [Function.comp_apply, RingHom.coe_comp, local_ring_hom_to_map]
 #align localization.local_ring_hom_comp Localization.localRingHom_comp
+-/
 
 end Localization
 
Diff
@@ -88,7 +88,7 @@ namespace IsLocalization
 theorem AtPrime.Nontrivial [IsLocalization.AtPrime S I] : Nontrivial S :=
   nontrivial_of_ne (0 : S) 1 fun hze =>
     by
-    rw [← (algebraMap R S).map_one, ← (algebraMap R S).map_zero] at hze
+    rw [← (algebraMap R S).map_one, ← (algebraMap R S).map_zero] at hze 
     obtain ⟨t, ht⟩ := (eq_iff_exists I.prime_compl S).1 hze
     have htz : (t : R) = 0 := by simpa using ht.symm
     exact t.2 (htz.symm ▸ I.zero_mem : ↑t ∈ I)
@@ -108,10 +108,10 @@ theorem AtPrime.localRing [IsLocalization.AtPrime S I] : LocalRing S :=
       rcases mk'_surjective I.prime_compl x with ⟨rx, sx, hrx⟩
       rcases mk'_surjective I.prime_compl y with ⟨ry, sy, hry⟩
       rcases mk'_surjective I.prime_compl z with ⟨rz, sz, hrz⟩
-      rw [← hrx, ← hry, ← hrz, ← mk'_add, ← mk'_mul, ← mk'_self S I.prime_compl.one_mem] at hxyz
-      rw [← hrx] at hx; rw [← hry] at hy
+      rw [← hrx, ← hry, ← hrz, ← mk'_add, ← mk'_mul, ← mk'_self S I.prime_compl.one_mem] at hxyz 
+      rw [← hrx] at hx ; rw [← hry] at hy 
       obtain ⟨t, ht⟩ := IsLocalization.eq.1 hxyz
-      simp only [mul_one, one_mul, Submonoid.coe_mul, Subtype.coe_mk] at ht
+      simp only [mul_one, one_mul, Submonoid.coe_mul, Subtype.coe_mk] at ht 
       suffices : ↑t * (↑sx * ↑sy * ↑sz) ∈ I;
       exact
         not_or_of_not (mt hp.mem_or_mem <| not_or_of_not sx.2 sy.2) sz.2
@@ -256,8 +256,8 @@ instance isLocalRingHom_localRingHom (J : Ideal P) [hJ : J.IsPrime] (f : R →+*
   IsLocalRingHom.mk fun x hx =>
     by
     rcases IsLocalization.mk'_surjective I.prime_compl x with ⟨r, s, rfl⟩
-    rw [local_ring_hom_mk'] at hx
-    rw [at_prime.is_unit_mk'_iff] at hx⊢
+    rw [local_ring_hom_mk'] at hx 
+    rw [at_prime.is_unit_mk'_iff] at hx ⊢
     exact fun hr => hx ((set_like.ext_iff.mp hIJ r).mp hr)
 #align localization.is_local_ring_hom_local_ring_hom Localization.isLocalRingHom_localRingHom
 
Diff
@@ -59,12 +59,6 @@ def primeCompl : Submonoid R where
 #align ideal.prime_compl Ideal.primeCompl
 -/
 
-/- warning: ideal.prime_compl_le_non_zero_divisors -> Ideal.primeCompl_le_nonZeroDivisors is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) [hp : Ideal.IsPrime.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) I] [_inst_5 : NoZeroDivisors.{u1} R (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))], LE.le.{u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Preorder.toHasLe.{u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (PartialOrder.toPreorder.{u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Submonoid.completeLattice.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))))) (Ideal.primeCompl.{u1} R _inst_1 I hp) (nonZeroDivisors.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) [hp : Ideal.IsPrime.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) I] [_inst_5 : NoZeroDivisors.{u1} R (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1))], LE.le.{u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Preorder.toLE.{u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (PartialOrder.toPreorder.{u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Submonoid.instCompleteLatticeSubmonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))))) (Ideal.primeCompl.{u1} R _inst_1 I hp) (nonZeroDivisors.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))
-Case conversion may be inaccurate. Consider using '#align ideal.prime_compl_le_non_zero_divisors Ideal.primeCompl_le_nonZeroDivisorsₓ'. -/
 theorem primeCompl_le_nonZeroDivisors [NoZeroDivisors R] : I.primeCompl ≤ nonZeroDivisors R :=
   le_nonZeroDivisors_of_noZeroDivisors <| not_not_intro I.zero_mem
 #align ideal.prime_compl_le_non_zero_divisors Ideal.primeCompl_le_nonZeroDivisors
@@ -91,12 +85,6 @@ protected abbrev Localization.AtPrime :=
 
 namespace IsLocalization
 
-/- warning: is_localization.at_prime.nontrivial -> IsLocalization.AtPrime.Nontrivial is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] (S : Type.{u2}) [_inst_2 : CommSemiring.{u2} S] [_inst_3 : Algebra.{u1, u2} R S _inst_1 (CommSemiring.toSemiring.{u2} S _inst_2)] (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) [hp : Ideal.IsPrime.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) I] [_inst_5 : IsLocalization.AtPrime.{u1, u2} R _inst_1 S _inst_2 _inst_3 I hp], Nontrivial.{u2} S
-but is expected to have type
-  forall {R : Type.{u2}} [_inst_1 : CommSemiring.{u2} R] (S : Type.{u1}) [_inst_2 : CommSemiring.{u1} S] [_inst_3 : Algebra.{u2, u1} R S _inst_1 (CommSemiring.toSemiring.{u1} S _inst_2)] (I : Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) [hp : Ideal.IsPrime.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1) I] [_inst_5 : IsLocalization.AtPrime.{u2, u1} R _inst_1 S _inst_2 _inst_3 I hp], Nontrivial.{u1} S
-Case conversion may be inaccurate. Consider using '#align is_localization.at_prime.nontrivial IsLocalization.AtPrime.Nontrivialₓ'. -/
 theorem AtPrime.Nontrivial [IsLocalization.AtPrime S I] : Nontrivial S :=
   nontrivial_of_ne (0 : S) 1 fun hze =>
     by
@@ -108,12 +96,6 @@ theorem AtPrime.Nontrivial [IsLocalization.AtPrime S I] : Nontrivial S :=
 
 attribute [local instance] at_prime.nontrivial
 
-/- warning: is_localization.at_prime.local_ring -> IsLocalization.AtPrime.localRing is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] (S : Type.{u2}) [_inst_2 : CommSemiring.{u2} S] [_inst_3 : Algebra.{u1, u2} R S _inst_1 (CommSemiring.toSemiring.{u2} S _inst_2)] (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) [hp : Ideal.IsPrime.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) I] [_inst_5 : IsLocalization.AtPrime.{u1, u2} R _inst_1 S _inst_2 _inst_3 I hp], LocalRing.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2)
-but is expected to have type
-  forall {R : Type.{u2}} [_inst_1 : CommSemiring.{u2} R] (S : Type.{u1}) [_inst_2 : CommSemiring.{u1} S] [_inst_3 : Algebra.{u2, u1} R S _inst_1 (CommSemiring.toSemiring.{u1} S _inst_2)] (I : Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) [hp : Ideal.IsPrime.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1) I] [_inst_5 : IsLocalization.AtPrime.{u2, u1} R _inst_1 S _inst_2 _inst_3 I hp], LocalRing.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2)
-Case conversion may be inaccurate. Consider using '#align is_localization.at_prime.local_ring IsLocalization.AtPrime.localRingₓ'. -/
 theorem AtPrime.localRing [IsLocalization.AtPrime S I] : LocalRing S :=
   LocalRing.of_nonunits_add
     (by
@@ -145,12 +127,6 @@ end IsLocalization
 
 namespace Localization
 
-/- warning: localization.at_prime.local_ring -> Localization.AtPrime.localRing is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) [hp : Ideal.IsPrime.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) I], LocalRing.{u1} (Localization.{u1} R (CommSemiring.toCommMonoid.{u1} R _inst_1) (Ideal.primeCompl.{u1} R _inst_1 I hp)) (CommSemiring.toSemiring.{u1} (Localization.{u1} R (CommSemiring.toCommMonoid.{u1} R _inst_1) (Ideal.primeCompl.{u1} R _inst_1 I hp)) (Localization.commSemiring.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hp)))
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) [hp : Ideal.IsPrime.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) I], LocalRing.{u1} (Localization.{u1} R (CommSemiring.toCommMonoid.{u1} R _inst_1) (Ideal.primeCompl.{u1} R _inst_1 I hp)) (CommSemiring.toSemiring.{u1} (Localization.{u1} R (CommSemiring.toCommMonoid.{u1} R _inst_1) (Ideal.primeCompl.{u1} R _inst_1 I hp)) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hp)))
-Case conversion may be inaccurate. Consider using '#align localization.at_prime.local_ring Localization.AtPrime.localRingₓ'. -/
 /-- The localization of `R` at the complement of a prime ideal is a local ring. -/
 instance AtPrime.localRing : LocalRing (Localization I.primeCompl) :=
   IsLocalization.AtPrime.localRing (Localization I.primeCompl) I
@@ -164,12 +140,6 @@ namespace IsLocalization
 
 variable {A : Type _} [CommRing A] [IsDomain A]
 
-/- warning: is_localization.is_domain_of_local_at_prime -> IsLocalization.isDomain_of_local_atPrime is a dubious translation:
-lean 3 declaration is
-  forall {A : Type.{u1}} [_inst_5 : CommRing.{u1} A] [_inst_6 : IsDomain.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_5))] {P : Ideal.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_5))} (hp : Ideal.IsPrime.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_5)) P), IsDomain.{u1} (Localization.AtPrime.{u1} A (CommRing.toCommSemiring.{u1} A _inst_5) P hp) (Ring.toSemiring.{u1} (Localization.AtPrime.{u1} A (CommRing.toCommSemiring.{u1} A _inst_5) P hp) (CommRing.toRing.{u1} (Localization.AtPrime.{u1} A (CommRing.toCommSemiring.{u1} A _inst_5) P hp) (Localization.commRing.{u1} A _inst_5 (Ideal.primeCompl.{u1} A (CommRing.toCommSemiring.{u1} A _inst_5) P hp))))
-but is expected to have type
-  forall {A : Type.{u1}} [_inst_5 : CommRing.{u1} A] [_inst_6 : IsDomain.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_5))] {P : Ideal.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_5))} (hp : Ideal.IsPrime.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_5)) P), IsDomain.{u1} (Localization.AtPrime.{u1} A (CommRing.toCommSemiring.{u1} A _inst_5) P hp) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} A (CommRing.toCommSemiring.{u1} A _inst_5) P hp) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_5) (Ideal.primeCompl.{u1} A (CommRing.toCommSemiring.{u1} A _inst_5) P hp)))
-Case conversion may be inaccurate. Consider using '#align is_localization.is_domain_of_local_at_prime IsLocalization.isDomain_of_local_atPrimeₓ'. -/
 /-- The localization of an integral domain at the complement of a prime ideal is an integral domain.
 -/
 instance isDomain_of_local_atPrime {P : Ideal A} (hp : P.IsPrime) :
@@ -183,12 +153,6 @@ variable (I : Ideal R) [hI : I.IsPrime] [IsLocalization.AtPrime S I]
 
 include hI
 
-/- warning: is_localization.at_prime.is_unit_to_map_iff -> IsLocalization.AtPrime.isUnit_to_map_iff is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] (S : Type.{u2}) [_inst_2 : CommSemiring.{u2} S] [_inst_3 : Algebra.{u1, u2} R S _inst_1 (CommSemiring.toSemiring.{u2} S _inst_2)] (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) [hI : Ideal.IsPrime.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) I] [_inst_7 : IsLocalization.AtPrime.{u1, u2} R _inst_1 S _inst_2 _inst_3 I hI] (x : R), Iff (IsUnit.{u2} S (MonoidWithZero.toMonoid.{u2} S (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2))) (fun (_x : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2))) => R -> S) (RingHom.hasCoeToFun.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2))) (algebraMap.{u1, u2} R S _inst_1 (CommSemiring.toSemiring.{u2} S _inst_2) _inst_3) x)) (Membership.Mem.{u1, u1} R (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (SetLike.hasMem.{u1, u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) R (Submonoid.setLike.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) x (Ideal.primeCompl.{u1} R _inst_1 I hI))
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] (S : Type.{u2}) [_inst_2 : CommSemiring.{u2} S] [_inst_3 : Algebra.{u1, u2} R S _inst_1 (CommSemiring.toSemiring.{u2} S _inst_2)] (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) [hI : Ideal.IsPrime.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) I] [_inst_7 : IsLocalization.AtPrime.{u1, u2} R _inst_1 S _inst_2 _inst_3 I hI] (x : R), Iff (IsUnit.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) x) (MonoidWithZero.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) x) (Semiring.toMonoidWithZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) x) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) x) _inst_2))) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{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 _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2))) R S (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2))) R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2))) R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2)) (RingHom.instRingHomClassRingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2)))))) (algebraMap.{u1, u2} R S _inst_1 (CommSemiring.toSemiring.{u2} S _inst_2) _inst_3) x)) (Membership.mem.{u1, u1} R (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (SetLike.instMembership.{u1, u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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 _inst_1)))))) x (Ideal.primeCompl.{u1} R _inst_1 I hI))
-Case conversion may be inaccurate. Consider using '#align is_localization.at_prime.is_unit_to_map_iff IsLocalization.AtPrime.isUnit_to_map_iffₓ'. -/
 theorem isUnit_to_map_iff (x : R) : IsUnit ((algebraMap R S) x) ↔ x ∈ I.primeCompl :=
   ⟨fun h hx =>
     (isPrime_of_isPrime_disjoint I.primeCompl S I hI disjoint_compl_left).ne_top <|
@@ -196,12 +160,6 @@ theorem isUnit_to_map_iff (x : R) : IsUnit ((algebraMap R S) x) ↔ x ∈ I.prim
     fun h => map_units S ⟨x, h⟩⟩
 #align is_localization.at_prime.is_unit_to_map_iff IsLocalization.AtPrime.isUnit_to_map_iff
 
-/- warning: is_localization.at_prime.to_map_mem_maximal_iff -> IsLocalization.AtPrime.to_map_mem_maximal_iff is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] (S : Type.{u2}) [_inst_2 : CommSemiring.{u2} S] [_inst_3 : Algebra.{u1, u2} R S _inst_1 (CommSemiring.toSemiring.{u2} S _inst_2)] (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) [hI : Ideal.IsPrime.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) I] [_inst_7 : IsLocalization.AtPrime.{u1, u2} R _inst_1 S _inst_2 _inst_3 I hI] (x : R) (h : optParam.{0} (LocalRing.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2)) (IsLocalization.AtPrime.localRing.{u1, u2} R _inst_1 S _inst_2 _inst_3 I hI _inst_7)), Iff (Membership.Mem.{u2, u2} S (Ideal.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2)) (SetLike.hasMem.{u2, u2} (Ideal.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2)) S (Submodule.setLike.{u2, u2} S S (CommSemiring.toSemiring.{u2} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2)))) (Semiring.toModule.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2)))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2))) (fun (_x : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2))) => R -> S) (RingHom.hasCoeToFun.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2))) (algebraMap.{u1, u2} R S _inst_1 (CommSemiring.toSemiring.{u2} S _inst_2) _inst_3) x) (LocalRing.maximalIdeal.{u2} S _inst_2 h)) (Membership.Mem.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SetLike.hasMem.{u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) R (Submodule.setLike.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) x I)
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] (S : Type.{u2}) [_inst_2 : CommSemiring.{u2} S] [_inst_3 : Algebra.{u1, u2} R S _inst_1 (CommSemiring.toSemiring.{u2} S _inst_2)] (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) [hI : Ideal.IsPrime.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) I] [_inst_7 : IsLocalization.AtPrime.{u1, u2} R _inst_1 S _inst_2 _inst_3 I hI] (x : R) (h : optParam.{0} (LocalRing.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2)) (IsLocalization.AtPrime.localRing.{u2, u1} R _inst_1 S _inst_2 _inst_3 I hI _inst_7)), Iff (Membership.mem.{u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) x) (Ideal.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2)) (SetLike.instMembership.{u2, u2} (Ideal.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2)) S (Submodule.setLike.{u2, u2} S S (CommSemiring.toSemiring.{u2} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2)))) (Semiring.toModule.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2)))) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{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 _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2))) R S (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2))) R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2))) R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2)) (RingHom.instRingHomClassRingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2)))))) (algebraMap.{u1, u2} R S _inst_1 (CommSemiring.toSemiring.{u2} S _inst_2) _inst_3) x) (LocalRing.maximalIdeal.{u2} S _inst_2 h)) (Membership.mem.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SetLike.instMembership.{u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) R (Submodule.setLike.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) x I)
-Case conversion may be inaccurate. Consider using '#align is_localization.at_prime.to_map_mem_maximal_iff IsLocalization.AtPrime.to_map_mem_maximal_iffₓ'. -/
 -- Can't use typeclasses to infer the `local_ring` instance, so use an `opt_param` instead
 -- (since `local_ring` is a `Prop`, there should be no unification issues.)
 theorem to_map_mem_maximal_iff (x : R) (h : LocalRing S := localRing S I) :
@@ -211,34 +169,16 @@ theorem to_map_mem_maximal_iff (x : R) (h : LocalRing S := localRing S I) :
       is_unit_to_map_iff S I x
 #align is_localization.at_prime.to_map_mem_maximal_iff IsLocalization.AtPrime.to_map_mem_maximal_iff
 
-/- warning: is_localization.at_prime.comap_maximal_ideal -> IsLocalization.AtPrime.comap_maximalIdeal is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] (S : Type.{u2}) [_inst_2 : CommSemiring.{u2} S] [_inst_3 : Algebra.{u1, u2} R S _inst_1 (CommSemiring.toSemiring.{u2} S _inst_2)] (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) [hI : Ideal.IsPrime.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) I] [_inst_7 : IsLocalization.AtPrime.{u1, u2} R _inst_1 S _inst_2 _inst_3 I hI] (h : optParam.{0} (LocalRing.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2)) (IsLocalization.AtPrime.localRing.{u1, u2} R _inst_1 S _inst_2 _inst_3 I hI _inst_7)), Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{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 _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} S _inst_2) (RingHom.ringHomClass.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2))) (algebraMap.{u1, u2} R S _inst_1 (CommSemiring.toSemiring.{u2} S _inst_2) _inst_3) (LocalRing.maximalIdeal.{u2} S _inst_2 h)) I
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] (S : Type.{u2}) [_inst_2 : CommSemiring.{u2} S] [_inst_3 : Algebra.{u1, u2} R S _inst_1 (CommSemiring.toSemiring.{u2} S _inst_2)] (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) [hI : Ideal.IsPrime.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) I] [_inst_7 : IsLocalization.AtPrime.{u1, u2} R _inst_1 S _inst_2 _inst_3 I hI] (h : optParam.{0} (LocalRing.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2)) (IsLocalization.AtPrime.localRing.{u2, u1} R _inst_1 S _inst_2 _inst_3 I hI _inst_7)), Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{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 _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} S _inst_2) (RingHom.instRingHomClassRingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2))) (algebraMap.{u1, u2} R S _inst_1 (CommSemiring.toSemiring.{u2} S _inst_2) _inst_3) (LocalRing.maximalIdeal.{u2} S _inst_2 h)) I
-Case conversion may be inaccurate. Consider using '#align is_localization.at_prime.comap_maximal_ideal IsLocalization.AtPrime.comap_maximalIdealₓ'. -/
 theorem comap_maximalIdeal (h : LocalRing S := localRing S I) :
     (LocalRing.maximalIdeal S).comap (algebraMap R S) = I :=
   Ideal.ext fun x => by simpa only [Ideal.mem_comap] using to_map_mem_maximal_iff _ I x
 #align is_localization.at_prime.comap_maximal_ideal IsLocalization.AtPrime.comap_maximalIdeal
 
-/- warning: is_localization.at_prime.is_unit_mk'_iff -> IsLocalization.AtPrime.isUnit_mk'_iff is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] (S : Type.{u2}) [_inst_2 : CommSemiring.{u2} S] [_inst_3 : Algebra.{u1, u2} R S _inst_1 (CommSemiring.toSemiring.{u2} S _inst_2)] (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) [hI : Ideal.IsPrime.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) I] [_inst_7 : IsLocalization.AtPrime.{u1, u2} R _inst_1 S _inst_2 _inst_3 I hI] (x : R) (y : coeSort.{succ u1, succ (succ u1)} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) R (Submonoid.setLike.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) (Ideal.primeCompl.{u1} R _inst_1 I hI)), Iff (IsUnit.{u2} S (MonoidWithZero.toMonoid.{u2} S (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2))) (IsLocalization.mk'.{u1, u2} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI) S _inst_2 _inst_3 _inst_7 x y)) (Membership.Mem.{u1, u1} R (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (SetLike.hasMem.{u1, u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) R (Submonoid.setLike.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) x (Ideal.primeCompl.{u1} R _inst_1 I hI))
-but is expected to have type
-  forall {R : Type.{u2}} [_inst_1 : CommSemiring.{u2} R] (S : Type.{u1}) [_inst_2 : CommSemiring.{u1} S] [_inst_3 : Algebra.{u2, u1} R S _inst_1 (CommSemiring.toSemiring.{u1} S _inst_2)] (I : Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) [hI : Ideal.IsPrime.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1) I] [_inst_7 : IsLocalization.AtPrime.{u2, u1} R _inst_1 S _inst_2 _inst_3 I hI] (x : R) (y : Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Submonoid.{u2} R (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) (SetLike.instMembership.{u2, u2} (Submonoid.{u2} R (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) R (Submonoid.instSetLikeSubmonoid.{u2} R (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) x (Ideal.primeCompl.{u2} R _inst_1 I hI))), Iff (IsUnit.{u1} S (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2))) (IsLocalization.mk'.{u2, u1} R _inst_1 (Ideal.primeCompl.{u2} R _inst_1 I hI) S _inst_2 _inst_3 _inst_7 x y)) (Membership.mem.{u2, u2} R (Submonoid.{u2} R (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) (SetLike.instMembership.{u2, u2} (Submonoid.{u2} R (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) R (Submonoid.instSetLikeSubmonoid.{u2} R (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) x (Ideal.primeCompl.{u2} R _inst_1 I hI))
-Case conversion may be inaccurate. Consider using '#align is_localization.at_prime.is_unit_mk'_iff IsLocalization.AtPrime.isUnit_mk'_iffₓ'. -/
 theorem isUnit_mk'_iff (x : R) (y : I.primeCompl) : IsUnit (mk' S x y) ↔ x ∈ I.primeCompl :=
   ⟨fun h hx => mk'_mem_iff.mpr ((to_map_mem_maximal_iff S I x).mpr hx) h, fun h =>
     isUnit_iff_exists_inv.mpr ⟨mk' S ↑y ⟨x, h⟩, mk'_mul_mk'_eq_one ⟨x, h⟩ y⟩⟩
 #align is_localization.at_prime.is_unit_mk'_iff IsLocalization.AtPrime.isUnit_mk'_iff
 
-/- warning: is_localization.at_prime.mk'_mem_maximal_iff -> IsLocalization.AtPrime.mk'_mem_maximal_iff is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] (S : Type.{u2}) [_inst_2 : CommSemiring.{u2} S] [_inst_3 : Algebra.{u1, u2} R S _inst_1 (CommSemiring.toSemiring.{u2} S _inst_2)] (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) [hI : Ideal.IsPrime.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) I] [_inst_7 : IsLocalization.AtPrime.{u1, u2} R _inst_1 S _inst_2 _inst_3 I hI] (x : R) (y : coeSort.{succ u1, succ (succ u1)} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) R (Submonoid.setLike.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) (Ideal.primeCompl.{u1} R _inst_1 I hI)) (h : optParam.{0} (LocalRing.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2)) (IsLocalization.AtPrime.localRing.{u1, u2} R _inst_1 S _inst_2 _inst_3 I hI _inst_7)), Iff (Membership.Mem.{u2, u2} S (Ideal.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2)) (SetLike.hasMem.{u2, u2} (Ideal.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2)) S (Submodule.setLike.{u2, u2} S S (CommSemiring.toSemiring.{u2} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2)))) (Semiring.toModule.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2)))) (IsLocalization.mk'.{u1, u2} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI) S _inst_2 _inst_3 _inst_7 x y) (LocalRing.maximalIdeal.{u2} S _inst_2 h)) (Membership.Mem.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SetLike.hasMem.{u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) R (Submodule.setLike.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) x I)
-but is expected to have type
-  forall {R : Type.{u2}} [_inst_1 : CommSemiring.{u2} R] (S : Type.{u1}) [_inst_2 : CommSemiring.{u1} S] [_inst_3 : Algebra.{u2, u1} R S _inst_1 (CommSemiring.toSemiring.{u1} S _inst_2)] (I : Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) [hI : Ideal.IsPrime.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1) I] [_inst_7 : IsLocalization.AtPrime.{u2, u1} R _inst_1 S _inst_2 _inst_3 I hI] (x : R) (y : Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Submonoid.{u2} R (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) (SetLike.instMembership.{u2, u2} (Submonoid.{u2} R (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) R (Submonoid.instSetLikeSubmonoid.{u2} R (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) x (Ideal.primeCompl.{u2} R _inst_1 I hI))) (h : optParam.{0} (LocalRing.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2)) (IsLocalization.AtPrime.localRing.{u1, u2} R _inst_1 S _inst_2 _inst_3 I hI _inst_7)), Iff (Membership.mem.{u1, u1} S (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2)) (SetLike.instMembership.{u1, u1} (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2)) S (Submodule.setLike.{u1, u1} S S (CommSemiring.toSemiring.{u1} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2)))) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2)))) (IsLocalization.mk'.{u2, u1} R _inst_1 (Ideal.primeCompl.{u2} R _inst_1 I hI) S _inst_2 _inst_3 _inst_7 x y) (LocalRing.maximalIdeal.{u1} S _inst_2 h)) (Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) x I)
-Case conversion may be inaccurate. Consider using '#align is_localization.at_prime.mk'_mem_maximal_iff IsLocalization.AtPrime.mk'_mem_maximal_iffₓ'. -/
 theorem mk'_mem_maximal_iff (x : R) (y : I.primeCompl) (h : LocalRing S := localRing S I) :
     mk' S x y ∈ LocalRing.maximalIdeal S ↔ x ∈ I :=
   not_iff_not.mp <| by
@@ -262,12 +202,6 @@ include hI
 
 variable {I}
 
-/- warning: localization.at_prime.comap_maximal_ideal -> Localization.AtPrime.comap_maximalIdeal is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} [hI : Ideal.IsPrime.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) I], Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.comap.{u1, u1, u1} R (Localization.{u1} R (CommSemiring.toCommMonoid.{u1} R _inst_1) (Ideal.primeCompl.{u1} R _inst_1 I hI)) (RingHom.{u1, u1} R (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.commSemiring.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI))))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} (Localization.{u1} R (CommSemiring.toCommMonoid.{u1} R _inst_1) (Ideal.primeCompl.{u1} R _inst_1 I hI)) (Localization.commSemiring.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI))) (RingHom.ringHomClass.{u1, u1} R (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.commSemiring.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI))))) (algebraMap.{u1, u1} R (Localization.AtPrime.{u1} R _inst_1 I hI) _inst_1 (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.commSemiring.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI))) (Localization.algebra.{u1, u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI) R _inst_1 (Algebra.id.{u1} R _inst_1))) (LocalRing.maximalIdeal.{u1} (Localization.{u1} R (CommSemiring.toCommMonoid.{u1} R _inst_1) (Ideal.primeCompl.{u1} R _inst_1 I hI)) (Localization.commSemiring.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)) (Localization.AtPrime.localRing.{u1} R _inst_1 I hI))) I
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} [hI : Ideal.IsPrime.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) I], Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.comap.{u1, u1, u1} R (Localization.{u1} R (CommSemiring.toCommMonoid.{u1} R _inst_1) (Ideal.primeCompl.{u1} R _inst_1 I hI)) (RingHom.{u1, u1} R (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI))))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} (Localization.{u1} R (CommSemiring.toCommMonoid.{u1} R _inst_1) (Ideal.primeCompl.{u1} R _inst_1 I hI)) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI))) (RingHom.instRingHomClassRingHom.{u1, u1} R (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI))))) (algebraMap.{u1, u1} R (Localization.AtPrime.{u1} R _inst_1 I hI) _inst_1 (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI))) (Localization.instAlgebraLocalizationToCommMonoidToSemiringInstCommSemiringLocalizationToCommMonoid.{u1, u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI) R _inst_1 (Algebra.id.{u1} R _inst_1))) (LocalRing.maximalIdeal.{u1} (Localization.{u1} R (CommSemiring.toCommMonoid.{u1} R _inst_1) (Ideal.primeCompl.{u1} R _inst_1 I hI)) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)) (Localization.AtPrime.localRing.{u1} R _inst_1 I hI))) I
-Case conversion may be inaccurate. Consider using '#align localization.at_prime.comap_maximal_ideal Localization.AtPrime.comap_maximalIdealₓ'. -/
 /-- The unique maximal ideal of the localization at `I.prime_compl` lies over the ideal `I`. -/
 theorem AtPrime.comap_maximalIdeal :
     Ideal.comap (algebraMap R (Localization.AtPrime I))
@@ -276,12 +210,6 @@ theorem AtPrime.comap_maximalIdeal :
   AtPrime.comap_maximalIdeal _ _
 #align localization.at_prime.comap_maximal_ideal Localization.AtPrime.comap_maximalIdeal
 
-/- warning: localization.at_prime.map_eq_maximal_ideal -> Localization.AtPrime.map_eq_maximalIdeal is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} [hI : Ideal.IsPrime.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) I], Eq.{succ u1} (Ideal.{u1} (Localization.{u1} R (CommSemiring.toCommMonoid.{u1} R _inst_1) (Ideal.primeCompl.{u1} R _inst_1 I hI)) (CommSemiring.toSemiring.{u1} (Localization.{u1} R (CommSemiring.toCommMonoid.{u1} R _inst_1) (Ideal.primeCompl.{u1} R _inst_1 I hI)) (Localization.commSemiring.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))) (Ideal.map.{u1, u1, u1} R (Localization.{u1} R (CommSemiring.toCommMonoid.{u1} R _inst_1) (Ideal.primeCompl.{u1} R _inst_1 I hI)) (RingHom.{u1, u1} R (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.commSemiring.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI))))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} (Localization.{u1} R (CommSemiring.toCommMonoid.{u1} R _inst_1) (Ideal.primeCompl.{u1} R _inst_1 I hI)) (Localization.commSemiring.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI))) (RingHom.ringHomClass.{u1, u1} R (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.commSemiring.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI))))) (algebraMap.{u1, u1} R (Localization.AtPrime.{u1} R _inst_1 I hI) _inst_1 (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.commSemiring.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI))) (Localization.algebra.{u1, u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI) R _inst_1 (Algebra.id.{u1} R _inst_1))) I) (LocalRing.maximalIdeal.{u1} (Localization.{u1} R (CommSemiring.toCommMonoid.{u1} R _inst_1) (Ideal.primeCompl.{u1} R _inst_1 I hI)) (Localization.commSemiring.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)) (Localization.AtPrime.localRing.{u1} R _inst_1 I hI))
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} [hI : Ideal.IsPrime.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) I], Eq.{succ u1} (Ideal.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))) (Ideal.map.{u1, u1, u1} R (Localization.AtPrime.{u1} R _inst_1 I hI) (RingHom.{u1, u1} R (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI))))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI))) (RingHom.instRingHomClassRingHom.{u1, u1} R (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI))))) (algebraMap.{u1, u1} R (Localization.AtPrime.{u1} R _inst_1 I hI) _inst_1 (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI))) (Localization.instAlgebraLocalizationToCommMonoidToSemiringInstCommSemiringLocalizationToCommMonoid.{u1, u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI) R _inst_1 (Algebra.id.{u1} R _inst_1))) I) (LocalRing.maximalIdeal.{u1} (Localization.{u1} R (CommSemiring.toCommMonoid.{u1} R _inst_1) (Ideal.primeCompl.{u1} R _inst_1 I hI)) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)) (Localization.AtPrime.localRing.{u1} R _inst_1 I hI))
-Case conversion may be inaccurate. Consider using '#align localization.at_prime.map_eq_maximal_ideal Localization.AtPrime.map_eq_maximalIdealₓ'. -/
 /-- The image of `I` in the localization at `I.prime_compl` is a maximal ideal, and in particular
 it is the unique maximal ideal given by the local ring structure `at_prime.local_ring` -/
 theorem AtPrime.map_eq_maximalIdeal :
@@ -292,12 +220,6 @@ theorem AtPrime.map_eq_maximalIdeal :
   rw [map_comap I.prime_compl]
 #align localization.at_prime.map_eq_maximal_ideal Localization.AtPrime.map_eq_maximalIdeal
 
-/- warning: localization.le_comap_prime_compl_iff -> Localization.le_comap_primeCompl_iff is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {P : Type.{u2}} [_inst_4 : CommSemiring.{u2} P] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} [hI : Ideal.IsPrime.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) I] {J : Ideal.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)} [hJ : Ideal.IsPrime.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4) J] {f : RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))}, Iff (LE.le.{u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Preorder.toHasLe.{u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (PartialOrder.toPreorder.{u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Submonoid.completeLattice.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))))) (Ideal.primeCompl.{u1} R _inst_1 I hI) (Submonoid.comap.{u1, u2, max u1 u2} R P (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (MulZeroOneClass.toMulOneClass.{u2} P (NonAssocSemiring.toMulZeroOneClass.{u2} P (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)))) (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (RingHomClass.toMonoidHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) (RingHom.ringHomClass.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)))) f (Ideal.primeCompl.{u2} P _inst_4 J hJ))) (LE.le.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Preorder.toHasLe.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.completeLattice.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))) (Ideal.comap.{u1, u2, max u1 u2} R P (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.ringHomClass.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) f J) I)
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {P : Type.{u2}} [_inst_4 : CommSemiring.{u2} P] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} [hI : Ideal.IsPrime.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) I] {J : Ideal.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)} [hJ : Ideal.IsPrime.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4) J] {f : RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))}, Iff (LE.le.{u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Preorder.toLE.{u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (PartialOrder.toPreorder.{u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Submonoid.instCompleteLatticeSubmonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))))) (Ideal.primeCompl.{u1} R _inst_1 I hI) (Submonoid.comap.{u1, u2, max u1 u2} R P (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (MulZeroOneClass.toMulOneClass.{u2} P (NonAssocSemiring.toMulZeroOneClass.{u2} P (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)))) (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (RingHomClass.toMonoidHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) (RingHom.instRingHomClassRingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)))) f (Ideal.primeCompl.{u2} P _inst_4 J hJ))) (LE.le.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Preorder.toLE.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.completeLattice.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))) (Ideal.comap.{u1, u2, max u1 u2} R P (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.instRingHomClassRingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) f J) I)
-Case conversion may be inaccurate. Consider using '#align localization.le_comap_prime_compl_iff Localization.le_comap_primeCompl_iffₓ'. -/
 theorem le_comap_primeCompl_iff {J : Ideal P} [hJ : J.IsPrime] {f : R →+* P} :
     I.primeCompl ≤ J.primeCompl.comap f ↔ J.comap f ≤ I :=
   ⟨fun h x hx => by contrapose! hx; exact h hx, fun h x hx hfxJ => hx (h hfxJ)⟩
@@ -305,12 +227,6 @@ theorem le_comap_primeCompl_iff {J : Ideal P} [hJ : J.IsPrime] {f : R →+* P} :
 
 variable (I)
 
-/- warning: localization.local_ring_hom -> Localization.localRingHom is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {P : Type.{u2}} [_inst_4 : CommSemiring.{u2} P] (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) [hI : Ideal.IsPrime.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) I] (J : Ideal.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) [hJ : Ideal.IsPrime.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4) J] (f : RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))), (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) I (Ideal.comap.{u1, u2, max u1 u2} R P (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.ringHomClass.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) f J)) -> (RingHom.{u1, u2} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.commSemiring.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.commSemiring.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ)))))
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {P : Type.{u2}} [_inst_4 : CommSemiring.{u2} P] (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) [hI : Ideal.IsPrime.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) I] (J : Ideal.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) [hJ : Ideal.IsPrime.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4) J] (f : RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))), (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) I (Ideal.comap.{u1, u2, max u1 u2} R P (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.instRingHomClassRingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) f J)) -> (RingHom.{u1, u2} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ)))))
-Case conversion may be inaccurate. Consider using '#align localization.local_ring_hom Localization.localRingHomₓ'. -/
 /-- For a ring hom `f : R →+* S` and a prime ideal `J` in `S`, the induced ring hom from the
 localization of `R` at `J.comap f` to the localization of `S` at `J`.
 
@@ -322,17 +238,11 @@ noncomputable def localRingHom (J : Ideal P) [hJ : J.IsPrime] (f : R →+* P) (h
   IsLocalization.map (Localization.AtPrime J) f (le_comap_primeCompl_iff.mpr (ge_of_eq hIJ))
 #align localization.local_ring_hom Localization.localRingHom
 
-/- warning: localization.local_ring_hom_to_map -> Localization.localRingHom_to_map is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align localization.local_ring_hom_to_map Localization.localRingHom_to_mapₓ'. -/
 theorem localRingHom_to_map (J : Ideal P) [hJ : J.IsPrime] (f : R →+* P) (hIJ : I = J.comap f)
     (x : R) : localRingHom I J f hIJ (algebraMap _ _ x) = algebraMap _ _ (f x) :=
   map_eq _ _
 #align localization.local_ring_hom_to_map Localization.localRingHom_to_map
 
-/- warning: localization.local_ring_hom_mk' -> Localization.localRingHom_mk' is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align localization.local_ring_hom_mk' Localization.localRingHom_mk'ₓ'. -/
 theorem localRingHom_mk' (J : Ideal P) [hJ : J.IsPrime] (f : R →+* P) (hIJ : I = J.comap f) (x : R)
     (y : I.primeCompl) :
     localRingHom I J f hIJ (IsLocalization.mk' _ x y) =
@@ -341,12 +251,6 @@ theorem localRingHom_mk' (J : Ideal P) [hJ : J.IsPrime] (f : R →+* P) (hIJ : I
   map_mk' _ _ _
 #align localization.local_ring_hom_mk' Localization.localRingHom_mk'
 
-/- warning: localization.is_local_ring_hom_local_ring_hom -> Localization.isLocalRingHom_localRingHom is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {P : Type.{u2}} [_inst_4 : CommSemiring.{u2} P] (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) [hI : Ideal.IsPrime.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) I] (J : Ideal.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) [hJ : Ideal.IsPrime.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4) J] (f : RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (hIJ : Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) I (Ideal.comap.{u1, u2, max u1 u2} R P (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.ringHomClass.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) f J)), IsLocalRingHom.{u1, u2} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.commSemiring.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI))) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.commSemiring.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))) (Localization.localRingHom.{u1, u2} R _inst_1 P _inst_4 I hI J hJ f hIJ)
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {P : Type.{u2}} [_inst_4 : CommSemiring.{u2} P] (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) [hI : Ideal.IsPrime.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) I] (J : Ideal.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) [hJ : Ideal.IsPrime.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4) J] (f : RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (hIJ : Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) I (Ideal.comap.{u1, u2, max u1 u2} R P (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.instRingHomClassRingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) f J)), IsLocalRingHom.{u1, u2} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI))) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))) (Localization.localRingHom.{u1, u2} R _inst_1 P _inst_4 I hI J hJ f hIJ)
-Case conversion may be inaccurate. Consider using '#align localization.is_local_ring_hom_local_ring_hom Localization.isLocalRingHom_localRingHomₓ'. -/
 instance isLocalRingHom_localRingHom (J : Ideal P) [hJ : J.IsPrime] (f : R →+* P)
     (hIJ : I = J.comap f) : IsLocalRingHom (localRingHom I J f hIJ) :=
   IsLocalRingHom.mk fun x hx =>
@@ -357,29 +261,17 @@ instance isLocalRingHom_localRingHom (J : Ideal P) [hJ : J.IsPrime] (f : R →+*
     exact fun hr => hx ((set_like.ext_iff.mp hIJ r).mp hr)
 #align localization.is_local_ring_hom_local_ring_hom Localization.isLocalRingHom_localRingHom
 
-/- warning: localization.local_ring_hom_unique -> Localization.localRingHom_unique is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align localization.local_ring_hom_unique Localization.localRingHom_uniqueₓ'. -/
 theorem localRingHom_unique (J : Ideal P) [hJ : J.IsPrime] (f : R →+* P) (hIJ : I = J.comap f)
     {j : Localization.AtPrime I →+* Localization.AtPrime J}
     (hj : ∀ x : R, j (algebraMap _ _ x) = algebraMap _ _ (f x)) : localRingHom I J f hIJ = j :=
   map_unique _ _ hj
 #align localization.local_ring_hom_unique Localization.localRingHom_unique
 
-/- warning: localization.local_ring_hom_id -> Localization.localRingHom_id is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) [hI : Ideal.IsPrime.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) I], Eq.{succ u1} (RingHom.{u1, u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.commSemiring.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.commSemiring.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI))))) (Localization.localRingHom.{u1, u1} R _inst_1 R _inst_1 I hI I hI (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Eq.symm.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.comap.{u1, u1, u1} R R (RingHom.{u1, u1} R R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.ringHomClass.{u1, u1} R R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) I) I (Ideal.comap_id.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) I))) (RingHom.id.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.commSemiring.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))))
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) [hI : Ideal.IsPrime.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) I], Eq.{succ u1} (RingHom.{u1, u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI))))) (Localization.localRingHom.{u1, u1} R _inst_1 R _inst_1 I hI I hI (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Eq.symm.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.comap.{u1, u1, u1} R R (RingHom.{u1, u1} R R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.instRingHomClassRingHom.{u1, u1} R R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) I) I (Ideal.comap_id.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) I))) (RingHom.id.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))))
-Case conversion may be inaccurate. Consider using '#align localization.local_ring_hom_id Localization.localRingHom_idₓ'. -/
 @[simp]
 theorem localRingHom_id : localRingHom I I (RingHom.id R) (Ideal.comap_id I).symm = RingHom.id _ :=
   localRingHom_unique _ _ _ _ fun x => rfl
 #align localization.local_ring_hom_id Localization.localRingHom_id
 
-/- warning: localization.local_ring_hom_comp -> Localization.localRingHom_comp is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align localization.local_ring_hom_comp Localization.localRingHom_compₓ'. -/
 @[simp]
 theorem localRingHom_comp {S : Type _} [CommSemiring S] (J : Ideal S) [hJ : J.IsPrime] (K : Ideal P)
     [hK : K.IsPrime] (f : R →+* S) (hIJ : I = J.comap f) (g : S →+* P) (hJK : J = K.comap g) :
Diff
@@ -127,11 +127,10 @@ theorem AtPrime.localRing [IsLocalization.AtPrime S I] : LocalRing S :=
       rcases mk'_surjective I.prime_compl y with ⟨ry, sy, hry⟩
       rcases mk'_surjective I.prime_compl z with ⟨rz, sz, hrz⟩
       rw [← hrx, ← hry, ← hrz, ← mk'_add, ← mk'_mul, ← mk'_self S I.prime_compl.one_mem] at hxyz
-      rw [← hrx] at hx
-      rw [← hry] at hy
+      rw [← hrx] at hx; rw [← hry] at hy
       obtain ⟨t, ht⟩ := IsLocalization.eq.1 hxyz
       simp only [mul_one, one_mul, Submonoid.coe_mul, Subtype.coe_mk] at ht
-      suffices : ↑t * (↑sx * ↑sy * ↑sz) ∈ I
+      suffices : ↑t * (↑sx * ↑sy * ↑sz) ∈ I;
       exact
         not_or_of_not (mt hp.mem_or_mem <| not_or_of_not sx.2 sy.2) sz.2
           (hp.mem_or_mem <| (hp.mem_or_mem this).resolve_left t.2)
@@ -301,9 +300,7 @@ but is expected to have type
 Case conversion may be inaccurate. Consider using '#align localization.le_comap_prime_compl_iff Localization.le_comap_primeCompl_iffₓ'. -/
 theorem le_comap_primeCompl_iff {J : Ideal P} [hJ : J.IsPrime] {f : R →+* P} :
     I.primeCompl ≤ J.primeCompl.comap f ↔ J.comap f ≤ I :=
-  ⟨fun h x hx => by
-    contrapose! hx
-    exact h hx, fun h x hx hfxJ => hx (h hfxJ)⟩
+  ⟨fun h x hx => by contrapose! hx; exact h hx, fun h x hx hfxJ => hx (h hfxJ)⟩
 #align localization.le_comap_prime_compl_iff Localization.le_comap_primeCompl_iff
 
 variable (I)
Diff
@@ -326,10 +326,7 @@ noncomputable def localRingHom (J : Ideal P) [hJ : J.IsPrime] (f : R →+* P) (h
 #align localization.local_ring_hom Localization.localRingHom
 
 /- warning: localization.local_ring_hom_to_map -> Localization.localRingHom_to_map is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {P : Type.{u2}} [_inst_4 : CommSemiring.{u2} P] (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) [hI : Ideal.IsPrime.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) I] (J : Ideal.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) [hJ : Ideal.IsPrime.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4) J] (f : RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (hIJ : Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) I (Ideal.comap.{u1, u2, max u1 u2} R P (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.ringHomClass.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) f J)) (x : R), Eq.{succ u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.commSemiring.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.commSemiring.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))))) (fun (_x : RingHom.{u1, u2} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.commSemiring.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.commSemiring.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))))) => (Localization.AtPrime.{u1} R _inst_1 I hI) -> (Localization.AtPrime.{u2} P _inst_4 J hJ)) (RingHom.hasCoeToFun.{u1, u2} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.commSemiring.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.commSemiring.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))))) (Localization.localRingHom.{u1, u2} R _inst_1 P _inst_4 I hI J hJ f hIJ) (coeFn.{succ u1, succ u1} (RingHom.{u1, u1} R (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.commSemiring.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI))))) (fun (_x : RingHom.{u1, u1} R (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.commSemiring.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI))))) => R -> (Localization.AtPrime.{u1} R _inst_1 I hI)) (RingHom.hasCoeToFun.{u1, u1} R (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.commSemiring.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI))))) (algebraMap.{u1, u1} R (Localization.AtPrime.{u1} R _inst_1 I hI) _inst_1 (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.commSemiring.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI))) (Localization.algebra.{u1, u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI) R _inst_1 (Algebra.id.{u1} R _inst_1))) x)) (coeFn.{succ u2, succ u2} (RingHom.{u2, u2} P (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.commSemiring.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))))) (fun (_x : RingHom.{u2, u2} P (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.commSemiring.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))))) => P -> (Localization.AtPrime.{u2} P _inst_4 J hJ)) (RingHom.hasCoeToFun.{u2, u2} P (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.commSemiring.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))))) (algebraMap.{u2, u2} P (Localization.AtPrime.{u2} P _inst_4 J hJ) _inst_4 (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.commSemiring.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))) (Localization.algebra.{u2, u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ) P _inst_4 (Algebra.id.{u2} P _inst_4))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (fun (_x : RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) => R -> P) (RingHom.hasCoeToFun.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) f x))
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {P : Type.{u2}} [_inst_4 : CommSemiring.{u2} P] (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) [hI : Ideal.IsPrime.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) I] (J : Ideal.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) [hJ : Ideal.IsPrime.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4) J] (f : RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (hIJ : Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) I (Ideal.comap.{u1, u2, max u1 u2} R P (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.instRingHomClassRingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) f J)) (x : R), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Localization.AtPrime.{u1} R _inst_1 I hI) => Localization.AtPrime.{u2} P _inst_4 J hJ) (FunLike.coe.{succ u1, succ u1, succ u1} (RingHom.{u1, u1} R (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI))))) R (fun (a : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => Localization.AtPrime.{u1} R _inst_1 I hI) a) (MulHomClass.toFunLike.{u1, u1, u1} (RingHom.{u1, u1} R (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI))))) R (Localization.AtPrime.{u1} R _inst_1 I hI) (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))))) (NonUnitalRingHomClass.toMulHomClass.{u1, u1, u1} (RingHom.{u1, u1} R (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI))))) R (Localization.AtPrime.{u1} R _inst_1 I hI) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI))))) (RingHomClass.toNonUnitalRingHomClass.{u1, u1, u1} (RingHom.{u1, u1} R (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI))))) R (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))) (RingHom.instRingHomClassRingHom.{u1, u1} R (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))))))) (algebraMap.{u1, u1} R (Localization.AtPrime.{u1} R _inst_1 I hI) _inst_1 (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI))) (Localization.instAlgebraLocalizationToCommMonoidToSemiringInstCommSemiringLocalizationToCommMonoid.{u1, u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI) R _inst_1 (Algebra.id.{u1} R _inst_1))) x)) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (RingHom.{u1, u2} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))))) (Localization.AtPrime.{u1} R _inst_1 I hI) (fun (_x : Localization.AtPrime.{u1} R _inst_1 I hI) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Localization.AtPrime.{u1} R _inst_1 I hI) => Localization.AtPrime.{u2} P _inst_4 J hJ) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (RingHom.{u1, u2} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))))) (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.AtPrime.{u2} P _inst_4 J hJ) (NonUnitalNonAssocSemiring.toMul.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))))) (NonUnitalNonAssocSemiring.toMul.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ)))))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))))) (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.AtPrime.{u2} P _inst_4 J hJ) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI))))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))))) (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ)))) (RingHom.instRingHomClassRingHom.{u1, u2} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ)))))))) (Localization.localRingHom.{u1, u2} R _inst_1 P _inst_4 I hI J hJ f hIJ) (FunLike.coe.{succ u1, succ u1, succ u1} (RingHom.{u1, u1} R (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI))))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => Localization.AtPrime.{u1} R _inst_1 I hI) _x) (MulHomClass.toFunLike.{u1, u1, u1} (RingHom.{u1, u1} R (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI))))) R (Localization.AtPrime.{u1} R _inst_1 I hI) (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))))) (NonUnitalRingHomClass.toMulHomClass.{u1, u1, u1} (RingHom.{u1, u1} R (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI))))) R (Localization.AtPrime.{u1} R _inst_1 I hI) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI))))) (RingHomClass.toNonUnitalRingHomClass.{u1, u1, u1} (RingHom.{u1, u1} R (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI))))) R (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))) (RingHom.instRingHomClassRingHom.{u1, u1} R (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))))))) (algebraMap.{u1, u1} R (Localization.AtPrime.{u1} R _inst_1 I hI) _inst_1 (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI))) (Localization.instAlgebraLocalizationToCommMonoidToSemiringInstCommSemiringLocalizationToCommMonoid.{u1, u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI) R _inst_1 (Algebra.id.{u1} R _inst_1))) x)) (FunLike.coe.{succ u2, succ u2, succ u2} (RingHom.{u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => P) x) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => P) x) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => P) x) _inst_4)) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => P) x) (fun (_x : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => P) x) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => P) x) => Localization.AtPrime.{u2} P _inst_4 J hJ) _x) (MulHomClass.toFunLike.{u2, u2, u2} (RingHom.{u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => P) x) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => P) x) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => P) x) _inst_4)) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => P) x) (Localization.AtPrime.{u2} P _inst_4 J hJ) (NonUnitalNonAssocSemiring.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => P) x) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => P) x) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => P) x) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => P) x) _inst_4)))) (NonUnitalNonAssocSemiring.toMul.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ)))))) (NonUnitalRingHomClass.toMulHomClass.{u2, u2, u2} (RingHom.{u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => P) x) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => P) x) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => P) x) _inst_4)) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => P) x) (Localization.AtPrime.{u2} P _inst_4 J hJ) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => P) x) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => P) x) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => P) x) _inst_4))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))))) (RingHomClass.toNonUnitalRingHomClass.{u2, u2, u2} (RingHom.{u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => P) x) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => P) x) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => P) x) _inst_4)) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => P) x) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => P) x) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => P) x) _inst_4)) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ)))) (RingHom.instRingHomClassRingHom.{u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => P) x) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => P) x) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => P) x) _inst_4)) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ)))))))) (algebraMap.{u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => P) x) (Localization.AtPrime.{u2} P _inst_4 J hJ) _inst_4 (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))) (Localization.instAlgebraLocalizationToCommMonoidToSemiringInstCommSemiringLocalizationToCommMonoid.{u2, u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => P) x) _inst_4 (Algebra.id.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => P) x) _inst_4))) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => P) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) R P (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u2} P (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} P (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) R P (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} P (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) (RingHom.instRingHomClassRingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)))))) f x))
+<too large>
 Case conversion may be inaccurate. Consider using '#align localization.local_ring_hom_to_map Localization.localRingHom_to_mapₓ'. -/
 theorem localRingHom_to_map (J : Ideal P) [hJ : J.IsPrime] (f : R →+* P) (hIJ : I = J.comap f)
     (x : R) : localRingHom I J f hIJ (algebraMap _ _ x) = algebraMap _ _ (f x) :=
@@ -337,10 +334,7 @@ theorem localRingHom_to_map (J : Ideal P) [hJ : J.IsPrime] (f : R →+* P) (hIJ
 #align localization.local_ring_hom_to_map Localization.localRingHom_to_map
 
 /- warning: localization.local_ring_hom_mk' -> Localization.localRingHom_mk' is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {P : Type.{u2}} [_inst_4 : CommSemiring.{u2} P] (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) [hI : Ideal.IsPrime.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) I] (J : Ideal.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) [hJ : Ideal.IsPrime.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4) J] (f : RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (hIJ : Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) I (Ideal.comap.{u1, u2, max u1 u2} R P (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.ringHomClass.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) f J)) (x : R) (y : coeSort.{succ u1, succ (succ u1)} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) R (Submonoid.setLike.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) (Ideal.primeCompl.{u1} R _inst_1 I hI)), Eq.{succ u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.commSemiring.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.commSemiring.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))))) (fun (_x : RingHom.{u1, u2} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.commSemiring.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.commSemiring.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))))) => (Localization.AtPrime.{u1} R _inst_1 I hI) -> (Localization.AtPrime.{u2} P _inst_4 J hJ)) (RingHom.hasCoeToFun.{u1, u2} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.commSemiring.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.commSemiring.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))))) (Localization.localRingHom.{u1, u2} R _inst_1 P _inst_4 I hI J hJ f hIJ) (IsLocalization.mk'.{u1, u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI) (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.commSemiring.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)) (Localization.algebra.{u1, u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI) R _inst_1 (Algebra.id.{u1} R _inst_1)) (Localization.isLocalization.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)) x y)) (IsLocalization.mk'.{u2, u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.commSemiring.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ)) (Localization.algebra.{u2, u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ) P _inst_4 (Algebra.id.{u2} P _inst_4)) (Localization.isLocalization.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ)) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (fun (_x : RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) => R -> P) (RingHom.hasCoeToFun.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) f x) (Subtype.mk.{succ u2} P (fun (x : P) => Membership.Mem.{u2, u2} P (Submonoid.{u2} P (MulZeroOneClass.toMulOneClass.{u2} P (NonAssocSemiring.toMulZeroOneClass.{u2} P (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))))) (SetLike.hasMem.{u2, u2} (Submonoid.{u2} P (MulZeroOneClass.toMulOneClass.{u2} P (NonAssocSemiring.toMulZeroOneClass.{u2} P (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))))) P (Submonoid.setLike.{u2} P (MulZeroOneClass.toMulOneClass.{u2} P (NonAssocSemiring.toMulZeroOneClass.{u2} P (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)))))) x (Ideal.primeCompl.{u2} P _inst_4 J hJ)) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (fun (_x : RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) => R -> P) (RingHom.hasCoeToFun.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) f ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (coeSort.{succ u1, succ (succ u1)} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) R (Submonoid.setLike.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) (Ideal.primeCompl.{u1} R _inst_1 I hI)) R (HasLiftT.mk.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) R (Submonoid.setLike.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) (Ideal.primeCompl.{u1} R _inst_1 I hI)) R (CoeTCₓ.coe.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) R (Submonoid.setLike.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) (Ideal.primeCompl.{u1} R _inst_1 I hI)) R (coeBase.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) R (Submonoid.setLike.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) (Ideal.primeCompl.{u1} R _inst_1 I hI)) R (coeSubtype.{succ u1} R (fun (x : R) => Membership.Mem.{u1, u1} R (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (SetLike.hasMem.{u1, u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) R (Submonoid.setLike.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) x (Ideal.primeCompl.{u1} R _inst_1 I hI)))))) y)) (Iff.mpr (LE.le.{u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Preorder.toHasLe.{u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (PartialOrder.toPreorder.{u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Submonoid.completeLattice.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))))) (Ideal.primeCompl.{u1} R _inst_1 I hI) (Submonoid.comap.{u1, u2, max u1 u2} R P (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (MulZeroOneClass.toMulOneClass.{u2} P (NonAssocSemiring.toMulZeroOneClass.{u2} P (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)))) (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (RingHomClass.toMonoidHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) (RingHom.ringHomClass.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)))) f (Ideal.primeCompl.{u2} P _inst_4 J hJ))) (LE.le.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Preorder.toHasLe.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.completeLattice.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))) (Ideal.comap.{u1, u2, max u1 u2} R P (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.ringHomClass.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) f J) I) (Localization.le_comap_primeCompl_iff.{u1, u2} R _inst_1 P _inst_4 I hI J hJ f) (ge_of_eq.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.completeLattice.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) I (Ideal.comap.{u1, u2, max u1 u2} R P (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.ringHomClass.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) f J) hIJ) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (coeSort.{succ u1, succ (succ u1)} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) R (Submonoid.setLike.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) (Ideal.primeCompl.{u1} R _inst_1 I hI)) R (HasLiftT.mk.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) R (Submonoid.setLike.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) (Ideal.primeCompl.{u1} R _inst_1 I hI)) R (CoeTCₓ.coe.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) R (Submonoid.setLike.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) (Ideal.primeCompl.{u1} R _inst_1 I hI)) R (coeBase.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) R (Submonoid.setLike.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) (Ideal.primeCompl.{u1} R _inst_1 I hI)) R (coeSubtype.{succ u1} R (fun (x : R) => Membership.Mem.{u1, u1} R (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (SetLike.hasMem.{u1, u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) R (Submonoid.setLike.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) x (Ideal.primeCompl.{u1} R _inst_1 I hI)))))) y) (Subtype.property.{succ u1} R (fun (x : R) => Membership.Mem.{u1, u1} R (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (SetLike.hasMem.{u1, u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) R (Submonoid.setLike.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) x (Ideal.primeCompl.{u1} R _inst_1 I hI)) y))))
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {P : Type.{u2}} [_inst_4 : CommSemiring.{u2} P] (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) [hI : Ideal.IsPrime.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) I] (J : Ideal.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) [hJ : Ideal.IsPrime.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4) J] (f : RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (hIJ : Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) I (Ideal.comap.{u1, u2, max u1 u2} R P (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.instRingHomClassRingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) f J)) (x : R) (y : Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (SetLike.instMembership.{u1, u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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 _inst_1)))))) x (Ideal.primeCompl.{u1} R _inst_1 I hI))), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Localization.AtPrime.{u1} R _inst_1 I hI) => Localization.AtPrime.{u2} P _inst_4 J hJ) (IsLocalization.mk'.{u1, u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI) (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)) (Localization.instAlgebraLocalizationToCommMonoidToSemiringInstCommSemiringLocalizationToCommMonoid.{u1, u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI) R _inst_1 (Algebra.id.{u1} R _inst_1)) (Localization.isLocalization.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)) x y)) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (RingHom.{u1, u2} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))))) (Localization.AtPrime.{u1} R _inst_1 I hI) (fun (_x : Localization.AtPrime.{u1} R _inst_1 I hI) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Localization.AtPrime.{u1} R _inst_1 I hI) => Localization.AtPrime.{u2} P _inst_4 J hJ) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (RingHom.{u1, u2} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))))) (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.AtPrime.{u2} P _inst_4 J hJ) (NonUnitalNonAssocSemiring.toMul.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))))) (NonUnitalNonAssocSemiring.toMul.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ)))))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))))) (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.AtPrime.{u2} P _inst_4 J hJ) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI))))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))))) (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ)))) (RingHom.instRingHomClassRingHom.{u1, u2} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ)))))))) (Localization.localRingHom.{u1, u2} R _inst_1 P _inst_4 I hI J hJ f hIJ) (IsLocalization.mk'.{u1, u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI) (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)) (Localization.instAlgebraLocalizationToCommMonoidToSemiringInstCommSemiringLocalizationToCommMonoid.{u1, u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI) R _inst_1 (Algebra.id.{u1} R _inst_1)) (Localization.isLocalization.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)) x y)) (IsLocalization.mk'.{u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => P) x) _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ)) (Localization.instAlgebraLocalizationToCommMonoidToSemiringInstCommSemiringLocalizationToCommMonoid.{u2, u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => P) x) _inst_4 (Algebra.id.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => P) x) _inst_4)) (Localization.isLocalization.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => P) x) _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ)) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => P) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) R P (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u2} P (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} P (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) R P (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} P (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) (RingHom.instRingHomClassRingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)))))) f x) (Subtype.mk.{succ u2} P (fun (x : P) => Membership.mem.{u2, u2} P (Submonoid.{u2} P (MulZeroOneClass.toMulOneClass.{u2} P (NonAssocSemiring.toMulZeroOneClass.{u2} P (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))))) (SetLike.instMembership.{u2, u2} (Submonoid.{u2} P (MulZeroOneClass.toMulOneClass.{u2} P (NonAssocSemiring.toMulZeroOneClass.{u2} P (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))))) P (Submonoid.instSetLikeSubmonoid.{u2} P (MulZeroOneClass.toMulOneClass.{u2} P (NonAssocSemiring.toMulZeroOneClass.{u2} P (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)))))) x (Ideal.primeCompl.{u2} P _inst_4 J hJ)) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => P) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) R P (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u2} P (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} P (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) R P (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} P (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) (RingHom.instRingHomClassRingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)))))) f (Subtype.val.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Set.{u1} R) (Set.instMembershipSet.{u1} R) x (SetLike.coe.{u1, u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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 _inst_1))))) (Ideal.primeCompl.{u1} R _inst_1 I hI))) y)) (Iff.mpr (LE.le.{u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Preorder.toLE.{u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (PartialOrder.toPreorder.{u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Submonoid.instCompleteLatticeSubmonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))))) (Ideal.primeCompl.{u1} R _inst_1 I hI) (Submonoid.comap.{u1, u2, max u1 u2} R P (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (MulZeroOneClass.toMulOneClass.{u2} P (NonAssocSemiring.toMulZeroOneClass.{u2} P (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)))) (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (RingHomClass.toMonoidHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) (RingHom.instRingHomClassRingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)))) f (Ideal.primeCompl.{u2} P _inst_4 J hJ))) (LE.le.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Preorder.toLE.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.completeLattice.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))) (Ideal.comap.{u1, u2, max u1 u2} R P (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.instRingHomClassRingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) f J) I) (Localization.le_comap_primeCompl_iff.{u1, u2} R _inst_1 P _inst_4 I hI J hJ f) (ge_of_eq.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.completeLattice.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) I (Ideal.comap.{u1, u2, max u1 u2} R P (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.instRingHomClassRingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) f J) hIJ) (Subtype.val.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Set.{u1} R) (Set.instMembershipSet.{u1} R) x (SetLike.coe.{u1, u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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 _inst_1))))) (Ideal.primeCompl.{u1} R _inst_1 I hI))) y) (Subtype.property.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (SetLike.instMembership.{u1, u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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 _inst_1)))))) x (Ideal.primeCompl.{u1} R _inst_1 I hI)) y))))
+<too large>
 Case conversion may be inaccurate. Consider using '#align localization.local_ring_hom_mk' Localization.localRingHom_mk'ₓ'. -/
 theorem localRingHom_mk' (J : Ideal P) [hJ : J.IsPrime] (f : R →+* P) (hIJ : I = J.comap f) (x : R)
     (y : I.primeCompl) :
@@ -367,10 +361,7 @@ instance isLocalRingHom_localRingHom (J : Ideal P) [hJ : J.IsPrime] (f : R →+*
 #align localization.is_local_ring_hom_local_ring_hom Localization.isLocalRingHom_localRingHom
 
 /- warning: localization.local_ring_hom_unique -> Localization.localRingHom_unique is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {P : Type.{u2}} [_inst_4 : CommSemiring.{u2} P] (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) [hI : Ideal.IsPrime.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) I] (J : Ideal.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) [hJ : Ideal.IsPrime.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4) J] (f : RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (hIJ : Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) I (Ideal.comap.{u1, u2, max u1 u2} R P (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.ringHomClass.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) f J)) {j : RingHom.{u1, u2} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.commSemiring.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.commSemiring.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))))}, (forall (x : R), Eq.{succ u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.commSemiring.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.commSemiring.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))))) (fun (_x : RingHom.{u1, u2} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.commSemiring.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.commSemiring.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))))) => (Localization.AtPrime.{u1} R _inst_1 I hI) -> (Localization.AtPrime.{u2} P _inst_4 J hJ)) (RingHom.hasCoeToFun.{u1, u2} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.commSemiring.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.commSemiring.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))))) j (coeFn.{succ u1, succ u1} (RingHom.{u1, u1} R (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.commSemiring.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI))))) (fun (_x : RingHom.{u1, u1} R (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.commSemiring.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI))))) => R -> (Localization.AtPrime.{u1} R _inst_1 I hI)) (RingHom.hasCoeToFun.{u1, u1} R (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.commSemiring.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI))))) (algebraMap.{u1, u1} R (Localization.AtPrime.{u1} R _inst_1 I hI) _inst_1 (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.commSemiring.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI))) (Localization.algebra.{u1, u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI) R _inst_1 (Algebra.id.{u1} R _inst_1))) x)) (coeFn.{succ u2, succ u2} (RingHom.{u2, u2} P (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.commSemiring.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))))) (fun (_x : RingHom.{u2, u2} P (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.commSemiring.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))))) => P -> (Localization.AtPrime.{u2} P _inst_4 J hJ)) (RingHom.hasCoeToFun.{u2, u2} P (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.commSemiring.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))))) (algebraMap.{u2, u2} P (Localization.AtPrime.{u2} P _inst_4 J hJ) _inst_4 (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.commSemiring.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))) (Localization.algebra.{u2, u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ) P _inst_4 (Algebra.id.{u2} P _inst_4))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (fun (_x : RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) => R -> P) (RingHom.hasCoeToFun.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) f x))) -> (Eq.{max (succ u1) (succ u2)} (RingHom.{u1, u2} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.commSemiring.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.commSemiring.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))))) (Localization.localRingHom.{u1, u2} R _inst_1 P _inst_4 I hI J hJ f hIJ) j)
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {P : Type.{u2}} [_inst_4 : CommSemiring.{u2} P] (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) [hI : Ideal.IsPrime.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) I] (J : Ideal.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) [hJ : Ideal.IsPrime.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4) J] (f : RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (hIJ : Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) I (Ideal.comap.{u1, u2, max u1 u2} R P (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.instRingHomClassRingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) f J)) {j : RingHom.{u1, u2} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))))}, (forall (x : R), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Localization.AtPrime.{u1} R _inst_1 I hI) => Localization.AtPrime.{u2} P _inst_4 J hJ) (FunLike.coe.{succ u1, succ u1, succ u1} (RingHom.{u1, u1} R (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI))))) R (fun (a : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => Localization.AtPrime.{u1} R _inst_1 I hI) a) (MulHomClass.toFunLike.{u1, u1, u1} (RingHom.{u1, u1} R (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI))))) R (Localization.AtPrime.{u1} R _inst_1 I hI) (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))))) (NonUnitalRingHomClass.toMulHomClass.{u1, u1, u1} (RingHom.{u1, u1} R (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI))))) R (Localization.AtPrime.{u1} R _inst_1 I hI) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI))))) (RingHomClass.toNonUnitalRingHomClass.{u1, u1, u1} (RingHom.{u1, u1} R (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI))))) R (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))) (RingHom.instRingHomClassRingHom.{u1, u1} R (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))))))) (algebraMap.{u1, u1} R (Localization.AtPrime.{u1} R _inst_1 I hI) _inst_1 (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI))) (Localization.instAlgebraLocalizationToCommMonoidToSemiringInstCommSemiringLocalizationToCommMonoid.{u1, u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI) R _inst_1 (Algebra.id.{u1} R _inst_1))) x)) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (RingHom.{u1, u2} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))))) (Localization.AtPrime.{u1} R _inst_1 I hI) (fun (_x : Localization.AtPrime.{u1} R _inst_1 I hI) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Localization.AtPrime.{u1} R _inst_1 I hI) => Localization.AtPrime.{u2} P _inst_4 J hJ) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (RingHom.{u1, u2} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))))) (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.AtPrime.{u2} P _inst_4 J hJ) (NonUnitalNonAssocSemiring.toMul.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))))) (NonUnitalNonAssocSemiring.toMul.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ)))))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))))) (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.AtPrime.{u2} P _inst_4 J hJ) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI))))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))))) (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ)))) (RingHom.instRingHomClassRingHom.{u1, u2} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ)))))))) j (FunLike.coe.{succ u1, succ u1, succ u1} (RingHom.{u1, u1} R (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI))))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => Localization.AtPrime.{u1} R _inst_1 I hI) _x) (MulHomClass.toFunLike.{u1, u1, u1} (RingHom.{u1, u1} R (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI))))) R (Localization.AtPrime.{u1} R _inst_1 I hI) (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))))) (NonUnitalRingHomClass.toMulHomClass.{u1, u1, u1} (RingHom.{u1, u1} R (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI))))) R (Localization.AtPrime.{u1} R _inst_1 I hI) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI))))) (RingHomClass.toNonUnitalRingHomClass.{u1, u1, u1} (RingHom.{u1, u1} R (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI))))) R (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))) (RingHom.instRingHomClassRingHom.{u1, u1} R (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))))))) (algebraMap.{u1, u1} R (Localization.AtPrime.{u1} R _inst_1 I hI) _inst_1 (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI))) (Localization.instAlgebraLocalizationToCommMonoidToSemiringInstCommSemiringLocalizationToCommMonoid.{u1, u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI) R _inst_1 (Algebra.id.{u1} R _inst_1))) x)) (FunLike.coe.{succ u2, succ u2, succ u2} (RingHom.{u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => P) x) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => P) x) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => P) x) _inst_4)) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => P) x) (fun (_x : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => P) x) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => P) x) => Localization.AtPrime.{u2} P _inst_4 J hJ) _x) (MulHomClass.toFunLike.{u2, u2, u2} (RingHom.{u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => P) x) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => P) x) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => P) x) _inst_4)) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => P) x) (Localization.AtPrime.{u2} P _inst_4 J hJ) (NonUnitalNonAssocSemiring.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => P) x) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => P) x) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => P) x) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => P) x) _inst_4)))) (NonUnitalNonAssocSemiring.toMul.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ)))))) (NonUnitalRingHomClass.toMulHomClass.{u2, u2, u2} (RingHom.{u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => P) x) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => P) x) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => P) x) _inst_4)) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => P) x) (Localization.AtPrime.{u2} P _inst_4 J hJ) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => P) x) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => P) x) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => P) x) _inst_4))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))))) (RingHomClass.toNonUnitalRingHomClass.{u2, u2, u2} (RingHom.{u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => P) x) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => P) x) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => P) x) _inst_4)) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => P) x) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => P) x) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => P) x) _inst_4)) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ)))) (RingHom.instRingHomClassRingHom.{u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => P) x) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => P) x) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => P) x) _inst_4)) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ)))))))) (algebraMap.{u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => P) x) (Localization.AtPrime.{u2} P _inst_4 J hJ) _inst_4 (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))) (Localization.instAlgebraLocalizationToCommMonoidToSemiringInstCommSemiringLocalizationToCommMonoid.{u2, u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => P) x) _inst_4 (Algebra.id.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => P) x) _inst_4))) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => P) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) R P (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u2} P (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} P (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) R P (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} P (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) (RingHom.instRingHomClassRingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)))))) f x))) -> (Eq.{max (succ u1) (succ u2)} (RingHom.{u1, u2} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))))) (Localization.localRingHom.{u1, u2} R _inst_1 P _inst_4 I hI J hJ f hIJ) j)
+<too large>
 Case conversion may be inaccurate. Consider using '#align localization.local_ring_hom_unique Localization.localRingHom_uniqueₓ'. -/
 theorem localRingHom_unique (J : Ideal P) [hJ : J.IsPrime] (f : R →+* P) (hIJ : I = J.comap f)
     {j : Localization.AtPrime I →+* Localization.AtPrime J}
@@ -390,10 +381,7 @@ theorem localRingHom_id : localRingHom I I (RingHom.id R) (Ideal.comap_id I).sym
 #align localization.local_ring_hom_id Localization.localRingHom_id
 
 /- warning: localization.local_ring_hom_comp -> Localization.localRingHom_comp is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {P : Type.{u2}} [_inst_4 : CommSemiring.{u2} P] (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) [hI : Ideal.IsPrime.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) I] {S : Type.{u3}} [_inst_5 : CommSemiring.{u3} S] (J : Ideal.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) [hJ : Ideal.IsPrime.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5) J] (K : Ideal.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) [hK : Ideal.IsPrime.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4) K] (f : RingHom.{u1, u3} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5))) (hIJ : Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) I (Ideal.comap.{u1, u3, max u1 u3} R S (RingHom.{u1, u3} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u3} S _inst_5) (RingHom.ringHomClass.{u1, u3} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5))) f J)) (g : RingHom.{u3, u2} S P (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (hJK : Eq.{succ u3} (Ideal.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) J (Ideal.comap.{u3, u2, max u3 u2} S P (RingHom.{u3, u2} S P (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u3} S _inst_5) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.ringHomClass.{u3, u2} S P (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) g K)), Eq.{max (succ u1) (succ u2)} (RingHom.{u1, u2} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.AtPrime.{u2} P _inst_4 K hK) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.commSemiring.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 K hK) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 K hK) (Localization.commSemiring.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 K hK))))) (Localization.localRingHom.{u1, u2} R _inst_1 P _inst_4 I hI K hK (RingHom.comp.{u1, u3, u2} R S P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) g f) (Eq.mpr.{0} (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) I (Ideal.comap.{u1, u2, max u1 u2} R P (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.ringHomClass.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (RingHom.comp.{u1, u3, u2} R S P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) g f) K)) (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.comap.{u1, u3, max u1 u3} R S (RingHom.{u1, u3} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u3} S _inst_5) (RingHom.ringHomClass.{u1, u3} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5))) f J) (Ideal.comap.{u1, u2, max u1 u2} R P (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.ringHomClass.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (RingHom.comp.{u1, u3, u2} R S P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) g f) K)) (id_tag Tactic.IdTag.rw (Eq.{1} Prop (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) I (Ideal.comap.{u1, u2, max u1 u2} R P (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.ringHomClass.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (RingHom.comp.{u1, u3, u2} R S P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) g f) K)) (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.comap.{u1, u3, max u1 u3} R S (RingHom.{u1, u3} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u3} S _inst_5) (RingHom.ringHomClass.{u1, u3} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5))) f J) (Ideal.comap.{u1, u2, max u1 u2} R P (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.ringHomClass.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (RingHom.comp.{u1, u3, u2} R S P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) g f) K))) (Eq.ndrec.{0, succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) I (fun (_a : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) => Eq.{1} Prop (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) I (Ideal.comap.{u1, u2, max u1 u2} R P (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.ringHomClass.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (RingHom.comp.{u1, u3, u2} R S P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) g f) K)) (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) _a (Ideal.comap.{u1, u2, max u1 u2} R P (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.ringHomClass.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (RingHom.comp.{u1, u3, u2} R S P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) g f) K))) (rfl.{1} Prop (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) I (Ideal.comap.{u1, u2, max u1 u2} R P (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.ringHomClass.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (RingHom.comp.{u1, u3, u2} R S P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) g f) K))) (Ideal.comap.{u1, u3, max u1 u3} R S (RingHom.{u1, u3} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u3} S _inst_5) (RingHom.ringHomClass.{u1, u3} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5))) f J) hIJ)) (Eq.mpr.{0} (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.comap.{u1, u3, max u1 u3} R S (RingHom.{u1, u3} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u3} S _inst_5) (RingHom.ringHomClass.{u1, u3} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5))) f J) (Ideal.comap.{u1, u2, max u1 u2} R P (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.ringHomClass.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (RingHom.comp.{u1, u3, u2} R S P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) g f) K)) (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.comap.{u1, u3, max u1 u3} R S (RingHom.{u1, u3} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u3} S _inst_5) (RingHom.ringHomClass.{u1, u3} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5))) f (Ideal.comap.{u3, u2, max u3 u2} S P (RingHom.{u3, u2} S P (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u3} S _inst_5) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.ringHomClass.{u3, u2} S P (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) g K)) (Ideal.comap.{u1, u2, max u1 u2} R P (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.ringHomClass.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (RingHom.comp.{u1, u3, u2} R S P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) g f) K)) (id_tag Tactic.IdTag.rw (Eq.{1} Prop (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.comap.{u1, u3, max u1 u3} R S (RingHom.{u1, u3} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u3} S _inst_5) (RingHom.ringHomClass.{u1, u3} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5))) f J) (Ideal.comap.{u1, u2, max u1 u2} R P (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.ringHomClass.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (RingHom.comp.{u1, u3, u2} R S P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) g f) K)) (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.comap.{u1, u3, max u1 u3} R S (RingHom.{u1, u3} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u3} S _inst_5) (RingHom.ringHomClass.{u1, u3} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5))) f (Ideal.comap.{u3, u2, max u3 u2} S P (RingHom.{u3, u2} S P (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u3} S _inst_5) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.ringHomClass.{u3, u2} S P (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) g K)) (Ideal.comap.{u1, u2, max u1 u2} R P (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.ringHomClass.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (RingHom.comp.{u1, u3, u2} R S P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) g f) K))) (Eq.ndrec.{0, succ u3} (Ideal.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) J (fun (_a : Ideal.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) => Eq.{1} Prop (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.comap.{u1, u3, max u1 u3} R S (RingHom.{u1, u3} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u3} S _inst_5) (RingHom.ringHomClass.{u1, u3} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5))) f J) (Ideal.comap.{u1, u2, max u1 u2} R P (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.ringHomClass.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (RingHom.comp.{u1, u3, u2} R S P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) g f) K)) (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.comap.{u1, u3, max u1 u3} R S (RingHom.{u1, u3} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u3} S _inst_5) (RingHom.ringHomClass.{u1, u3} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5))) f _a) (Ideal.comap.{u1, u2, max u1 u2} R P (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.ringHomClass.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (RingHom.comp.{u1, u3, u2} R S P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) g f) K))) (rfl.{1} Prop (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.comap.{u1, u3, max u1 u3} R S (RingHom.{u1, u3} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u3} S _inst_5) (RingHom.ringHomClass.{u1, u3} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5))) f J) (Ideal.comap.{u1, u2, max u1 u2} R P (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.ringHomClass.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (RingHom.comp.{u1, u3, u2} R S P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) g f) K))) (Ideal.comap.{u3, u2, max u3 u2} S P (RingHom.{u3, u2} S P (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u3} S _inst_5) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.ringHomClass.{u3, u2} S P (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) g K) hJK)) (Eq.mpr.{0} (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.comap.{u1, u3, max u1 u3} R S (RingHom.{u1, u3} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u3} S _inst_5) (RingHom.ringHomClass.{u1, u3} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5))) f (Ideal.comap.{u3, u2, max u3 u2} S P (RingHom.{u3, u2} S P (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u3} S _inst_5) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.ringHomClass.{u3, u2} S P (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) g K)) (Ideal.comap.{u1, u2, max u1 u2} R P (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.ringHomClass.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (RingHom.comp.{u1, u3, u2} R S P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) g f) K)) (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.comap.{u1, u2, max u1 u2} R P (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.ringHomClass.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (RingHom.comp.{u1, u3, u2} R S P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) g f) K) (Ideal.comap.{u1, u2, max u1 u2} R P (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.ringHomClass.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (RingHom.comp.{u1, u3, u2} R S P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) g f) K)) (id_tag Tactic.IdTag.rw (Eq.{1} Prop (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.comap.{u1, u3, max u1 u3} R S (RingHom.{u1, u3} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u3} S _inst_5) (RingHom.ringHomClass.{u1, u3} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5))) f (Ideal.comap.{u3, u2, max u3 u2} S P (RingHom.{u3, u2} S P (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u3} S _inst_5) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.ringHomClass.{u3, u2} S P (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) g K)) (Ideal.comap.{u1, u2, max u1 u2} R P (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.ringHomClass.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (RingHom.comp.{u1, u3, u2} R S P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) g f) K)) (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.comap.{u1, u2, max u1 u2} R P (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.ringHomClass.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (RingHom.comp.{u1, u3, u2} R S P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) g f) K) (Ideal.comap.{u1, u2, max u1 u2} R P (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.ringHomClass.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (RingHom.comp.{u1, u3, u2} R S P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) g f) K))) (Eq.ndrec.{0, succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.comap.{u1, u3, max u1 u3} R S (RingHom.{u1, u3} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u3} S _inst_5) (RingHom.ringHomClass.{u1, u3} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5))) f (Ideal.comap.{u3, u2, max u3 u2} S P (RingHom.{u3, u2} S P (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u3} S _inst_5) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.ringHomClass.{u3, u2} S P (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) g K)) (fun (_a : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) => Eq.{1} Prop (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.comap.{u1, u3, max u1 u3} R S (RingHom.{u1, u3} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u3} S _inst_5) (RingHom.ringHomClass.{u1, u3} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5))) f (Ideal.comap.{u3, u2, max u3 u2} S P (RingHom.{u3, u2} S P (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u3} S _inst_5) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.ringHomClass.{u3, u2} S P (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) g K)) (Ideal.comap.{u1, u2, max u1 u2} R P (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.ringHomClass.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (RingHom.comp.{u1, u3, u2} R S P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) g f) K)) (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) _a (Ideal.comap.{u1, u2, max u1 u2} R P (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.ringHomClass.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (RingHom.comp.{u1, u3, u2} R S P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) g f) K))) (rfl.{1} Prop (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.comap.{u1, u3, max u1 u3} R S (RingHom.{u1, u3} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u3} S _inst_5) (RingHom.ringHomClass.{u1, u3} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5))) f (Ideal.comap.{u3, u2, max u3 u2} S P (RingHom.{u3, u2} S P (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u3} S _inst_5) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.ringHomClass.{u3, u2} S P (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) g K)) (Ideal.comap.{u1, u2, max u1 u2} R P (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.ringHomClass.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (RingHom.comp.{u1, u3, u2} R S P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) g f) K))) (Ideal.comap.{u1, u2, max u1 u2} R P (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.ringHomClass.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (RingHom.comp.{u1, u3, u2} R S P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) g f) K) (Ideal.comap_comap.{u1, u3, u2} R S (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u3} S _inst_5) P (CommSemiring.toSemiring.{u2} P _inst_4) K f g))) (rfl.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.comap.{u1, u2, max u1 u2} R P (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.ringHomClass.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (RingHom.comp.{u1, u3, u2} R S P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) g f) K)))))) (RingHom.comp.{u1, u3, u2} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.AtPrime.{u3} S _inst_5 J hJ) (Localization.AtPrime.{u2} P _inst_4 K hK) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.commSemiring.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))) (Semiring.toNonAssocSemiring.{u3} (Localization.AtPrime.{u3} S _inst_5 J hJ) (CommSemiring.toSemiring.{u3} (Localization.AtPrime.{u3} S _inst_5 J hJ) (Localization.commSemiring.{u3} S _inst_5 (Ideal.primeCompl.{u3} S _inst_5 J hJ)))) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 K hK) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 K hK) (Localization.commSemiring.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 K hK)))) (Localization.localRingHom.{u3, u2} S _inst_5 P _inst_4 J hJ K hK g hJK) (Localization.localRingHom.{u1, u3} R _inst_1 S _inst_5 I hI J hJ f hIJ))
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {P : Type.{u2}} [_inst_4 : CommSemiring.{u2} P] (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) [hI : Ideal.IsPrime.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) I] {S : Type.{u3}} [_inst_5 : CommSemiring.{u3} S] (J : Ideal.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) [hJ : Ideal.IsPrime.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5) J] (K : Ideal.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) [hK : Ideal.IsPrime.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4) K] (f : RingHom.{u1, u3} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5))) (hIJ : Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) I (Ideal.comap.{u1, u3, max u1 u3} R S (RingHom.{u1, u3} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u3} S _inst_5) (RingHom.instRingHomClassRingHom.{u1, u3} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5))) f J)) (g : RingHom.{u3, u2} S P (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (hJK : Eq.{succ u3} (Ideal.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) J (Ideal.comap.{u3, u2, max u2 u3} S P (RingHom.{u3, u2} S P (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u3} S _inst_5) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.instRingHomClassRingHom.{u3, u2} S P (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) g K)), Eq.{max (succ u1) (succ u2)} (RingHom.{u1, u2} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.AtPrime.{u2} P _inst_4 K hK) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 K hK) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 K hK) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 K hK))))) (Localization.localRingHom.{u1, u2} R _inst_1 P _inst_4 I hI K hK (RingHom.comp.{u1, u3, u2} R S P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) g f) (Eq.mpr.{0} (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) I (Ideal.comap.{u1, u2, max u1 u2} R P (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.instRingHomClassRingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (RingHom.comp.{u1, u3, u2} R S P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) g f) K)) (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.comap.{u1, u3, max u1 u3} R S (RingHom.{u1, u3} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u3} S _inst_5) (RingHom.instRingHomClassRingHom.{u1, u3} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5))) f J) (Ideal.comap.{u1, u2, max u1 u2} R P (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.instRingHomClassRingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (RingHom.comp.{u1, u3, u2} R S P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) g f) K)) (id.{0} (Eq.{1} Prop (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) I (Ideal.comap.{u1, u2, max u1 u2} R P (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.instRingHomClassRingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (RingHom.comp.{u1, u3, u2} R S P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) g f) K)) (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.comap.{u1, u3, max u1 u3} R S (RingHom.{u1, u3} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u3} S _inst_5) (RingHom.instRingHomClassRingHom.{u1, u3} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5))) f J) (Ideal.comap.{u1, u2, max u1 u2} R P (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.instRingHomClassRingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (RingHom.comp.{u1, u3, u2} R S P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) g f) K))) (Eq.ndrec.{0, succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) I (fun (_a : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) => Eq.{1} Prop (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) I (Ideal.comap.{u1, u2, max u1 u2} R P (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.instRingHomClassRingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (RingHom.comp.{u1, u3, u2} R S P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) g f) K)) (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) _a (Ideal.comap.{u1, u2, max u1 u2} R P (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.instRingHomClassRingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (RingHom.comp.{u1, u3, u2} R S P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) g f) K))) (Eq.refl.{1} Prop (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) I (Ideal.comap.{u1, u2, max u1 u2} R P (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.instRingHomClassRingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (RingHom.comp.{u1, u3, u2} R S P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) g f) K))) (Ideal.comap.{u1, u3, max u1 u3} R S (RingHom.{u1, u3} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u3} S _inst_5) (RingHom.instRingHomClassRingHom.{u1, u3} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5))) f J) hIJ)) (Eq.mpr.{0} (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.comap.{u1, u3, max u1 u3} R S (RingHom.{u1, u3} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u3} S _inst_5) (RingHom.instRingHomClassRingHom.{u1, u3} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5))) f J) (Ideal.comap.{u1, u2, max u1 u2} R P (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.instRingHomClassRingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (RingHom.comp.{u1, u3, u2} R S P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) g f) K)) (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.comap.{u1, u3, max u1 u3} R S (RingHom.{u1, u3} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u3} S _inst_5) (RingHom.instRingHomClassRingHom.{u1, u3} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5))) f (Ideal.comap.{u3, u2, max u2 u3} S P (RingHom.{u3, u2} S P (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u3} S _inst_5) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.instRingHomClassRingHom.{u3, u2} S P (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) g K)) (Ideal.comap.{u1, u2, max u1 u2} R P (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.instRingHomClassRingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (RingHom.comp.{u1, u3, u2} R S P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) g f) K)) (id.{0} (Eq.{1} Prop (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.comap.{u1, u3, max u1 u3} R S (RingHom.{u1, u3} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u3} S _inst_5) (RingHom.instRingHomClassRingHom.{u1, u3} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5))) f J) (Ideal.comap.{u1, u2, max u1 u2} R P (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.instRingHomClassRingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (RingHom.comp.{u1, u3, u2} R S P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) g f) K)) (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.comap.{u1, u3, max u1 u3} R S (RingHom.{u1, u3} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u3} S _inst_5) (RingHom.instRingHomClassRingHom.{u1, u3} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5))) f (Ideal.comap.{u3, u2, max u2 u3} S P (RingHom.{u3, u2} S P (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u3} S _inst_5) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.instRingHomClassRingHom.{u3, u2} S P (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) g K)) (Ideal.comap.{u1, u2, max u1 u2} R P (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.instRingHomClassRingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (RingHom.comp.{u1, u3, u2} R S P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) g f) K))) (Eq.ndrec.{0, succ u3} (Ideal.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) J (fun (_a : Ideal.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) => Eq.{1} Prop (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.comap.{u1, u3, max u1 u3} R S (RingHom.{u1, u3} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u3} S _inst_5) (RingHom.instRingHomClassRingHom.{u1, u3} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5))) f J) (Ideal.comap.{u1, u2, max u1 u2} R P (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.instRingHomClassRingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (RingHom.comp.{u1, u3, u2} R S P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) g f) K)) (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.comap.{u1, u3, max u1 u3} R S (RingHom.{u1, u3} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u3} S _inst_5) (RingHom.instRingHomClassRingHom.{u1, u3} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5))) f _a) (Ideal.comap.{u1, u2, max u1 u2} R P (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.instRingHomClassRingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (RingHom.comp.{u1, u3, u2} R S P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) g f) K))) (Eq.refl.{1} Prop (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.comap.{u1, u3, max u1 u3} R S (RingHom.{u1, u3} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u3} S _inst_5) (RingHom.instRingHomClassRingHom.{u1, u3} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5))) f J) (Ideal.comap.{u1, u2, max u1 u2} R P (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.instRingHomClassRingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (RingHom.comp.{u1, u3, u2} R S P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) g f) K))) (Ideal.comap.{u3, u2, max u2 u3} S P (RingHom.{u3, u2} S P (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u3} S _inst_5) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.instRingHomClassRingHom.{u3, u2} S P (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) g K) hJK)) (Eq.mpr.{0} (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.comap.{u1, u3, max u1 u3} R S (RingHom.{u1, u3} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u3} S _inst_5) (RingHom.instRingHomClassRingHom.{u1, u3} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5))) f (Ideal.comap.{u3, u2, max u2 u3} S P (RingHom.{u3, u2} S P (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u3} S _inst_5) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.instRingHomClassRingHom.{u3, u2} S P (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) g K)) (Ideal.comap.{u1, u2, max u1 u2} R P (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.instRingHomClassRingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (RingHom.comp.{u1, u3, u2} R S P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) g f) K)) (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.comap.{u1, u2, max u2 u1} R P (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.instRingHomClassRingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (RingHom.comp.{u1, u3, u2} R S P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) g f) K) (Ideal.comap.{u1, u2, max u1 u2} R P (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.instRingHomClassRingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (RingHom.comp.{u1, u3, u2} R S P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) g f) K)) (id.{0} (Eq.{1} Prop (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.comap.{u1, u3, max u1 u3} R S (RingHom.{u1, u3} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u3} S _inst_5) (RingHom.instRingHomClassRingHom.{u1, u3} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5))) f (Ideal.comap.{u3, u2, max u2 u3} S P (RingHom.{u3, u2} S P (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u3} S _inst_5) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.instRingHomClassRingHom.{u3, u2} S P (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) g K)) (Ideal.comap.{u1, u2, max u1 u2} R P (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.instRingHomClassRingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (RingHom.comp.{u1, u3, u2} R S P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) g f) K)) (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.comap.{u1, u2, max u2 u1} R P (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.instRingHomClassRingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (RingHom.comp.{u1, u3, u2} R S P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) g f) K) (Ideal.comap.{u1, u2, max u1 u2} R P (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.instRingHomClassRingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (RingHom.comp.{u1, u3, u2} R S P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) g f) K))) (Eq.ndrec.{0, succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.comap.{u1, u3, max u1 u3} R S (RingHom.{u1, u3} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u3} S _inst_5) (RingHom.instRingHomClassRingHom.{u1, u3} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5))) f (Ideal.comap.{u3, u2, max u3 u2} S P (RingHom.{u3, u2} S P (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u3} S _inst_5) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.instRingHomClassRingHom.{u3, u2} S P (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) g K)) (fun (_a : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) => Eq.{1} Prop (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.comap.{u1, u3, max u1 u3} R S (RingHom.{u1, u3} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u3} S _inst_5) (RingHom.instRingHomClassRingHom.{u1, u3} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5))) f (Ideal.comap.{u3, u2, max u2 u3} S P (RingHom.{u3, u2} S P (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u3} S _inst_5) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.instRingHomClassRingHom.{u3, u2} S P (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) g K)) (Ideal.comap.{u1, u2, max u1 u2} R P (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.instRingHomClassRingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (RingHom.comp.{u1, u3, u2} R S P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) g f) K)) (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) _a (Ideal.comap.{u1, u2, max u1 u2} R P (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.instRingHomClassRingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (RingHom.comp.{u1, u3, u2} R S P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) g f) K))) (Eq.refl.{1} Prop (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.comap.{u1, u3, max u1 u3} R S (RingHom.{u1, u3} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u3} S _inst_5) (RingHom.instRingHomClassRingHom.{u1, u3} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5))) f (Ideal.comap.{u3, u2, max u2 u3} S P (RingHom.{u3, u2} S P (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u3} S _inst_5) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.instRingHomClassRingHom.{u3, u2} S P (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) g K)) (Ideal.comap.{u1, u2, max u1 u2} R P (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.instRingHomClassRingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (RingHom.comp.{u1, u3, u2} R S P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) g f) K))) (Ideal.comap.{u1, u2, max u2 u1} R P (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.instRingHomClassRingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (RingHom.comp.{u1, u3, u2} R S P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) g f) K) (Ideal.comap_comap.{u2, u1, u3} R S (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u3} S _inst_5) P (CommSemiring.toSemiring.{u2} P _inst_4) K f g))) (Eq.refl.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.comap.{u1, u2, max u2 u1} R P (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.instRingHomClassRingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (RingHom.comp.{u1, u3, u2} R S P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) g f) K)))))) (RingHom.comp.{u1, u3, u2} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.AtPrime.{u3} S _inst_5 J hJ) (Localization.AtPrime.{u2} P _inst_4 K hK) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))) (Semiring.toNonAssocSemiring.{u3} (Localization.AtPrime.{u3} S _inst_5 J hJ) (CommSemiring.toSemiring.{u3} (Localization.AtPrime.{u3} S _inst_5 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u3} S _inst_5 (Ideal.primeCompl.{u3} S _inst_5 J hJ)))) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 K hK) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 K hK) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 K hK)))) (Localization.localRingHom.{u3, u2} S _inst_5 P _inst_4 J hJ K hK g hJK) (Localization.localRingHom.{u1, u3} R _inst_1 S _inst_5 I hI J hJ f hIJ))
+<too large>
 Case conversion may be inaccurate. Consider using '#align localization.local_ring_hom_comp Localization.localRingHom_compₓ'. -/
 @[simp]
 theorem localRingHom_comp {S : Type _} [CommSemiring S] (J : Ideal S) [hJ : J.IsPrime] (K : Ideal P)
Diff
@@ -340,7 +340,7 @@ theorem localRingHom_to_map (J : Ideal P) [hJ : J.IsPrime] (f : R →+* P) (hIJ
 lean 3 declaration is
   forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {P : Type.{u2}} [_inst_4 : CommSemiring.{u2} P] (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) [hI : Ideal.IsPrime.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) I] (J : Ideal.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) [hJ : Ideal.IsPrime.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4) J] (f : RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (hIJ : Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) I (Ideal.comap.{u1, u2, max u1 u2} R P (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.ringHomClass.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) f J)) (x : R) (y : coeSort.{succ u1, succ (succ u1)} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) R (Submonoid.setLike.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) (Ideal.primeCompl.{u1} R _inst_1 I hI)), Eq.{succ u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.commSemiring.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.commSemiring.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))))) (fun (_x : RingHom.{u1, u2} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.commSemiring.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.commSemiring.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))))) => (Localization.AtPrime.{u1} R _inst_1 I hI) -> (Localization.AtPrime.{u2} P _inst_4 J hJ)) (RingHom.hasCoeToFun.{u1, u2} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.commSemiring.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.commSemiring.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))))) (Localization.localRingHom.{u1, u2} R _inst_1 P _inst_4 I hI J hJ f hIJ) (IsLocalization.mk'.{u1, u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI) (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.commSemiring.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)) (Localization.algebra.{u1, u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI) R _inst_1 (Algebra.id.{u1} R _inst_1)) (Localization.isLocalization.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)) x y)) (IsLocalization.mk'.{u2, u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.commSemiring.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ)) (Localization.algebra.{u2, u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ) P _inst_4 (Algebra.id.{u2} P _inst_4)) (Localization.isLocalization.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ)) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (fun (_x : RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) => R -> P) (RingHom.hasCoeToFun.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) f x) (Subtype.mk.{succ u2} P (fun (x : P) => Membership.Mem.{u2, u2} P (Submonoid.{u2} P (MulZeroOneClass.toMulOneClass.{u2} P (NonAssocSemiring.toMulZeroOneClass.{u2} P (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))))) (SetLike.hasMem.{u2, u2} (Submonoid.{u2} P (MulZeroOneClass.toMulOneClass.{u2} P (NonAssocSemiring.toMulZeroOneClass.{u2} P (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))))) P (Submonoid.setLike.{u2} P (MulZeroOneClass.toMulOneClass.{u2} P (NonAssocSemiring.toMulZeroOneClass.{u2} P (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)))))) x (Ideal.primeCompl.{u2} P _inst_4 J hJ)) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (fun (_x : RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) => R -> P) (RingHom.hasCoeToFun.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) f ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (coeSort.{succ u1, succ (succ u1)} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) R (Submonoid.setLike.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) (Ideal.primeCompl.{u1} R _inst_1 I hI)) R (HasLiftT.mk.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) R (Submonoid.setLike.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) (Ideal.primeCompl.{u1} R _inst_1 I hI)) R (CoeTCₓ.coe.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) R (Submonoid.setLike.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) (Ideal.primeCompl.{u1} R _inst_1 I hI)) R (coeBase.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) R (Submonoid.setLike.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) (Ideal.primeCompl.{u1} R _inst_1 I hI)) R (coeSubtype.{succ u1} R (fun (x : R) => Membership.Mem.{u1, u1} R (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (SetLike.hasMem.{u1, u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) R (Submonoid.setLike.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) x (Ideal.primeCompl.{u1} R _inst_1 I hI)))))) y)) (Iff.mpr (LE.le.{u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Preorder.toHasLe.{u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (PartialOrder.toPreorder.{u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Submonoid.completeLattice.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))))) (Ideal.primeCompl.{u1} R _inst_1 I hI) (Submonoid.comap.{u1, u2, max u1 u2} R P (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (MulZeroOneClass.toMulOneClass.{u2} P (NonAssocSemiring.toMulZeroOneClass.{u2} P (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)))) (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (RingHomClass.toMonoidHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) (RingHom.ringHomClass.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)))) f (Ideal.primeCompl.{u2} P _inst_4 J hJ))) (LE.le.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Preorder.toHasLe.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.completeLattice.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))) (Ideal.comap.{u1, u2, max u1 u2} R P (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.ringHomClass.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) f J) I) (Localization.le_comap_primeCompl_iff.{u1, u2} R _inst_1 P _inst_4 I hI J hJ f) (ge_of_eq.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.completeLattice.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) I (Ideal.comap.{u1, u2, max u1 u2} R P (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.ringHomClass.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) f J) hIJ) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (coeSort.{succ u1, succ (succ u1)} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) R (Submonoid.setLike.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) (Ideal.primeCompl.{u1} R _inst_1 I hI)) R (HasLiftT.mk.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) R (Submonoid.setLike.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) (Ideal.primeCompl.{u1} R _inst_1 I hI)) R (CoeTCₓ.coe.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) R (Submonoid.setLike.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) (Ideal.primeCompl.{u1} R _inst_1 I hI)) R (coeBase.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) R (Submonoid.setLike.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) (Ideal.primeCompl.{u1} R _inst_1 I hI)) R (coeSubtype.{succ u1} R (fun (x : R) => Membership.Mem.{u1, u1} R (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (SetLike.hasMem.{u1, u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) R (Submonoid.setLike.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) x (Ideal.primeCompl.{u1} R _inst_1 I hI)))))) y) (Subtype.property.{succ u1} R (fun (x : R) => Membership.Mem.{u1, u1} R (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (SetLike.hasMem.{u1, u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) R (Submonoid.setLike.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) x (Ideal.primeCompl.{u1} R _inst_1 I hI)) y))))
 but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {P : Type.{u2}} [_inst_4 : CommSemiring.{u2} P] (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) [hI : Ideal.IsPrime.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) I] (J : Ideal.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) [hJ : Ideal.IsPrime.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4) J] (f : RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (hIJ : Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) I (Ideal.comap.{u1, u2, max u1 u2} R P (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.instRingHomClassRingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) f J)) (x : R) (y : Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (SetLike.instMembership.{u1, u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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 _inst_1)))))) x (Ideal.primeCompl.{u1} R _inst_1 I hI))), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Localization.AtPrime.{u1} R _inst_1 I hI) => Localization.AtPrime.{u2} P _inst_4 J hJ) (IsLocalization.mk'.{u1, u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI) (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)) (Localization.instAlgebraLocalizationToCommMonoidToSemiringInstCommSemiringLocalizationToCommMonoid.{u1, u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI) R _inst_1 (Algebra.id.{u1} R _inst_1)) (Localization.instIsLocalizationLocalizationToCommMonoidInstCommSemiringLocalizationToCommMonoidInstAlgebraLocalizationToCommMonoidToSemiringInstCommSemiringLocalizationToCommMonoidId.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)) x y)) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (RingHom.{u1, u2} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))))) (Localization.AtPrime.{u1} R _inst_1 I hI) (fun (_x : Localization.AtPrime.{u1} R _inst_1 I hI) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Localization.AtPrime.{u1} R _inst_1 I hI) => Localization.AtPrime.{u2} P _inst_4 J hJ) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (RingHom.{u1, u2} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))))) (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.AtPrime.{u2} P _inst_4 J hJ) (NonUnitalNonAssocSemiring.toMul.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))))) (NonUnitalNonAssocSemiring.toMul.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ)))))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))))) (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.AtPrime.{u2} P _inst_4 J hJ) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI))))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))))) (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ)))) (RingHom.instRingHomClassRingHom.{u1, u2} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ)))))))) (Localization.localRingHom.{u1, u2} R _inst_1 P _inst_4 I hI J hJ f hIJ) (IsLocalization.mk'.{u1, u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI) (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)) (Localization.instAlgebraLocalizationToCommMonoidToSemiringInstCommSemiringLocalizationToCommMonoid.{u1, u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI) R _inst_1 (Algebra.id.{u1} R _inst_1)) (Localization.instIsLocalizationLocalizationToCommMonoidInstCommSemiringLocalizationToCommMonoidInstAlgebraLocalizationToCommMonoidToSemiringInstCommSemiringLocalizationToCommMonoidId.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)) x y)) (IsLocalization.mk'.{u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => P) x) _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ)) (Localization.instAlgebraLocalizationToCommMonoidToSemiringInstCommSemiringLocalizationToCommMonoid.{u2, u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => P) x) _inst_4 (Algebra.id.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => P) x) _inst_4)) (Localization.instIsLocalizationLocalizationToCommMonoidInstCommSemiringLocalizationToCommMonoidInstAlgebraLocalizationToCommMonoidToSemiringInstCommSemiringLocalizationToCommMonoidId.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => P) x) _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ)) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => P) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) R P (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u2} P (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} P (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) R P (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} P (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) (RingHom.instRingHomClassRingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)))))) f x) (Subtype.mk.{succ u2} P (fun (x : P) => Membership.mem.{u2, u2} P (Submonoid.{u2} P (MulZeroOneClass.toMulOneClass.{u2} P (NonAssocSemiring.toMulZeroOneClass.{u2} P (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))))) (SetLike.instMembership.{u2, u2} (Submonoid.{u2} P (MulZeroOneClass.toMulOneClass.{u2} P (NonAssocSemiring.toMulZeroOneClass.{u2} P (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))))) P (Submonoid.instSetLikeSubmonoid.{u2} P (MulZeroOneClass.toMulOneClass.{u2} P (NonAssocSemiring.toMulZeroOneClass.{u2} P (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)))))) x (Ideal.primeCompl.{u2} P _inst_4 J hJ)) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => P) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) R P (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u2} P (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} P (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) R P (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} P (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) (RingHom.instRingHomClassRingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)))))) f (Subtype.val.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Set.{u1} R) (Set.instMembershipSet.{u1} R) x (SetLike.coe.{u1, u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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 _inst_1))))) (Ideal.primeCompl.{u1} R _inst_1 I hI))) y)) (Iff.mpr (LE.le.{u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Preorder.toLE.{u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (PartialOrder.toPreorder.{u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Submonoid.instCompleteLatticeSubmonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))))) (Ideal.primeCompl.{u1} R _inst_1 I hI) (Submonoid.comap.{u1, u2, max u1 u2} R P (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (MulZeroOneClass.toMulOneClass.{u2} P (NonAssocSemiring.toMulZeroOneClass.{u2} P (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)))) (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (RingHomClass.toMonoidHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) (RingHom.instRingHomClassRingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)))) f (Ideal.primeCompl.{u2} P _inst_4 J hJ))) (LE.le.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Preorder.toLE.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.completeLattice.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))) (Ideal.comap.{u1, u2, max u1 u2} R P (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.instRingHomClassRingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) f J) I) (Localization.le_comap_primeCompl_iff.{u1, u2} R _inst_1 P _inst_4 I hI J hJ f) (ge_of_eq.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.completeLattice.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) I (Ideal.comap.{u1, u2, max u1 u2} R P (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.instRingHomClassRingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) f J) hIJ) (Subtype.val.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Set.{u1} R) (Set.instMembershipSet.{u1} R) x (SetLike.coe.{u1, u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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 _inst_1))))) (Ideal.primeCompl.{u1} R _inst_1 I hI))) y) (Subtype.property.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (SetLike.instMembership.{u1, u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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 _inst_1)))))) x (Ideal.primeCompl.{u1} R _inst_1 I hI)) y))))
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {P : Type.{u2}} [_inst_4 : CommSemiring.{u2} P] (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) [hI : Ideal.IsPrime.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) I] (J : Ideal.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) [hJ : Ideal.IsPrime.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4) J] (f : RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (hIJ : Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) I (Ideal.comap.{u1, u2, max u1 u2} R P (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.instRingHomClassRingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) f J)) (x : R) (y : Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (SetLike.instMembership.{u1, u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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 _inst_1)))))) x (Ideal.primeCompl.{u1} R _inst_1 I hI))), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Localization.AtPrime.{u1} R _inst_1 I hI) => Localization.AtPrime.{u2} P _inst_4 J hJ) (IsLocalization.mk'.{u1, u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI) (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)) (Localization.instAlgebraLocalizationToCommMonoidToSemiringInstCommSemiringLocalizationToCommMonoid.{u1, u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI) R _inst_1 (Algebra.id.{u1} R _inst_1)) (Localization.isLocalization.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)) x y)) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (RingHom.{u1, u2} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))))) (Localization.AtPrime.{u1} R _inst_1 I hI) (fun (_x : Localization.AtPrime.{u1} R _inst_1 I hI) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Localization.AtPrime.{u1} R _inst_1 I hI) => Localization.AtPrime.{u2} P _inst_4 J hJ) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (RingHom.{u1, u2} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))))) (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.AtPrime.{u2} P _inst_4 J hJ) (NonUnitalNonAssocSemiring.toMul.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))))) (NonUnitalNonAssocSemiring.toMul.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ)))))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))))) (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.AtPrime.{u2} P _inst_4 J hJ) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI))))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))))) (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ)))) (RingHom.instRingHomClassRingHom.{u1, u2} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ)))))))) (Localization.localRingHom.{u1, u2} R _inst_1 P _inst_4 I hI J hJ f hIJ) (IsLocalization.mk'.{u1, u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI) (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)) (Localization.instAlgebraLocalizationToCommMonoidToSemiringInstCommSemiringLocalizationToCommMonoid.{u1, u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI) R _inst_1 (Algebra.id.{u1} R _inst_1)) (Localization.isLocalization.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)) x y)) (IsLocalization.mk'.{u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => P) x) _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ)) (Localization.instAlgebraLocalizationToCommMonoidToSemiringInstCommSemiringLocalizationToCommMonoid.{u2, u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => P) x) _inst_4 (Algebra.id.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => P) x) _inst_4)) (Localization.isLocalization.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => P) x) _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ)) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => P) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) R P (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u2} P (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} P (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) R P (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} P (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) (RingHom.instRingHomClassRingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)))))) f x) (Subtype.mk.{succ u2} P (fun (x : P) => Membership.mem.{u2, u2} P (Submonoid.{u2} P (MulZeroOneClass.toMulOneClass.{u2} P (NonAssocSemiring.toMulZeroOneClass.{u2} P (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))))) (SetLike.instMembership.{u2, u2} (Submonoid.{u2} P (MulZeroOneClass.toMulOneClass.{u2} P (NonAssocSemiring.toMulZeroOneClass.{u2} P (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))))) P (Submonoid.instSetLikeSubmonoid.{u2} P (MulZeroOneClass.toMulOneClass.{u2} P (NonAssocSemiring.toMulZeroOneClass.{u2} P (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)))))) x (Ideal.primeCompl.{u2} P _inst_4 J hJ)) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => P) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) R P (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u2} P (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} P (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) R P (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} P (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) (RingHom.instRingHomClassRingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)))))) f (Subtype.val.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Set.{u1} R) (Set.instMembershipSet.{u1} R) x (SetLike.coe.{u1, u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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 _inst_1))))) (Ideal.primeCompl.{u1} R _inst_1 I hI))) y)) (Iff.mpr (LE.le.{u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Preorder.toLE.{u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (PartialOrder.toPreorder.{u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Submonoid.instCompleteLatticeSubmonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))))) (Ideal.primeCompl.{u1} R _inst_1 I hI) (Submonoid.comap.{u1, u2, max u1 u2} R P (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (MulZeroOneClass.toMulOneClass.{u2} P (NonAssocSemiring.toMulZeroOneClass.{u2} P (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)))) (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (RingHomClass.toMonoidHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) (RingHom.instRingHomClassRingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)))) f (Ideal.primeCompl.{u2} P _inst_4 J hJ))) (LE.le.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Preorder.toLE.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.completeLattice.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))) (Ideal.comap.{u1, u2, max u1 u2} R P (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.instRingHomClassRingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) f J) I) (Localization.le_comap_primeCompl_iff.{u1, u2} R _inst_1 P _inst_4 I hI J hJ f) (ge_of_eq.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.completeLattice.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) I (Ideal.comap.{u1, u2, max u1 u2} R P (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.instRingHomClassRingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) f J) hIJ) (Subtype.val.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Set.{u1} R) (Set.instMembershipSet.{u1} R) x (SetLike.coe.{u1, u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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 _inst_1))))) (Ideal.primeCompl.{u1} R _inst_1 I hI))) y) (Subtype.property.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (SetLike.instMembership.{u1, u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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 _inst_1)))))) x (Ideal.primeCompl.{u1} R _inst_1 I hI)) y))))
 Case conversion may be inaccurate. Consider using '#align localization.local_ring_hom_mk' Localization.localRingHom_mk'ₓ'. -/
 theorem localRingHom_mk' (J : Ideal P) [hJ : J.IsPrime] (f : R →+* P) (hIJ : I = J.comap f) (x : R)
     (y : I.primeCompl) :
Diff
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Kenny Lau, Mario Carneiro, Johan Commelin, Amelia Livingston, Anne Baanen
 
 ! This file was ported from Lean 3 source module ring_theory.localization.at_prime
-! leanprover-community/mathlib commit b86c528d08a52a1fdb50d999232408e1c7e85d7d
+! leanprover-community/mathlib commit 33c67ae661dd8988516ff7f247b0be3018cdd952
 ! Please do not edit these lines, except to modify the commit id
 ! if you have ported upstream changes.
 -/
@@ -14,6 +14,9 @@ import Mathbin.RingTheory.Localization.Ideal
 /-!
 # Localizations of commutative rings at the complement of a prime ideal
 
+> THIS FILE IS SYNCHRONIZED WITH MATHLIB4.
+> Any changes to this file require a corresponding PR to mathlib4.
+
 ## Main definitions
 
  * `is_localization.at_prime (I : ideal R) [is_prime I] (S : Type*)` expresses that `S` is a
Diff
@@ -185,7 +185,7 @@ include hI
 lean 3 declaration is
   forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] (S : Type.{u2}) [_inst_2 : CommSemiring.{u2} S] [_inst_3 : Algebra.{u1, u2} R S _inst_1 (CommSemiring.toSemiring.{u2} S _inst_2)] (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) [hI : Ideal.IsPrime.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) I] [_inst_7 : IsLocalization.AtPrime.{u1, u2} R _inst_1 S _inst_2 _inst_3 I hI] (x : R), Iff (IsUnit.{u2} S (MonoidWithZero.toMonoid.{u2} S (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2))) (fun (_x : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2))) => R -> S) (RingHom.hasCoeToFun.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2))) (algebraMap.{u1, u2} R S _inst_1 (CommSemiring.toSemiring.{u2} S _inst_2) _inst_3) x)) (Membership.Mem.{u1, u1} R (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (SetLike.hasMem.{u1, u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) R (Submonoid.setLike.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) x (Ideal.primeCompl.{u1} R _inst_1 I hI))
 but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] (S : Type.{u2}) [_inst_2 : CommSemiring.{u2} S] [_inst_3 : Algebra.{u1, u2} R S _inst_1 (CommSemiring.toSemiring.{u2} S _inst_2)] (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) [hI : Ideal.IsPrime.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) I] [_inst_7 : IsLocalization.AtPrime.{u1, u2} R _inst_1 S _inst_2 _inst_3 I hI] (x : R), Iff (IsUnit.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) x) (MonoidWithZero.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) x) (Semiring.toMonoidWithZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) x) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) x) _inst_2))) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2))) R S (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2))) R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2))) R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2)) (RingHom.instRingHomClassRingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2)))))) (algebraMap.{u1, u2} R S _inst_1 (CommSemiring.toSemiring.{u2} S _inst_2) _inst_3) x)) (Membership.mem.{u1, u1} R (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (SetLike.instMembership.{u1, u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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 _inst_1)))))) x (Ideal.primeCompl.{u1} R _inst_1 I hI))
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] (S : Type.{u2}) [_inst_2 : CommSemiring.{u2} S] [_inst_3 : Algebra.{u1, u2} R S _inst_1 (CommSemiring.toSemiring.{u2} S _inst_2)] (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) [hI : Ideal.IsPrime.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) I] [_inst_7 : IsLocalization.AtPrime.{u1, u2} R _inst_1 S _inst_2 _inst_3 I hI] (x : R), Iff (IsUnit.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) x) (MonoidWithZero.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) x) (Semiring.toMonoidWithZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) x) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) x) _inst_2))) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{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 _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2))) R S (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2))) R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2))) R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2)) (RingHom.instRingHomClassRingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2)))))) (algebraMap.{u1, u2} R S _inst_1 (CommSemiring.toSemiring.{u2} S _inst_2) _inst_3) x)) (Membership.mem.{u1, u1} R (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (SetLike.instMembership.{u1, u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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 _inst_1)))))) x (Ideal.primeCompl.{u1} R _inst_1 I hI))
 Case conversion may be inaccurate. Consider using '#align is_localization.at_prime.is_unit_to_map_iff IsLocalization.AtPrime.isUnit_to_map_iffₓ'. -/
 theorem isUnit_to_map_iff (x : R) : IsUnit ((algebraMap R S) x) ↔ x ∈ I.primeCompl :=
   ⟨fun h hx =>
@@ -198,7 +198,7 @@ theorem isUnit_to_map_iff (x : R) : IsUnit ((algebraMap R S) x) ↔ x ∈ I.prim
 lean 3 declaration is
   forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] (S : Type.{u2}) [_inst_2 : CommSemiring.{u2} S] [_inst_3 : Algebra.{u1, u2} R S _inst_1 (CommSemiring.toSemiring.{u2} S _inst_2)] (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) [hI : Ideal.IsPrime.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) I] [_inst_7 : IsLocalization.AtPrime.{u1, u2} R _inst_1 S _inst_2 _inst_3 I hI] (x : R) (h : optParam.{0} (LocalRing.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2)) (IsLocalization.AtPrime.localRing.{u1, u2} R _inst_1 S _inst_2 _inst_3 I hI _inst_7)), Iff (Membership.Mem.{u2, u2} S (Ideal.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2)) (SetLike.hasMem.{u2, u2} (Ideal.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2)) S (Submodule.setLike.{u2, u2} S S (CommSemiring.toSemiring.{u2} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2)))) (Semiring.toModule.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2)))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2))) (fun (_x : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2))) => R -> S) (RingHom.hasCoeToFun.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2))) (algebraMap.{u1, u2} R S _inst_1 (CommSemiring.toSemiring.{u2} S _inst_2) _inst_3) x) (LocalRing.maximalIdeal.{u2} S _inst_2 h)) (Membership.Mem.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SetLike.hasMem.{u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) R (Submodule.setLike.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) x I)
 but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] (S : Type.{u2}) [_inst_2 : CommSemiring.{u2} S] [_inst_3 : Algebra.{u1, u2} R S _inst_1 (CommSemiring.toSemiring.{u2} S _inst_2)] (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) [hI : Ideal.IsPrime.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) I] [_inst_7 : IsLocalization.AtPrime.{u1, u2} R _inst_1 S _inst_2 _inst_3 I hI] (x : R) (h : optParam.{0} (LocalRing.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2)) (IsLocalization.AtPrime.localRing.{u2, u1} R _inst_1 S _inst_2 _inst_3 I hI _inst_7)), Iff (Membership.mem.{u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) x) (Ideal.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2)) (SetLike.instMembership.{u2, u2} (Ideal.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2)) S (Submodule.setLike.{u2, u2} S S (CommSemiring.toSemiring.{u2} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2)))) (Semiring.toModule.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2)))) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2))) R S (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2))) R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2))) R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2)) (RingHom.instRingHomClassRingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2)))))) (algebraMap.{u1, u2} R S _inst_1 (CommSemiring.toSemiring.{u2} S _inst_2) _inst_3) x) (LocalRing.maximalIdeal.{u2} S _inst_2 h)) (Membership.mem.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SetLike.instMembership.{u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) R (Submodule.setLike.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) x I)
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] (S : Type.{u2}) [_inst_2 : CommSemiring.{u2} S] [_inst_3 : Algebra.{u1, u2} R S _inst_1 (CommSemiring.toSemiring.{u2} S _inst_2)] (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) [hI : Ideal.IsPrime.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) I] [_inst_7 : IsLocalization.AtPrime.{u1, u2} R _inst_1 S _inst_2 _inst_3 I hI] (x : R) (h : optParam.{0} (LocalRing.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2)) (IsLocalization.AtPrime.localRing.{u2, u1} R _inst_1 S _inst_2 _inst_3 I hI _inst_7)), Iff (Membership.mem.{u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) x) (Ideal.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2)) (SetLike.instMembership.{u2, u2} (Ideal.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2)) S (Submodule.setLike.{u2, u2} S S (CommSemiring.toSemiring.{u2} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2)))) (Semiring.toModule.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2)))) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{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 _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2))) R S (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2))) R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2))) R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2)) (RingHom.instRingHomClassRingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2)))))) (algebraMap.{u1, u2} R S _inst_1 (CommSemiring.toSemiring.{u2} S _inst_2) _inst_3) x) (LocalRing.maximalIdeal.{u2} S _inst_2 h)) (Membership.mem.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SetLike.instMembership.{u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) R (Submodule.setLike.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) x I)
 Case conversion may be inaccurate. Consider using '#align is_localization.at_prime.to_map_mem_maximal_iff IsLocalization.AtPrime.to_map_mem_maximal_iffₓ'. -/
 -- Can't use typeclasses to infer the `local_ring` instance, so use an `opt_param` instead
 -- (since `local_ring` is a `Prop`, there should be no unification issues.)
@@ -326,7 +326,7 @@ noncomputable def localRingHom (J : Ideal P) [hJ : J.IsPrime] (f : R →+* P) (h
 lean 3 declaration is
   forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {P : Type.{u2}} [_inst_4 : CommSemiring.{u2} P] (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) [hI : Ideal.IsPrime.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) I] (J : Ideal.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) [hJ : Ideal.IsPrime.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4) J] (f : RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (hIJ : Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) I (Ideal.comap.{u1, u2, max u1 u2} R P (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.ringHomClass.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) f J)) (x : R), Eq.{succ u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.commSemiring.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.commSemiring.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))))) (fun (_x : RingHom.{u1, u2} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.commSemiring.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.commSemiring.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))))) => (Localization.AtPrime.{u1} R _inst_1 I hI) -> (Localization.AtPrime.{u2} P _inst_4 J hJ)) (RingHom.hasCoeToFun.{u1, u2} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.commSemiring.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.commSemiring.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))))) (Localization.localRingHom.{u1, u2} R _inst_1 P _inst_4 I hI J hJ f hIJ) (coeFn.{succ u1, succ u1} (RingHom.{u1, u1} R (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.commSemiring.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI))))) (fun (_x : RingHom.{u1, u1} R (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.commSemiring.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI))))) => R -> (Localization.AtPrime.{u1} R _inst_1 I hI)) (RingHom.hasCoeToFun.{u1, u1} R (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.commSemiring.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI))))) (algebraMap.{u1, u1} R (Localization.AtPrime.{u1} R _inst_1 I hI) _inst_1 (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.commSemiring.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI))) (Localization.algebra.{u1, u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI) R _inst_1 (Algebra.id.{u1} R _inst_1))) x)) (coeFn.{succ u2, succ u2} (RingHom.{u2, u2} P (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.commSemiring.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))))) (fun (_x : RingHom.{u2, u2} P (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.commSemiring.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))))) => P -> (Localization.AtPrime.{u2} P _inst_4 J hJ)) (RingHom.hasCoeToFun.{u2, u2} P (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.commSemiring.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))))) (algebraMap.{u2, u2} P (Localization.AtPrime.{u2} P _inst_4 J hJ) _inst_4 (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.commSemiring.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))) (Localization.algebra.{u2, u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ) P _inst_4 (Algebra.id.{u2} P _inst_4))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (fun (_x : RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) => R -> P) (RingHom.hasCoeToFun.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) f x))
 but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {P : Type.{u2}} [_inst_4 : CommSemiring.{u2} P] (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) [hI : Ideal.IsPrime.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) I] (J : Ideal.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) [hJ : Ideal.IsPrime.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4) J] (f : RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (hIJ : Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) I (Ideal.comap.{u1, u2, max u1 u2} R P (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.instRingHomClassRingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) f J)) (x : R), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : Localization.AtPrime.{u1} R _inst_1 I hI) => Localization.AtPrime.{u2} P _inst_4 J hJ) (FunLike.coe.{succ u1, succ u1, succ u1} (RingHom.{u1, u1} R (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI))))) R (fun (a : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => Localization.AtPrime.{u1} R _inst_1 I hI) a) (MulHomClass.toFunLike.{u1, u1, u1} (RingHom.{u1, u1} R (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI))))) R (Localization.AtPrime.{u1} R _inst_1 I hI) (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))))) (NonUnitalRingHomClass.toMulHomClass.{u1, u1, u1} (RingHom.{u1, u1} R (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI))))) R (Localization.AtPrime.{u1} R _inst_1 I hI) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI))))) (RingHomClass.toNonUnitalRingHomClass.{u1, u1, u1} (RingHom.{u1, u1} R (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI))))) R (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))) (RingHom.instRingHomClassRingHom.{u1, u1} R (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))))))) (algebraMap.{u1, u1} R (Localization.AtPrime.{u1} R _inst_1 I hI) _inst_1 (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI))) (Localization.instAlgebraLocalizationToCommMonoidToSemiringInstCommSemiringLocalizationToCommMonoid.{u1, u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI) R _inst_1 (Algebra.id.{u1} R _inst_1))) x)) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (RingHom.{u1, u2} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))))) (Localization.AtPrime.{u1} R _inst_1 I hI) (fun (_x : Localization.AtPrime.{u1} R _inst_1 I hI) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : Localization.AtPrime.{u1} R _inst_1 I hI) => Localization.AtPrime.{u2} P _inst_4 J hJ) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (RingHom.{u1, u2} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))))) (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.AtPrime.{u2} P _inst_4 J hJ) (NonUnitalNonAssocSemiring.toMul.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))))) (NonUnitalNonAssocSemiring.toMul.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ)))))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))))) (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.AtPrime.{u2} P _inst_4 J hJ) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI))))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))))) (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ)))) (RingHom.instRingHomClassRingHom.{u1, u2} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ)))))))) (Localization.localRingHom.{u1, u2} R _inst_1 P _inst_4 I hI J hJ f hIJ) (FunLike.coe.{succ u1, succ u1, succ u1} (RingHom.{u1, u1} R (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI))))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => Localization.AtPrime.{u1} R _inst_1 I hI) _x) (MulHomClass.toFunLike.{u1, u1, u1} (RingHom.{u1, u1} R (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI))))) R (Localization.AtPrime.{u1} R _inst_1 I hI) (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))))) (NonUnitalRingHomClass.toMulHomClass.{u1, u1, u1} (RingHom.{u1, u1} R (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI))))) R (Localization.AtPrime.{u1} R _inst_1 I hI) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI))))) (RingHomClass.toNonUnitalRingHomClass.{u1, u1, u1} (RingHom.{u1, u1} R (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI))))) R (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))) (RingHom.instRingHomClassRingHom.{u1, u1} R (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))))))) (algebraMap.{u1, u1} R (Localization.AtPrime.{u1} R _inst_1 I hI) _inst_1 (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI))) (Localization.instAlgebraLocalizationToCommMonoidToSemiringInstCommSemiringLocalizationToCommMonoid.{u1, u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI) R _inst_1 (Algebra.id.{u1} R _inst_1))) x)) (FunLike.coe.{succ u2, succ u2, succ u2} (RingHom.{u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => P) x) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => P) x) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => P) x) _inst_4)) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => P) x) (fun (_x : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => P) x) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => P) x) => Localization.AtPrime.{u2} P _inst_4 J hJ) _x) (MulHomClass.toFunLike.{u2, u2, u2} (RingHom.{u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => P) x) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => P) x) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => P) x) _inst_4)) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => P) x) (Localization.AtPrime.{u2} P _inst_4 J hJ) (NonUnitalNonAssocSemiring.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => P) x) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => P) x) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => P) x) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => P) x) _inst_4)))) (NonUnitalNonAssocSemiring.toMul.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ)))))) (NonUnitalRingHomClass.toMulHomClass.{u2, u2, u2} (RingHom.{u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => P) x) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => P) x) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => P) x) _inst_4)) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => P) x) (Localization.AtPrime.{u2} P _inst_4 J hJ) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => P) x) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => P) x) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => P) x) _inst_4))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))))) (RingHomClass.toNonUnitalRingHomClass.{u2, u2, u2} (RingHom.{u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => P) x) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => P) x) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => P) x) _inst_4)) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => P) x) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => P) x) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => P) x) _inst_4)) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ)))) (RingHom.instRingHomClassRingHom.{u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => P) x) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => P) x) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => P) x) _inst_4)) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ)))))))) (algebraMap.{u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => P) x) (Localization.AtPrime.{u2} P _inst_4 J hJ) _inst_4 (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))) (Localization.instAlgebraLocalizationToCommMonoidToSemiringInstCommSemiringLocalizationToCommMonoid.{u2, u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => P) x) _inst_4 (Algebra.id.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => P) x) _inst_4))) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => P) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) R P (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u2} P (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} P (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) R P (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} P (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) (RingHom.instRingHomClassRingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)))))) f x))
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {P : Type.{u2}} [_inst_4 : CommSemiring.{u2} P] (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) [hI : Ideal.IsPrime.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) I] (J : Ideal.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) [hJ : Ideal.IsPrime.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4) J] (f : RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (hIJ : Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) I (Ideal.comap.{u1, u2, max u1 u2} R P (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.instRingHomClassRingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) f J)) (x : R), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Localization.AtPrime.{u1} R _inst_1 I hI) => Localization.AtPrime.{u2} P _inst_4 J hJ) (FunLike.coe.{succ u1, succ u1, succ u1} (RingHom.{u1, u1} R (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI))))) R (fun (a : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => Localization.AtPrime.{u1} R _inst_1 I hI) a) (MulHomClass.toFunLike.{u1, u1, u1} (RingHom.{u1, u1} R (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI))))) R (Localization.AtPrime.{u1} R _inst_1 I hI) (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))))) (NonUnitalRingHomClass.toMulHomClass.{u1, u1, u1} (RingHom.{u1, u1} R (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI))))) R (Localization.AtPrime.{u1} R _inst_1 I hI) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI))))) (RingHomClass.toNonUnitalRingHomClass.{u1, u1, u1} (RingHom.{u1, u1} R (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI))))) R (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))) (RingHom.instRingHomClassRingHom.{u1, u1} R (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))))))) (algebraMap.{u1, u1} R (Localization.AtPrime.{u1} R _inst_1 I hI) _inst_1 (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI))) (Localization.instAlgebraLocalizationToCommMonoidToSemiringInstCommSemiringLocalizationToCommMonoid.{u1, u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI) R _inst_1 (Algebra.id.{u1} R _inst_1))) x)) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (RingHom.{u1, u2} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))))) (Localization.AtPrime.{u1} R _inst_1 I hI) (fun (_x : Localization.AtPrime.{u1} R _inst_1 I hI) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Localization.AtPrime.{u1} R _inst_1 I hI) => Localization.AtPrime.{u2} P _inst_4 J hJ) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (RingHom.{u1, u2} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))))) (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.AtPrime.{u2} P _inst_4 J hJ) (NonUnitalNonAssocSemiring.toMul.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))))) (NonUnitalNonAssocSemiring.toMul.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ)))))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))))) (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.AtPrime.{u2} P _inst_4 J hJ) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI))))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))))) (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ)))) (RingHom.instRingHomClassRingHom.{u1, u2} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ)))))))) (Localization.localRingHom.{u1, u2} R _inst_1 P _inst_4 I hI J hJ f hIJ) (FunLike.coe.{succ u1, succ u1, succ u1} (RingHom.{u1, u1} R (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI))))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => Localization.AtPrime.{u1} R _inst_1 I hI) _x) (MulHomClass.toFunLike.{u1, u1, u1} (RingHom.{u1, u1} R (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI))))) R (Localization.AtPrime.{u1} R _inst_1 I hI) (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))))) (NonUnitalRingHomClass.toMulHomClass.{u1, u1, u1} (RingHom.{u1, u1} R (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI))))) R (Localization.AtPrime.{u1} R _inst_1 I hI) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI))))) (RingHomClass.toNonUnitalRingHomClass.{u1, u1, u1} (RingHom.{u1, u1} R (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI))))) R (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))) (RingHom.instRingHomClassRingHom.{u1, u1} R (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))))))) (algebraMap.{u1, u1} R (Localization.AtPrime.{u1} R _inst_1 I hI) _inst_1 (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI))) (Localization.instAlgebraLocalizationToCommMonoidToSemiringInstCommSemiringLocalizationToCommMonoid.{u1, u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI) R _inst_1 (Algebra.id.{u1} R _inst_1))) x)) (FunLike.coe.{succ u2, succ u2, succ u2} (RingHom.{u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => P) x) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => P) x) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => P) x) _inst_4)) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => P) x) (fun (_x : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => P) x) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => P) x) => Localization.AtPrime.{u2} P _inst_4 J hJ) _x) (MulHomClass.toFunLike.{u2, u2, u2} (RingHom.{u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => P) x) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => P) x) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => P) x) _inst_4)) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => P) x) (Localization.AtPrime.{u2} P _inst_4 J hJ) (NonUnitalNonAssocSemiring.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => P) x) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => P) x) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => P) x) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => P) x) _inst_4)))) (NonUnitalNonAssocSemiring.toMul.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ)))))) (NonUnitalRingHomClass.toMulHomClass.{u2, u2, u2} (RingHom.{u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => P) x) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => P) x) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => P) x) _inst_4)) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => P) x) (Localization.AtPrime.{u2} P _inst_4 J hJ) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => P) x) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => P) x) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => P) x) _inst_4))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))))) (RingHomClass.toNonUnitalRingHomClass.{u2, u2, u2} (RingHom.{u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => P) x) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => P) x) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => P) x) _inst_4)) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => P) x) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => P) x) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => P) x) _inst_4)) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ)))) (RingHom.instRingHomClassRingHom.{u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => P) x) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => P) x) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => P) x) _inst_4)) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ)))))))) (algebraMap.{u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => P) x) (Localization.AtPrime.{u2} P _inst_4 J hJ) _inst_4 (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))) (Localization.instAlgebraLocalizationToCommMonoidToSemiringInstCommSemiringLocalizationToCommMonoid.{u2, u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => P) x) _inst_4 (Algebra.id.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => P) x) _inst_4))) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => P) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) R P (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u2} P (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} P (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) R P (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} P (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) (RingHom.instRingHomClassRingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)))))) f x))
 Case conversion may be inaccurate. Consider using '#align localization.local_ring_hom_to_map Localization.localRingHom_to_mapₓ'. -/
 theorem localRingHom_to_map (J : Ideal P) [hJ : J.IsPrime] (f : R →+* P) (hIJ : I = J.comap f)
     (x : R) : localRingHom I J f hIJ (algebraMap _ _ x) = algebraMap _ _ (f x) :=
@@ -337,7 +337,7 @@ theorem localRingHom_to_map (J : Ideal P) [hJ : J.IsPrime] (f : R →+* P) (hIJ
 lean 3 declaration is
   forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {P : Type.{u2}} [_inst_4 : CommSemiring.{u2} P] (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) [hI : Ideal.IsPrime.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) I] (J : Ideal.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) [hJ : Ideal.IsPrime.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4) J] (f : RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (hIJ : Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) I (Ideal.comap.{u1, u2, max u1 u2} R P (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.ringHomClass.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) f J)) (x : R) (y : coeSort.{succ u1, succ (succ u1)} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) R (Submonoid.setLike.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) (Ideal.primeCompl.{u1} R _inst_1 I hI)), Eq.{succ u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.commSemiring.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.commSemiring.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))))) (fun (_x : RingHom.{u1, u2} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.commSemiring.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.commSemiring.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))))) => (Localization.AtPrime.{u1} R _inst_1 I hI) -> (Localization.AtPrime.{u2} P _inst_4 J hJ)) (RingHom.hasCoeToFun.{u1, u2} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.commSemiring.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.commSemiring.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))))) (Localization.localRingHom.{u1, u2} R _inst_1 P _inst_4 I hI J hJ f hIJ) (IsLocalization.mk'.{u1, u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI) (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.commSemiring.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)) (Localization.algebra.{u1, u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI) R _inst_1 (Algebra.id.{u1} R _inst_1)) (Localization.isLocalization.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)) x y)) (IsLocalization.mk'.{u2, u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.commSemiring.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ)) (Localization.algebra.{u2, u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ) P _inst_4 (Algebra.id.{u2} P _inst_4)) (Localization.isLocalization.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ)) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (fun (_x : RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) => R -> P) (RingHom.hasCoeToFun.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) f x) (Subtype.mk.{succ u2} P (fun (x : P) => Membership.Mem.{u2, u2} P (Submonoid.{u2} P (MulZeroOneClass.toMulOneClass.{u2} P (NonAssocSemiring.toMulZeroOneClass.{u2} P (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))))) (SetLike.hasMem.{u2, u2} (Submonoid.{u2} P (MulZeroOneClass.toMulOneClass.{u2} P (NonAssocSemiring.toMulZeroOneClass.{u2} P (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))))) P (Submonoid.setLike.{u2} P (MulZeroOneClass.toMulOneClass.{u2} P (NonAssocSemiring.toMulZeroOneClass.{u2} P (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)))))) x (Ideal.primeCompl.{u2} P _inst_4 J hJ)) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (fun (_x : RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) => R -> P) (RingHom.hasCoeToFun.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) f ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (coeSort.{succ u1, succ (succ u1)} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) R (Submonoid.setLike.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) (Ideal.primeCompl.{u1} R _inst_1 I hI)) R (HasLiftT.mk.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) R (Submonoid.setLike.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) (Ideal.primeCompl.{u1} R _inst_1 I hI)) R (CoeTCₓ.coe.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) R (Submonoid.setLike.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) (Ideal.primeCompl.{u1} R _inst_1 I hI)) R (coeBase.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) R (Submonoid.setLike.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) (Ideal.primeCompl.{u1} R _inst_1 I hI)) R (coeSubtype.{succ u1} R (fun (x : R) => Membership.Mem.{u1, u1} R (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (SetLike.hasMem.{u1, u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) R (Submonoid.setLike.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) x (Ideal.primeCompl.{u1} R _inst_1 I hI)))))) y)) (Iff.mpr (LE.le.{u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Preorder.toHasLe.{u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (PartialOrder.toPreorder.{u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Submonoid.completeLattice.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))))) (Ideal.primeCompl.{u1} R _inst_1 I hI) (Submonoid.comap.{u1, u2, max u1 u2} R P (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (MulZeroOneClass.toMulOneClass.{u2} P (NonAssocSemiring.toMulZeroOneClass.{u2} P (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)))) (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (RingHomClass.toMonoidHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) (RingHom.ringHomClass.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)))) f (Ideal.primeCompl.{u2} P _inst_4 J hJ))) (LE.le.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Preorder.toHasLe.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.completeLattice.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))) (Ideal.comap.{u1, u2, max u1 u2} R P (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.ringHomClass.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) f J) I) (Localization.le_comap_primeCompl_iff.{u1, u2} R _inst_1 P _inst_4 I hI J hJ f) (ge_of_eq.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.completeLattice.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) I (Ideal.comap.{u1, u2, max u1 u2} R P (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.ringHomClass.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) f J) hIJ) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (coeSort.{succ u1, succ (succ u1)} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) R (Submonoid.setLike.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) (Ideal.primeCompl.{u1} R _inst_1 I hI)) R (HasLiftT.mk.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) R (Submonoid.setLike.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) (Ideal.primeCompl.{u1} R _inst_1 I hI)) R (CoeTCₓ.coe.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) R (Submonoid.setLike.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) (Ideal.primeCompl.{u1} R _inst_1 I hI)) R (coeBase.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) R (Submonoid.setLike.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) (Ideal.primeCompl.{u1} R _inst_1 I hI)) R (coeSubtype.{succ u1} R (fun (x : R) => Membership.Mem.{u1, u1} R (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (SetLike.hasMem.{u1, u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) R (Submonoid.setLike.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) x (Ideal.primeCompl.{u1} R _inst_1 I hI)))))) y) (Subtype.property.{succ u1} R (fun (x : R) => Membership.Mem.{u1, u1} R (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (SetLike.hasMem.{u1, u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) R (Submonoid.setLike.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) x (Ideal.primeCompl.{u1} R _inst_1 I hI)) y))))
 but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {P : Type.{u2}} [_inst_4 : CommSemiring.{u2} P] (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) [hI : Ideal.IsPrime.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) I] (J : Ideal.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) [hJ : Ideal.IsPrime.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4) J] (f : RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (hIJ : Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) I (Ideal.comap.{u1, u2, max u1 u2} R P (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.instRingHomClassRingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) f J)) (x : R) (y : Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (SetLike.instMembership.{u1, u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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 _inst_1)))))) x (Ideal.primeCompl.{u1} R _inst_1 I hI))), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : Localization.AtPrime.{u1} R _inst_1 I hI) => Localization.AtPrime.{u2} P _inst_4 J hJ) (IsLocalization.mk'.{u1, u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI) (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)) (Localization.instAlgebraLocalizationToCommMonoidToSemiringInstCommSemiringLocalizationToCommMonoid.{u1, u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI) R _inst_1 (Algebra.id.{u1} R _inst_1)) (Localization.instIsLocalizationLocalizationToCommMonoidInstCommSemiringLocalizationToCommMonoidInstAlgebraLocalizationToCommMonoidToSemiringInstCommSemiringLocalizationToCommMonoidId.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)) x y)) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (RingHom.{u1, u2} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))))) (Localization.AtPrime.{u1} R _inst_1 I hI) (fun (_x : Localization.AtPrime.{u1} R _inst_1 I hI) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : Localization.AtPrime.{u1} R _inst_1 I hI) => Localization.AtPrime.{u2} P _inst_4 J hJ) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (RingHom.{u1, u2} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))))) (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.AtPrime.{u2} P _inst_4 J hJ) (NonUnitalNonAssocSemiring.toMul.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))))) (NonUnitalNonAssocSemiring.toMul.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ)))))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))))) (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.AtPrime.{u2} P _inst_4 J hJ) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI))))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))))) (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ)))) (RingHom.instRingHomClassRingHom.{u1, u2} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ)))))))) (Localization.localRingHom.{u1, u2} R _inst_1 P _inst_4 I hI J hJ f hIJ) (IsLocalization.mk'.{u1, u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI) (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)) (Localization.instAlgebraLocalizationToCommMonoidToSemiringInstCommSemiringLocalizationToCommMonoid.{u1, u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI) R _inst_1 (Algebra.id.{u1} R _inst_1)) (Localization.instIsLocalizationLocalizationToCommMonoidInstCommSemiringLocalizationToCommMonoidInstAlgebraLocalizationToCommMonoidToSemiringInstCommSemiringLocalizationToCommMonoidId.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)) x y)) (IsLocalization.mk'.{u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => P) x) _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ)) (Localization.instAlgebraLocalizationToCommMonoidToSemiringInstCommSemiringLocalizationToCommMonoid.{u2, u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => P) x) _inst_4 (Algebra.id.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => P) x) _inst_4)) (Localization.instIsLocalizationLocalizationToCommMonoidInstCommSemiringLocalizationToCommMonoidInstAlgebraLocalizationToCommMonoidToSemiringInstCommSemiringLocalizationToCommMonoidId.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => P) x) _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ)) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => P) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) R P (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u2} P (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} P (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) R P (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} P (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) (RingHom.instRingHomClassRingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)))))) f x) (Subtype.mk.{succ u2} P (fun (x : P) => Membership.mem.{u2, u2} P (Submonoid.{u2} P (MulZeroOneClass.toMulOneClass.{u2} P (NonAssocSemiring.toMulZeroOneClass.{u2} P (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))))) (SetLike.instMembership.{u2, u2} (Submonoid.{u2} P (MulZeroOneClass.toMulOneClass.{u2} P (NonAssocSemiring.toMulZeroOneClass.{u2} P (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))))) P (Submonoid.instSetLikeSubmonoid.{u2} P (MulZeroOneClass.toMulOneClass.{u2} P (NonAssocSemiring.toMulZeroOneClass.{u2} P (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)))))) x (Ideal.primeCompl.{u2} P _inst_4 J hJ)) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => P) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) R P (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u2} P (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} P (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) R P (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} P (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) (RingHom.instRingHomClassRingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)))))) f (Subtype.val.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Set.{u1} R) (Set.instMembershipSet.{u1} R) x (SetLike.coe.{u1, u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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 _inst_1))))) (Ideal.primeCompl.{u1} R _inst_1 I hI))) y)) (Iff.mpr (LE.le.{u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Preorder.toLE.{u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (PartialOrder.toPreorder.{u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Submonoid.instCompleteLatticeSubmonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))))) (Ideal.primeCompl.{u1} R _inst_1 I hI) (Submonoid.comap.{u1, u2, max u1 u2} R P (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (MulZeroOneClass.toMulOneClass.{u2} P (NonAssocSemiring.toMulZeroOneClass.{u2} P (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)))) (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (RingHomClass.toMonoidHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) (RingHom.instRingHomClassRingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)))) f (Ideal.primeCompl.{u2} P _inst_4 J hJ))) (LE.le.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Preorder.toLE.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.completeLattice.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))) (Ideal.comap.{u1, u2, max u1 u2} R P (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.instRingHomClassRingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) f J) I) (Localization.le_comap_primeCompl_iff.{u1, u2} R _inst_1 P _inst_4 I hI J hJ f) (ge_of_eq.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.completeLattice.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) I (Ideal.comap.{u1, u2, max u1 u2} R P (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.instRingHomClassRingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) f J) hIJ) (Subtype.val.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Set.{u1} R) (Set.instMembershipSet.{u1} R) x (SetLike.coe.{u1, u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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 _inst_1))))) (Ideal.primeCompl.{u1} R _inst_1 I hI))) y) (Subtype.property.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (SetLike.instMembership.{u1, u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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 _inst_1)))))) x (Ideal.primeCompl.{u1} R _inst_1 I hI)) y))))
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {P : Type.{u2}} [_inst_4 : CommSemiring.{u2} P] (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) [hI : Ideal.IsPrime.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) I] (J : Ideal.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) [hJ : Ideal.IsPrime.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4) J] (f : RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (hIJ : Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) I (Ideal.comap.{u1, u2, max u1 u2} R P (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.instRingHomClassRingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) f J)) (x : R) (y : Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (SetLike.instMembership.{u1, u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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 _inst_1)))))) x (Ideal.primeCompl.{u1} R _inst_1 I hI))), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Localization.AtPrime.{u1} R _inst_1 I hI) => Localization.AtPrime.{u2} P _inst_4 J hJ) (IsLocalization.mk'.{u1, u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI) (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)) (Localization.instAlgebraLocalizationToCommMonoidToSemiringInstCommSemiringLocalizationToCommMonoid.{u1, u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI) R _inst_1 (Algebra.id.{u1} R _inst_1)) (Localization.instIsLocalizationLocalizationToCommMonoidInstCommSemiringLocalizationToCommMonoidInstAlgebraLocalizationToCommMonoidToSemiringInstCommSemiringLocalizationToCommMonoidId.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)) x y)) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (RingHom.{u1, u2} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))))) (Localization.AtPrime.{u1} R _inst_1 I hI) (fun (_x : Localization.AtPrime.{u1} R _inst_1 I hI) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Localization.AtPrime.{u1} R _inst_1 I hI) => Localization.AtPrime.{u2} P _inst_4 J hJ) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (RingHom.{u1, u2} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))))) (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.AtPrime.{u2} P _inst_4 J hJ) (NonUnitalNonAssocSemiring.toMul.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))))) (NonUnitalNonAssocSemiring.toMul.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ)))))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))))) (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.AtPrime.{u2} P _inst_4 J hJ) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI))))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))))) (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ)))) (RingHom.instRingHomClassRingHom.{u1, u2} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ)))))))) (Localization.localRingHom.{u1, u2} R _inst_1 P _inst_4 I hI J hJ f hIJ) (IsLocalization.mk'.{u1, u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI) (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)) (Localization.instAlgebraLocalizationToCommMonoidToSemiringInstCommSemiringLocalizationToCommMonoid.{u1, u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI) R _inst_1 (Algebra.id.{u1} R _inst_1)) (Localization.instIsLocalizationLocalizationToCommMonoidInstCommSemiringLocalizationToCommMonoidInstAlgebraLocalizationToCommMonoidToSemiringInstCommSemiringLocalizationToCommMonoidId.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)) x y)) (IsLocalization.mk'.{u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => P) x) _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ)) (Localization.instAlgebraLocalizationToCommMonoidToSemiringInstCommSemiringLocalizationToCommMonoid.{u2, u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => P) x) _inst_4 (Algebra.id.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => P) x) _inst_4)) (Localization.instIsLocalizationLocalizationToCommMonoidInstCommSemiringLocalizationToCommMonoidInstAlgebraLocalizationToCommMonoidToSemiringInstCommSemiringLocalizationToCommMonoidId.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => P) x) _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ)) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => P) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) R P (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u2} P (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} P (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) R P (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} P (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) (RingHom.instRingHomClassRingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)))))) f x) (Subtype.mk.{succ u2} P (fun (x : P) => Membership.mem.{u2, u2} P (Submonoid.{u2} P (MulZeroOneClass.toMulOneClass.{u2} P (NonAssocSemiring.toMulZeroOneClass.{u2} P (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))))) (SetLike.instMembership.{u2, u2} (Submonoid.{u2} P (MulZeroOneClass.toMulOneClass.{u2} P (NonAssocSemiring.toMulZeroOneClass.{u2} P (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))))) P (Submonoid.instSetLikeSubmonoid.{u2} P (MulZeroOneClass.toMulOneClass.{u2} P (NonAssocSemiring.toMulZeroOneClass.{u2} P (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)))))) x (Ideal.primeCompl.{u2} P _inst_4 J hJ)) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => P) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) R P (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u2} P (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} P (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) R P (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} P (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) (RingHom.instRingHomClassRingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)))))) f (Subtype.val.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Set.{u1} R) (Set.instMembershipSet.{u1} R) x (SetLike.coe.{u1, u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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 _inst_1))))) (Ideal.primeCompl.{u1} R _inst_1 I hI))) y)) (Iff.mpr (LE.le.{u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Preorder.toLE.{u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (PartialOrder.toPreorder.{u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Submonoid.instCompleteLatticeSubmonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))))) (Ideal.primeCompl.{u1} R _inst_1 I hI) (Submonoid.comap.{u1, u2, max u1 u2} R P (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (MulZeroOneClass.toMulOneClass.{u2} P (NonAssocSemiring.toMulZeroOneClass.{u2} P (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)))) (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (RingHomClass.toMonoidHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) (RingHom.instRingHomClassRingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)))) f (Ideal.primeCompl.{u2} P _inst_4 J hJ))) (LE.le.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Preorder.toLE.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.completeLattice.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))) (Ideal.comap.{u1, u2, max u1 u2} R P (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.instRingHomClassRingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) f J) I) (Localization.le_comap_primeCompl_iff.{u1, u2} R _inst_1 P _inst_4 I hI J hJ f) (ge_of_eq.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.completeLattice.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) I (Ideal.comap.{u1, u2, max u1 u2} R P (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.instRingHomClassRingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) f J) hIJ) (Subtype.val.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Set.{u1} R) (Set.instMembershipSet.{u1} R) x (SetLike.coe.{u1, u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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 _inst_1))))) (Ideal.primeCompl.{u1} R _inst_1 I hI))) y) (Subtype.property.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (SetLike.instMembership.{u1, u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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 _inst_1)))))) x (Ideal.primeCompl.{u1} R _inst_1 I hI)) y))))
 Case conversion may be inaccurate. Consider using '#align localization.local_ring_hom_mk' Localization.localRingHom_mk'ₓ'. -/
 theorem localRingHom_mk' (J : Ideal P) [hJ : J.IsPrime] (f : R →+* P) (hIJ : I = J.comap f) (x : R)
     (y : I.primeCompl) :
@@ -367,7 +367,7 @@ instance isLocalRingHom_localRingHom (J : Ideal P) [hJ : J.IsPrime] (f : R →+*
 lean 3 declaration is
   forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {P : Type.{u2}} [_inst_4 : CommSemiring.{u2} P] (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) [hI : Ideal.IsPrime.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) I] (J : Ideal.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) [hJ : Ideal.IsPrime.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4) J] (f : RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (hIJ : Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) I (Ideal.comap.{u1, u2, max u1 u2} R P (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.ringHomClass.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) f J)) {j : RingHom.{u1, u2} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.commSemiring.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.commSemiring.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))))}, (forall (x : R), Eq.{succ u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.commSemiring.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.commSemiring.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))))) (fun (_x : RingHom.{u1, u2} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.commSemiring.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.commSemiring.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))))) => (Localization.AtPrime.{u1} R _inst_1 I hI) -> (Localization.AtPrime.{u2} P _inst_4 J hJ)) (RingHom.hasCoeToFun.{u1, u2} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.commSemiring.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.commSemiring.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))))) j (coeFn.{succ u1, succ u1} (RingHom.{u1, u1} R (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.commSemiring.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI))))) (fun (_x : RingHom.{u1, u1} R (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.commSemiring.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI))))) => R -> (Localization.AtPrime.{u1} R _inst_1 I hI)) (RingHom.hasCoeToFun.{u1, u1} R (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.commSemiring.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI))))) (algebraMap.{u1, u1} R (Localization.AtPrime.{u1} R _inst_1 I hI) _inst_1 (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.commSemiring.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI))) (Localization.algebra.{u1, u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI) R _inst_1 (Algebra.id.{u1} R _inst_1))) x)) (coeFn.{succ u2, succ u2} (RingHom.{u2, u2} P (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.commSemiring.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))))) (fun (_x : RingHom.{u2, u2} P (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.commSemiring.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))))) => P -> (Localization.AtPrime.{u2} P _inst_4 J hJ)) (RingHom.hasCoeToFun.{u2, u2} P (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.commSemiring.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))))) (algebraMap.{u2, u2} P (Localization.AtPrime.{u2} P _inst_4 J hJ) _inst_4 (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.commSemiring.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))) (Localization.algebra.{u2, u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ) P _inst_4 (Algebra.id.{u2} P _inst_4))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (fun (_x : RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) => R -> P) (RingHom.hasCoeToFun.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) f x))) -> (Eq.{max (succ u1) (succ u2)} (RingHom.{u1, u2} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.commSemiring.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.commSemiring.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))))) (Localization.localRingHom.{u1, u2} R _inst_1 P _inst_4 I hI J hJ f hIJ) j)
 but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {P : Type.{u2}} [_inst_4 : CommSemiring.{u2} P] (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) [hI : Ideal.IsPrime.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) I] (J : Ideal.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) [hJ : Ideal.IsPrime.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4) J] (f : RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (hIJ : Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) I (Ideal.comap.{u1, u2, max u1 u2} R P (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.instRingHomClassRingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) f J)) {j : RingHom.{u1, u2} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))))}, (forall (x : R), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : Localization.AtPrime.{u1} R _inst_1 I hI) => Localization.AtPrime.{u2} P _inst_4 J hJ) (FunLike.coe.{succ u1, succ u1, succ u1} (RingHom.{u1, u1} R (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI))))) R (fun (a : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => Localization.AtPrime.{u1} R _inst_1 I hI) a) (MulHomClass.toFunLike.{u1, u1, u1} (RingHom.{u1, u1} R (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI))))) R (Localization.AtPrime.{u1} R _inst_1 I hI) (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))))) (NonUnitalRingHomClass.toMulHomClass.{u1, u1, u1} (RingHom.{u1, u1} R (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI))))) R (Localization.AtPrime.{u1} R _inst_1 I hI) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI))))) (RingHomClass.toNonUnitalRingHomClass.{u1, u1, u1} (RingHom.{u1, u1} R (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI))))) R (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))) (RingHom.instRingHomClassRingHom.{u1, u1} R (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))))))) (algebraMap.{u1, u1} R (Localization.AtPrime.{u1} R _inst_1 I hI) _inst_1 (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI))) (Localization.instAlgebraLocalizationToCommMonoidToSemiringInstCommSemiringLocalizationToCommMonoid.{u1, u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI) R _inst_1 (Algebra.id.{u1} R _inst_1))) x)) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (RingHom.{u1, u2} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))))) (Localization.AtPrime.{u1} R _inst_1 I hI) (fun (_x : Localization.AtPrime.{u1} R _inst_1 I hI) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : Localization.AtPrime.{u1} R _inst_1 I hI) => Localization.AtPrime.{u2} P _inst_4 J hJ) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (RingHom.{u1, u2} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))))) (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.AtPrime.{u2} P _inst_4 J hJ) (NonUnitalNonAssocSemiring.toMul.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))))) (NonUnitalNonAssocSemiring.toMul.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ)))))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))))) (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.AtPrime.{u2} P _inst_4 J hJ) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI))))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))))) (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ)))) (RingHom.instRingHomClassRingHom.{u1, u2} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ)))))))) j (FunLike.coe.{succ u1, succ u1, succ u1} (RingHom.{u1, u1} R (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI))))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => Localization.AtPrime.{u1} R _inst_1 I hI) _x) (MulHomClass.toFunLike.{u1, u1, u1} (RingHom.{u1, u1} R (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI))))) R (Localization.AtPrime.{u1} R _inst_1 I hI) (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))))) (NonUnitalRingHomClass.toMulHomClass.{u1, u1, u1} (RingHom.{u1, u1} R (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI))))) R (Localization.AtPrime.{u1} R _inst_1 I hI) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI))))) (RingHomClass.toNonUnitalRingHomClass.{u1, u1, u1} (RingHom.{u1, u1} R (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI))))) R (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))) (RingHom.instRingHomClassRingHom.{u1, u1} R (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))))))) (algebraMap.{u1, u1} R (Localization.AtPrime.{u1} R _inst_1 I hI) _inst_1 (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI))) (Localization.instAlgebraLocalizationToCommMonoidToSemiringInstCommSemiringLocalizationToCommMonoid.{u1, u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI) R _inst_1 (Algebra.id.{u1} R _inst_1))) x)) (FunLike.coe.{succ u2, succ u2, succ u2} (RingHom.{u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => P) x) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => P) x) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => P) x) _inst_4)) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => P) x) (fun (_x : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => P) x) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => P) x) => Localization.AtPrime.{u2} P _inst_4 J hJ) _x) (MulHomClass.toFunLike.{u2, u2, u2} (RingHom.{u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => P) x) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => P) x) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => P) x) _inst_4)) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => P) x) (Localization.AtPrime.{u2} P _inst_4 J hJ) (NonUnitalNonAssocSemiring.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => P) x) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => P) x) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => P) x) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => P) x) _inst_4)))) (NonUnitalNonAssocSemiring.toMul.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ)))))) (NonUnitalRingHomClass.toMulHomClass.{u2, u2, u2} (RingHom.{u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => P) x) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => P) x) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => P) x) _inst_4)) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => P) x) (Localization.AtPrime.{u2} P _inst_4 J hJ) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => P) x) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => P) x) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => P) x) _inst_4))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))))) (RingHomClass.toNonUnitalRingHomClass.{u2, u2, u2} (RingHom.{u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => P) x) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => P) x) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => P) x) _inst_4)) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => P) x) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => P) x) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => P) x) _inst_4)) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ)))) (RingHom.instRingHomClassRingHom.{u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => P) x) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => P) x) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => P) x) _inst_4)) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ)))))))) (algebraMap.{u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => P) x) (Localization.AtPrime.{u2} P _inst_4 J hJ) _inst_4 (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))) (Localization.instAlgebraLocalizationToCommMonoidToSemiringInstCommSemiringLocalizationToCommMonoid.{u2, u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => P) x) _inst_4 (Algebra.id.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => P) x) _inst_4))) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => P) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) R P (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u2} P (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} P (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) R P (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} P (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) (RingHom.instRingHomClassRingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)))))) f x))) -> (Eq.{max (succ u1) (succ u2)} (RingHom.{u1, u2} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))))) (Localization.localRingHom.{u1, u2} R _inst_1 P _inst_4 I hI J hJ f hIJ) j)
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {P : Type.{u2}} [_inst_4 : CommSemiring.{u2} P] (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) [hI : Ideal.IsPrime.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) I] (J : Ideal.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) [hJ : Ideal.IsPrime.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4) J] (f : RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (hIJ : Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) I (Ideal.comap.{u1, u2, max u1 u2} R P (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.instRingHomClassRingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) f J)) {j : RingHom.{u1, u2} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))))}, (forall (x : R), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Localization.AtPrime.{u1} R _inst_1 I hI) => Localization.AtPrime.{u2} P _inst_4 J hJ) (FunLike.coe.{succ u1, succ u1, succ u1} (RingHom.{u1, u1} R (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI))))) R (fun (a : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => Localization.AtPrime.{u1} R _inst_1 I hI) a) (MulHomClass.toFunLike.{u1, u1, u1} (RingHom.{u1, u1} R (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI))))) R (Localization.AtPrime.{u1} R _inst_1 I hI) (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))))) (NonUnitalRingHomClass.toMulHomClass.{u1, u1, u1} (RingHom.{u1, u1} R (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI))))) R (Localization.AtPrime.{u1} R _inst_1 I hI) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI))))) (RingHomClass.toNonUnitalRingHomClass.{u1, u1, u1} (RingHom.{u1, u1} R (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI))))) R (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))) (RingHom.instRingHomClassRingHom.{u1, u1} R (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))))))) (algebraMap.{u1, u1} R (Localization.AtPrime.{u1} R _inst_1 I hI) _inst_1 (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI))) (Localization.instAlgebraLocalizationToCommMonoidToSemiringInstCommSemiringLocalizationToCommMonoid.{u1, u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI) R _inst_1 (Algebra.id.{u1} R _inst_1))) x)) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (RingHom.{u1, u2} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))))) (Localization.AtPrime.{u1} R _inst_1 I hI) (fun (_x : Localization.AtPrime.{u1} R _inst_1 I hI) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Localization.AtPrime.{u1} R _inst_1 I hI) => Localization.AtPrime.{u2} P _inst_4 J hJ) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (RingHom.{u1, u2} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))))) (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.AtPrime.{u2} P _inst_4 J hJ) (NonUnitalNonAssocSemiring.toMul.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))))) (NonUnitalNonAssocSemiring.toMul.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ)))))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))))) (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.AtPrime.{u2} P _inst_4 J hJ) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI))))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))))) (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ)))) (RingHom.instRingHomClassRingHom.{u1, u2} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ)))))))) j (FunLike.coe.{succ u1, succ u1, succ u1} (RingHom.{u1, u1} R (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI))))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => Localization.AtPrime.{u1} R _inst_1 I hI) _x) (MulHomClass.toFunLike.{u1, u1, u1} (RingHom.{u1, u1} R (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI))))) R (Localization.AtPrime.{u1} R _inst_1 I hI) (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))))) (NonUnitalRingHomClass.toMulHomClass.{u1, u1, u1} (RingHom.{u1, u1} R (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI))))) R (Localization.AtPrime.{u1} R _inst_1 I hI) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI))))) (RingHomClass.toNonUnitalRingHomClass.{u1, u1, u1} (RingHom.{u1, u1} R (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI))))) R (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))) (RingHom.instRingHomClassRingHom.{u1, u1} R (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))))))) (algebraMap.{u1, u1} R (Localization.AtPrime.{u1} R _inst_1 I hI) _inst_1 (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI))) (Localization.instAlgebraLocalizationToCommMonoidToSemiringInstCommSemiringLocalizationToCommMonoid.{u1, u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI) R _inst_1 (Algebra.id.{u1} R _inst_1))) x)) (FunLike.coe.{succ u2, succ u2, succ u2} (RingHom.{u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => P) x) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => P) x) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => P) x) _inst_4)) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => P) x) (fun (_x : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => P) x) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => P) x) => Localization.AtPrime.{u2} P _inst_4 J hJ) _x) (MulHomClass.toFunLike.{u2, u2, u2} (RingHom.{u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => P) x) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => P) x) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => P) x) _inst_4)) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => P) x) (Localization.AtPrime.{u2} P _inst_4 J hJ) (NonUnitalNonAssocSemiring.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => P) x) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => P) x) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => P) x) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => P) x) _inst_4)))) (NonUnitalNonAssocSemiring.toMul.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ)))))) (NonUnitalRingHomClass.toMulHomClass.{u2, u2, u2} (RingHom.{u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => P) x) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => P) x) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => P) x) _inst_4)) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => P) x) (Localization.AtPrime.{u2} P _inst_4 J hJ) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => P) x) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => P) x) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => P) x) _inst_4))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))))) (RingHomClass.toNonUnitalRingHomClass.{u2, u2, u2} (RingHom.{u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => P) x) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => P) x) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => P) x) _inst_4)) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => P) x) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => P) x) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => P) x) _inst_4)) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ)))) (RingHom.instRingHomClassRingHom.{u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => P) x) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => P) x) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => P) x) _inst_4)) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ)))))))) (algebraMap.{u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => P) x) (Localization.AtPrime.{u2} P _inst_4 J hJ) _inst_4 (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))) (Localization.instAlgebraLocalizationToCommMonoidToSemiringInstCommSemiringLocalizationToCommMonoid.{u2, u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => P) x) _inst_4 (Algebra.id.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => P) x) _inst_4))) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => P) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) R P (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u2} P (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} P (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) R P (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} P (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) (RingHom.instRingHomClassRingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)))))) f x))) -> (Eq.{max (succ u1) (succ u2)} (RingHom.{u1, u2} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))))) (Localization.localRingHom.{u1, u2} R _inst_1 P _inst_4 I hI J hJ f hIJ) j)
 Case conversion may be inaccurate. Consider using '#align localization.local_ring_hom_unique Localization.localRingHom_uniqueₓ'. -/
 theorem localRingHom_unique (J : Ideal P) [hJ : J.IsPrime] (f : R →+* P) (hIJ : I = J.comap f)
     {j : Localization.AtPrime I →+* Localization.AtPrime J}
Diff
@@ -47,13 +47,21 @@ include hp
 
 namespace Ideal
 
+#print Ideal.primeCompl /-
 /-- The complement of a prime ideal `I ⊆ R` is a submonoid of `R`. -/
 def primeCompl : Submonoid R where
   carrier := (Iᶜ : Set R)
   one_mem' := by convert I.ne_top_iff_one.1 hp.1 <;> rfl
   mul_mem' x y hnx hny hxy := Or.cases_on (hp.mem_or_mem hxy) hnx hny
 #align ideal.prime_compl Ideal.primeCompl
+-/
 
+/- warning: ideal.prime_compl_le_non_zero_divisors -> Ideal.primeCompl_le_nonZeroDivisors is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) [hp : Ideal.IsPrime.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) I] [_inst_5 : NoZeroDivisors.{u1} R (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))], LE.le.{u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Preorder.toHasLe.{u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (PartialOrder.toPreorder.{u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Submonoid.completeLattice.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))))) (Ideal.primeCompl.{u1} R _inst_1 I hp) (nonZeroDivisors.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))
+but is expected to have type
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) [hp : Ideal.IsPrime.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) I] [_inst_5 : NoZeroDivisors.{u1} R (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1))], LE.le.{u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Preorder.toLE.{u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (PartialOrder.toPreorder.{u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Submonoid.instCompleteLatticeSubmonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))))) (Ideal.primeCompl.{u1} R _inst_1 I hp) (nonZeroDivisors.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))
+Case conversion may be inaccurate. Consider using '#align ideal.prime_compl_le_non_zero_divisors Ideal.primeCompl_le_nonZeroDivisorsₓ'. -/
 theorem primeCompl_le_nonZeroDivisors [NoZeroDivisors R] : I.primeCompl ≤ nonZeroDivisors R :=
   le_nonZeroDivisors_of_noZeroDivisors <| not_not_intro I.zero_mem
 #align ideal.prime_compl_le_non_zero_divisors Ideal.primeCompl_le_nonZeroDivisors
@@ -62,31 +70,47 @@ end Ideal
 
 variable (S)
 
+#print IsLocalization.AtPrime /-
 /-- Given a prime ideal `P`, the typeclass `is_localization.at_prime S P` states that `S` is
 isomorphic to the localization of `R` at the complement of `P`. -/
 protected abbrev IsLocalization.AtPrime :=
   IsLocalization I.primeCompl S
 #align is_localization.at_prime IsLocalization.AtPrime
+-/
 
+#print Localization.AtPrime /-
 /-- Given a prime ideal `P`, `localization.at_prime S P` is a localization of
 `R` at the complement of `P`, as a quotient type. -/
 protected abbrev Localization.AtPrime :=
   Localization I.primeCompl
 #align localization.at_prime Localization.AtPrime
+-/
 
 namespace IsLocalization
 
-theorem AtPrime.nontrivial [IsLocalization.AtPrime S I] : Nontrivial S :=
+/- warning: is_localization.at_prime.nontrivial -> IsLocalization.AtPrime.Nontrivial is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] (S : Type.{u2}) [_inst_2 : CommSemiring.{u2} S] [_inst_3 : Algebra.{u1, u2} R S _inst_1 (CommSemiring.toSemiring.{u2} S _inst_2)] (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) [hp : Ideal.IsPrime.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) I] [_inst_5 : IsLocalization.AtPrime.{u1, u2} R _inst_1 S _inst_2 _inst_3 I hp], Nontrivial.{u2} S
+but is expected to have type
+  forall {R : Type.{u2}} [_inst_1 : CommSemiring.{u2} R] (S : Type.{u1}) [_inst_2 : CommSemiring.{u1} S] [_inst_3 : Algebra.{u2, u1} R S _inst_1 (CommSemiring.toSemiring.{u1} S _inst_2)] (I : Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) [hp : Ideal.IsPrime.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1) I] [_inst_5 : IsLocalization.AtPrime.{u2, u1} R _inst_1 S _inst_2 _inst_3 I hp], Nontrivial.{u1} S
+Case conversion may be inaccurate. Consider using '#align is_localization.at_prime.nontrivial IsLocalization.AtPrime.Nontrivialₓ'. -/
+theorem AtPrime.Nontrivial [IsLocalization.AtPrime S I] : Nontrivial S :=
   nontrivial_of_ne (0 : S) 1 fun hze =>
     by
     rw [← (algebraMap R S).map_one, ← (algebraMap R S).map_zero] at hze
     obtain ⟨t, ht⟩ := (eq_iff_exists I.prime_compl S).1 hze
     have htz : (t : R) = 0 := by simpa using ht.symm
     exact t.2 (htz.symm ▸ I.zero_mem : ↑t ∈ I)
-#align is_localization.at_prime.nontrivial IsLocalization.AtPrime.nontrivial
+#align is_localization.at_prime.nontrivial IsLocalization.AtPrime.Nontrivial
 
 attribute [local instance] at_prime.nontrivial
 
+/- warning: is_localization.at_prime.local_ring -> IsLocalization.AtPrime.localRing is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] (S : Type.{u2}) [_inst_2 : CommSemiring.{u2} S] [_inst_3 : Algebra.{u1, u2} R S _inst_1 (CommSemiring.toSemiring.{u2} S _inst_2)] (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) [hp : Ideal.IsPrime.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) I] [_inst_5 : IsLocalization.AtPrime.{u1, u2} R _inst_1 S _inst_2 _inst_3 I hp], LocalRing.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2)
+but is expected to have type
+  forall {R : Type.{u2}} [_inst_1 : CommSemiring.{u2} R] (S : Type.{u1}) [_inst_2 : CommSemiring.{u1} S] [_inst_3 : Algebra.{u2, u1} R S _inst_1 (CommSemiring.toSemiring.{u1} S _inst_2)] (I : Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) [hp : Ideal.IsPrime.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1) I] [_inst_5 : IsLocalization.AtPrime.{u2, u1} R _inst_1 S _inst_2 _inst_3 I hp], LocalRing.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2)
+Case conversion may be inaccurate. Consider using '#align is_localization.at_prime.local_ring IsLocalization.AtPrime.localRingₓ'. -/
 theorem AtPrime.localRing [IsLocalization.AtPrime S I] : LocalRing S :=
   LocalRing.of_nonunits_add
     (by
@@ -119,6 +143,12 @@ end IsLocalization
 
 namespace Localization
 
+/- warning: localization.at_prime.local_ring -> Localization.AtPrime.localRing is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) [hp : Ideal.IsPrime.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) I], LocalRing.{u1} (Localization.{u1} R (CommSemiring.toCommMonoid.{u1} R _inst_1) (Ideal.primeCompl.{u1} R _inst_1 I hp)) (CommSemiring.toSemiring.{u1} (Localization.{u1} R (CommSemiring.toCommMonoid.{u1} R _inst_1) (Ideal.primeCompl.{u1} R _inst_1 I hp)) (Localization.commSemiring.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hp)))
+but is expected to have type
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) [hp : Ideal.IsPrime.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) I], LocalRing.{u1} (Localization.{u1} R (CommSemiring.toCommMonoid.{u1} R _inst_1) (Ideal.primeCompl.{u1} R _inst_1 I hp)) (CommSemiring.toSemiring.{u1} (Localization.{u1} R (CommSemiring.toCommMonoid.{u1} R _inst_1) (Ideal.primeCompl.{u1} R _inst_1 I hp)) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hp)))
+Case conversion may be inaccurate. Consider using '#align localization.at_prime.local_ring Localization.AtPrime.localRingₓ'. -/
 /-- The localization of `R` at the complement of a prime ideal is a local ring. -/
 instance AtPrime.localRing : LocalRing (Localization I.primeCompl) :=
   IsLocalization.AtPrime.localRing (Localization I.primeCompl) I
@@ -132,6 +162,12 @@ namespace IsLocalization
 
 variable {A : Type _} [CommRing A] [IsDomain A]
 
+/- warning: is_localization.is_domain_of_local_at_prime -> IsLocalization.isDomain_of_local_atPrime is a dubious translation:
+lean 3 declaration is
+  forall {A : Type.{u1}} [_inst_5 : CommRing.{u1} A] [_inst_6 : IsDomain.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_5))] {P : Ideal.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_5))} (hp : Ideal.IsPrime.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_5)) P), IsDomain.{u1} (Localization.AtPrime.{u1} A (CommRing.toCommSemiring.{u1} A _inst_5) P hp) (Ring.toSemiring.{u1} (Localization.AtPrime.{u1} A (CommRing.toCommSemiring.{u1} A _inst_5) P hp) (CommRing.toRing.{u1} (Localization.AtPrime.{u1} A (CommRing.toCommSemiring.{u1} A _inst_5) P hp) (Localization.commRing.{u1} A _inst_5 (Ideal.primeCompl.{u1} A (CommRing.toCommSemiring.{u1} A _inst_5) P hp))))
+but is expected to have type
+  forall {A : Type.{u1}} [_inst_5 : CommRing.{u1} A] [_inst_6 : IsDomain.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_5))] {P : Ideal.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_5))} (hp : Ideal.IsPrime.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_5)) P), IsDomain.{u1} (Localization.AtPrime.{u1} A (CommRing.toCommSemiring.{u1} A _inst_5) P hp) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} A (CommRing.toCommSemiring.{u1} A _inst_5) P hp) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} A (CommRing.toCommSemiring.{u1} A _inst_5) (Ideal.primeCompl.{u1} A (CommRing.toCommSemiring.{u1} A _inst_5) P hp)))
+Case conversion may be inaccurate. Consider using '#align is_localization.is_domain_of_local_at_prime IsLocalization.isDomain_of_local_atPrimeₓ'. -/
 /-- The localization of an integral domain at the complement of a prime ideal is an integral domain.
 -/
 instance isDomain_of_local_atPrime {P : Ideal A} (hp : P.IsPrime) :
@@ -145,6 +181,12 @@ variable (I : Ideal R) [hI : I.IsPrime] [IsLocalization.AtPrime S I]
 
 include hI
 
+/- warning: is_localization.at_prime.is_unit_to_map_iff -> IsLocalization.AtPrime.isUnit_to_map_iff is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] (S : Type.{u2}) [_inst_2 : CommSemiring.{u2} S] [_inst_3 : Algebra.{u1, u2} R S _inst_1 (CommSemiring.toSemiring.{u2} S _inst_2)] (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) [hI : Ideal.IsPrime.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) I] [_inst_7 : IsLocalization.AtPrime.{u1, u2} R _inst_1 S _inst_2 _inst_3 I hI] (x : R), Iff (IsUnit.{u2} S (MonoidWithZero.toMonoid.{u2} S (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2))) (fun (_x : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2))) => R -> S) (RingHom.hasCoeToFun.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2))) (algebraMap.{u1, u2} R S _inst_1 (CommSemiring.toSemiring.{u2} S _inst_2) _inst_3) x)) (Membership.Mem.{u1, u1} R (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (SetLike.hasMem.{u1, u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) R (Submonoid.setLike.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) x (Ideal.primeCompl.{u1} R _inst_1 I hI))
+but is expected to have type
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] (S : Type.{u2}) [_inst_2 : CommSemiring.{u2} S] [_inst_3 : Algebra.{u1, u2} R S _inst_1 (CommSemiring.toSemiring.{u2} S _inst_2)] (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) [hI : Ideal.IsPrime.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) I] [_inst_7 : IsLocalization.AtPrime.{u1, u2} R _inst_1 S _inst_2 _inst_3 I hI] (x : R), Iff (IsUnit.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) x) (MonoidWithZero.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) x) (Semiring.toMonoidWithZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) x) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) x) _inst_2))) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2))) R S (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2))) R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2))) R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2)) (RingHom.instRingHomClassRingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2)))))) (algebraMap.{u1, u2} R S _inst_1 (CommSemiring.toSemiring.{u2} S _inst_2) _inst_3) x)) (Membership.mem.{u1, u1} R (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (SetLike.instMembership.{u1, u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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 _inst_1)))))) x (Ideal.primeCompl.{u1} R _inst_1 I hI))
+Case conversion may be inaccurate. Consider using '#align is_localization.at_prime.is_unit_to_map_iff IsLocalization.AtPrime.isUnit_to_map_iffₓ'. -/
 theorem isUnit_to_map_iff (x : R) : IsUnit ((algebraMap R S) x) ↔ x ∈ I.primeCompl :=
   ⟨fun h hx =>
     (isPrime_of_isPrime_disjoint I.primeCompl S I hI disjoint_compl_left).ne_top <|
@@ -152,6 +194,12 @@ theorem isUnit_to_map_iff (x : R) : IsUnit ((algebraMap R S) x) ↔ x ∈ I.prim
     fun h => map_units S ⟨x, h⟩⟩
 #align is_localization.at_prime.is_unit_to_map_iff IsLocalization.AtPrime.isUnit_to_map_iff
 
+/- warning: is_localization.at_prime.to_map_mem_maximal_iff -> IsLocalization.AtPrime.to_map_mem_maximal_iff is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] (S : Type.{u2}) [_inst_2 : CommSemiring.{u2} S] [_inst_3 : Algebra.{u1, u2} R S _inst_1 (CommSemiring.toSemiring.{u2} S _inst_2)] (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) [hI : Ideal.IsPrime.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) I] [_inst_7 : IsLocalization.AtPrime.{u1, u2} R _inst_1 S _inst_2 _inst_3 I hI] (x : R) (h : optParam.{0} (LocalRing.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2)) (IsLocalization.AtPrime.localRing.{u1, u2} R _inst_1 S _inst_2 _inst_3 I hI _inst_7)), Iff (Membership.Mem.{u2, u2} S (Ideal.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2)) (SetLike.hasMem.{u2, u2} (Ideal.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2)) S (Submodule.setLike.{u2, u2} S S (CommSemiring.toSemiring.{u2} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2)))) (Semiring.toModule.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2)))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2))) (fun (_x : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2))) => R -> S) (RingHom.hasCoeToFun.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2))) (algebraMap.{u1, u2} R S _inst_1 (CommSemiring.toSemiring.{u2} S _inst_2) _inst_3) x) (LocalRing.maximalIdeal.{u2} S _inst_2 h)) (Membership.Mem.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SetLike.hasMem.{u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) R (Submodule.setLike.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) x I)
+but is expected to have type
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] (S : Type.{u2}) [_inst_2 : CommSemiring.{u2} S] [_inst_3 : Algebra.{u1, u2} R S _inst_1 (CommSemiring.toSemiring.{u2} S _inst_2)] (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) [hI : Ideal.IsPrime.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) I] [_inst_7 : IsLocalization.AtPrime.{u1, u2} R _inst_1 S _inst_2 _inst_3 I hI] (x : R) (h : optParam.{0} (LocalRing.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2)) (IsLocalization.AtPrime.localRing.{u2, u1} R _inst_1 S _inst_2 _inst_3 I hI _inst_7)), Iff (Membership.mem.{u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) x) (Ideal.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2)) (SetLike.instMembership.{u2, u2} (Ideal.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2)) S (Submodule.setLike.{u2, u2} S S (CommSemiring.toSemiring.{u2} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2)))) (Semiring.toModule.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2)))) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2))) R S (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2))) R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2))) R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2)) (RingHom.instRingHomClassRingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2)))))) (algebraMap.{u1, u2} R S _inst_1 (CommSemiring.toSemiring.{u2} S _inst_2) _inst_3) x) (LocalRing.maximalIdeal.{u2} S _inst_2 h)) (Membership.mem.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SetLike.instMembership.{u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) R (Submodule.setLike.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) x I)
+Case conversion may be inaccurate. Consider using '#align is_localization.at_prime.to_map_mem_maximal_iff IsLocalization.AtPrime.to_map_mem_maximal_iffₓ'. -/
 -- Can't use typeclasses to infer the `local_ring` instance, so use an `opt_param` instead
 -- (since `local_ring` is a `Prop`, there should be no unification issues.)
 theorem to_map_mem_maximal_iff (x : R) (h : LocalRing S := localRing S I) :
@@ -161,16 +209,34 @@ theorem to_map_mem_maximal_iff (x : R) (h : LocalRing S := localRing S I) :
       is_unit_to_map_iff S I x
 #align is_localization.at_prime.to_map_mem_maximal_iff IsLocalization.AtPrime.to_map_mem_maximal_iff
 
+/- warning: is_localization.at_prime.comap_maximal_ideal -> IsLocalization.AtPrime.comap_maximalIdeal is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] (S : Type.{u2}) [_inst_2 : CommSemiring.{u2} S] [_inst_3 : Algebra.{u1, u2} R S _inst_1 (CommSemiring.toSemiring.{u2} S _inst_2)] (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) [hI : Ideal.IsPrime.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) I] [_inst_7 : IsLocalization.AtPrime.{u1, u2} R _inst_1 S _inst_2 _inst_3 I hI] (h : optParam.{0} (LocalRing.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2)) (IsLocalization.AtPrime.localRing.{u1, u2} R _inst_1 S _inst_2 _inst_3 I hI _inst_7)), Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{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 _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} S _inst_2) (RingHom.ringHomClass.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2))) (algebraMap.{u1, u2} R S _inst_1 (CommSemiring.toSemiring.{u2} S _inst_2) _inst_3) (LocalRing.maximalIdeal.{u2} S _inst_2 h)) I
+but is expected to have type
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] (S : Type.{u2}) [_inst_2 : CommSemiring.{u2} S] [_inst_3 : Algebra.{u1, u2} R S _inst_1 (CommSemiring.toSemiring.{u2} S _inst_2)] (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) [hI : Ideal.IsPrime.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) I] [_inst_7 : IsLocalization.AtPrime.{u1, u2} R _inst_1 S _inst_2 _inst_3 I hI] (h : optParam.{0} (LocalRing.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2)) (IsLocalization.AtPrime.localRing.{u2, u1} R _inst_1 S _inst_2 _inst_3 I hI _inst_7)), Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{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 _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} S _inst_2) (RingHom.instRingHomClassRingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2))) (algebraMap.{u1, u2} R S _inst_1 (CommSemiring.toSemiring.{u2} S _inst_2) _inst_3) (LocalRing.maximalIdeal.{u2} S _inst_2 h)) I
+Case conversion may be inaccurate. Consider using '#align is_localization.at_prime.comap_maximal_ideal IsLocalization.AtPrime.comap_maximalIdealₓ'. -/
 theorem comap_maximalIdeal (h : LocalRing S := localRing S I) :
     (LocalRing.maximalIdeal S).comap (algebraMap R S) = I :=
   Ideal.ext fun x => by simpa only [Ideal.mem_comap] using to_map_mem_maximal_iff _ I x
 #align is_localization.at_prime.comap_maximal_ideal IsLocalization.AtPrime.comap_maximalIdeal
 
+/- warning: is_localization.at_prime.is_unit_mk'_iff -> IsLocalization.AtPrime.isUnit_mk'_iff is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] (S : Type.{u2}) [_inst_2 : CommSemiring.{u2} S] [_inst_3 : Algebra.{u1, u2} R S _inst_1 (CommSemiring.toSemiring.{u2} S _inst_2)] (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) [hI : Ideal.IsPrime.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) I] [_inst_7 : IsLocalization.AtPrime.{u1, u2} R _inst_1 S _inst_2 _inst_3 I hI] (x : R) (y : coeSort.{succ u1, succ (succ u1)} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) R (Submonoid.setLike.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) (Ideal.primeCompl.{u1} R _inst_1 I hI)), Iff (IsUnit.{u2} S (MonoidWithZero.toMonoid.{u2} S (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2))) (IsLocalization.mk'.{u1, u2} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI) S _inst_2 _inst_3 _inst_7 x y)) (Membership.Mem.{u1, u1} R (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (SetLike.hasMem.{u1, u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) R (Submonoid.setLike.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) x (Ideal.primeCompl.{u1} R _inst_1 I hI))
+but is expected to have type
+  forall {R : Type.{u2}} [_inst_1 : CommSemiring.{u2} R] (S : Type.{u1}) [_inst_2 : CommSemiring.{u1} S] [_inst_3 : Algebra.{u2, u1} R S _inst_1 (CommSemiring.toSemiring.{u1} S _inst_2)] (I : Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) [hI : Ideal.IsPrime.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1) I] [_inst_7 : IsLocalization.AtPrime.{u2, u1} R _inst_1 S _inst_2 _inst_3 I hI] (x : R) (y : Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Submonoid.{u2} R (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) (SetLike.instMembership.{u2, u2} (Submonoid.{u2} R (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) R (Submonoid.instSetLikeSubmonoid.{u2} R (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) x (Ideal.primeCompl.{u2} R _inst_1 I hI))), Iff (IsUnit.{u1} S (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2))) (IsLocalization.mk'.{u2, u1} R _inst_1 (Ideal.primeCompl.{u2} R _inst_1 I hI) S _inst_2 _inst_3 _inst_7 x y)) (Membership.mem.{u2, u2} R (Submonoid.{u2} R (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) (SetLike.instMembership.{u2, u2} (Submonoid.{u2} R (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) R (Submonoid.instSetLikeSubmonoid.{u2} R (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) x (Ideal.primeCompl.{u2} R _inst_1 I hI))
+Case conversion may be inaccurate. Consider using '#align is_localization.at_prime.is_unit_mk'_iff IsLocalization.AtPrime.isUnit_mk'_iffₓ'. -/
 theorem isUnit_mk'_iff (x : R) (y : I.primeCompl) : IsUnit (mk' S x y) ↔ x ∈ I.primeCompl :=
   ⟨fun h hx => mk'_mem_iff.mpr ((to_map_mem_maximal_iff S I x).mpr hx) h, fun h =>
     isUnit_iff_exists_inv.mpr ⟨mk' S ↑y ⟨x, h⟩, mk'_mul_mk'_eq_one ⟨x, h⟩ y⟩⟩
 #align is_localization.at_prime.is_unit_mk'_iff IsLocalization.AtPrime.isUnit_mk'_iff
 
+/- warning: is_localization.at_prime.mk'_mem_maximal_iff -> IsLocalization.AtPrime.mk'_mem_maximal_iff is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] (S : Type.{u2}) [_inst_2 : CommSemiring.{u2} S] [_inst_3 : Algebra.{u1, u2} R S _inst_1 (CommSemiring.toSemiring.{u2} S _inst_2)] (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) [hI : Ideal.IsPrime.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) I] [_inst_7 : IsLocalization.AtPrime.{u1, u2} R _inst_1 S _inst_2 _inst_3 I hI] (x : R) (y : coeSort.{succ u1, succ (succ u1)} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) R (Submonoid.setLike.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) (Ideal.primeCompl.{u1} R _inst_1 I hI)) (h : optParam.{0} (LocalRing.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2)) (IsLocalization.AtPrime.localRing.{u1, u2} R _inst_1 S _inst_2 _inst_3 I hI _inst_7)), Iff (Membership.Mem.{u2, u2} S (Ideal.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2)) (SetLike.hasMem.{u2, u2} (Ideal.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2)) S (Submodule.setLike.{u2, u2} S S (CommSemiring.toSemiring.{u2} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2)))) (Semiring.toModule.{u2} S (CommSemiring.toSemiring.{u2} S _inst_2)))) (IsLocalization.mk'.{u1, u2} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI) S _inst_2 _inst_3 _inst_7 x y) (LocalRing.maximalIdeal.{u2} S _inst_2 h)) (Membership.Mem.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SetLike.hasMem.{u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) R (Submodule.setLike.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) x I)
+but is expected to have type
+  forall {R : Type.{u2}} [_inst_1 : CommSemiring.{u2} R] (S : Type.{u1}) [_inst_2 : CommSemiring.{u1} S] [_inst_3 : Algebra.{u2, u1} R S _inst_1 (CommSemiring.toSemiring.{u1} S _inst_2)] (I : Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) [hI : Ideal.IsPrime.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1) I] [_inst_7 : IsLocalization.AtPrime.{u2, u1} R _inst_1 S _inst_2 _inst_3 I hI] (x : R) (y : Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Submonoid.{u2} R (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) (SetLike.instMembership.{u2, u2} (Submonoid.{u2} R (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) R (Submonoid.instSetLikeSubmonoid.{u2} R (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) x (Ideal.primeCompl.{u2} R _inst_1 I hI))) (h : optParam.{0} (LocalRing.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2)) (IsLocalization.AtPrime.localRing.{u1, u2} R _inst_1 S _inst_2 _inst_3 I hI _inst_7)), Iff (Membership.mem.{u1, u1} S (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2)) (SetLike.instMembership.{u1, u1} (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2)) S (Submodule.setLike.{u1, u1} S S (CommSemiring.toSemiring.{u1} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2)))) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2)))) (IsLocalization.mk'.{u2, u1} R _inst_1 (Ideal.primeCompl.{u2} R _inst_1 I hI) S _inst_2 _inst_3 _inst_7 x y) (LocalRing.maximalIdeal.{u1} S _inst_2 h)) (Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) x I)
+Case conversion may be inaccurate. Consider using '#align is_localization.at_prime.mk'_mem_maximal_iff IsLocalization.AtPrime.mk'_mem_maximal_iffₓ'. -/
 theorem mk'_mem_maximal_iff (x : R) (y : I.primeCompl) (h : LocalRing S := localRing S I) :
     mk' S x y ∈ LocalRing.maximalIdeal S ↔ x ∈ I :=
   not_iff_not.mp <| by
@@ -194,6 +260,12 @@ include hI
 
 variable {I}
 
+/- warning: localization.at_prime.comap_maximal_ideal -> Localization.AtPrime.comap_maximalIdeal is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} [hI : Ideal.IsPrime.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) I], Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.comap.{u1, u1, u1} R (Localization.{u1} R (CommSemiring.toCommMonoid.{u1} R _inst_1) (Ideal.primeCompl.{u1} R _inst_1 I hI)) (RingHom.{u1, u1} R (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.commSemiring.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI))))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} (Localization.{u1} R (CommSemiring.toCommMonoid.{u1} R _inst_1) (Ideal.primeCompl.{u1} R _inst_1 I hI)) (Localization.commSemiring.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI))) (RingHom.ringHomClass.{u1, u1} R (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.commSemiring.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI))))) (algebraMap.{u1, u1} R (Localization.AtPrime.{u1} R _inst_1 I hI) _inst_1 (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.commSemiring.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI))) (Localization.algebra.{u1, u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI) R _inst_1 (Algebra.id.{u1} R _inst_1))) (LocalRing.maximalIdeal.{u1} (Localization.{u1} R (CommSemiring.toCommMonoid.{u1} R _inst_1) (Ideal.primeCompl.{u1} R _inst_1 I hI)) (Localization.commSemiring.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)) (Localization.AtPrime.localRing.{u1} R _inst_1 I hI))) I
+but is expected to have type
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} [hI : Ideal.IsPrime.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) I], Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.comap.{u1, u1, u1} R (Localization.{u1} R (CommSemiring.toCommMonoid.{u1} R _inst_1) (Ideal.primeCompl.{u1} R _inst_1 I hI)) (RingHom.{u1, u1} R (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI))))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} (Localization.{u1} R (CommSemiring.toCommMonoid.{u1} R _inst_1) (Ideal.primeCompl.{u1} R _inst_1 I hI)) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI))) (RingHom.instRingHomClassRingHom.{u1, u1} R (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI))))) (algebraMap.{u1, u1} R (Localization.AtPrime.{u1} R _inst_1 I hI) _inst_1 (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI))) (Localization.instAlgebraLocalizationToCommMonoidToSemiringInstCommSemiringLocalizationToCommMonoid.{u1, u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI) R _inst_1 (Algebra.id.{u1} R _inst_1))) (LocalRing.maximalIdeal.{u1} (Localization.{u1} R (CommSemiring.toCommMonoid.{u1} R _inst_1) (Ideal.primeCompl.{u1} R _inst_1 I hI)) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)) (Localization.AtPrime.localRing.{u1} R _inst_1 I hI))) I
+Case conversion may be inaccurate. Consider using '#align localization.at_prime.comap_maximal_ideal Localization.AtPrime.comap_maximalIdealₓ'. -/
 /-- The unique maximal ideal of the localization at `I.prime_compl` lies over the ideal `I`. -/
 theorem AtPrime.comap_maximalIdeal :
     Ideal.comap (algebraMap R (Localization.AtPrime I))
@@ -202,6 +274,12 @@ theorem AtPrime.comap_maximalIdeal :
   AtPrime.comap_maximalIdeal _ _
 #align localization.at_prime.comap_maximal_ideal Localization.AtPrime.comap_maximalIdeal
 
+/- warning: localization.at_prime.map_eq_maximal_ideal -> Localization.AtPrime.map_eq_maximalIdeal is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} [hI : Ideal.IsPrime.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) I], Eq.{succ u1} (Ideal.{u1} (Localization.{u1} R (CommSemiring.toCommMonoid.{u1} R _inst_1) (Ideal.primeCompl.{u1} R _inst_1 I hI)) (CommSemiring.toSemiring.{u1} (Localization.{u1} R (CommSemiring.toCommMonoid.{u1} R _inst_1) (Ideal.primeCompl.{u1} R _inst_1 I hI)) (Localization.commSemiring.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))) (Ideal.map.{u1, u1, u1} R (Localization.{u1} R (CommSemiring.toCommMonoid.{u1} R _inst_1) (Ideal.primeCompl.{u1} R _inst_1 I hI)) (RingHom.{u1, u1} R (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.commSemiring.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI))))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} (Localization.{u1} R (CommSemiring.toCommMonoid.{u1} R _inst_1) (Ideal.primeCompl.{u1} R _inst_1 I hI)) (Localization.commSemiring.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI))) (RingHom.ringHomClass.{u1, u1} R (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.commSemiring.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI))))) (algebraMap.{u1, u1} R (Localization.AtPrime.{u1} R _inst_1 I hI) _inst_1 (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.commSemiring.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI))) (Localization.algebra.{u1, u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI) R _inst_1 (Algebra.id.{u1} R _inst_1))) I) (LocalRing.maximalIdeal.{u1} (Localization.{u1} R (CommSemiring.toCommMonoid.{u1} R _inst_1) (Ideal.primeCompl.{u1} R _inst_1 I hI)) (Localization.commSemiring.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)) (Localization.AtPrime.localRing.{u1} R _inst_1 I hI))
+but is expected to have type
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} [hI : Ideal.IsPrime.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) I], Eq.{succ u1} (Ideal.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))) (Ideal.map.{u1, u1, u1} R (Localization.AtPrime.{u1} R _inst_1 I hI) (RingHom.{u1, u1} R (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI))))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI))) (RingHom.instRingHomClassRingHom.{u1, u1} R (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI))))) (algebraMap.{u1, u1} R (Localization.AtPrime.{u1} R _inst_1 I hI) _inst_1 (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI))) (Localization.instAlgebraLocalizationToCommMonoidToSemiringInstCommSemiringLocalizationToCommMonoid.{u1, u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI) R _inst_1 (Algebra.id.{u1} R _inst_1))) I) (LocalRing.maximalIdeal.{u1} (Localization.{u1} R (CommSemiring.toCommMonoid.{u1} R _inst_1) (Ideal.primeCompl.{u1} R _inst_1 I hI)) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)) (Localization.AtPrime.localRing.{u1} R _inst_1 I hI))
+Case conversion may be inaccurate. Consider using '#align localization.at_prime.map_eq_maximal_ideal Localization.AtPrime.map_eq_maximalIdealₓ'. -/
 /-- The image of `I` in the localization at `I.prime_compl` is a maximal ideal, and in particular
 it is the unique maximal ideal given by the local ring structure `at_prime.local_ring` -/
 theorem AtPrime.map_eq_maximalIdeal :
@@ -212,6 +290,12 @@ theorem AtPrime.map_eq_maximalIdeal :
   rw [map_comap I.prime_compl]
 #align localization.at_prime.map_eq_maximal_ideal Localization.AtPrime.map_eq_maximalIdeal
 
+/- warning: localization.le_comap_prime_compl_iff -> Localization.le_comap_primeCompl_iff is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {P : Type.{u2}} [_inst_4 : CommSemiring.{u2} P] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} [hI : Ideal.IsPrime.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) I] {J : Ideal.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)} [hJ : Ideal.IsPrime.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4) J] {f : RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))}, Iff (LE.le.{u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Preorder.toHasLe.{u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (PartialOrder.toPreorder.{u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Submonoid.completeLattice.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))))) (Ideal.primeCompl.{u1} R _inst_1 I hI) (Submonoid.comap.{u1, u2, max u1 u2} R P (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (MulZeroOneClass.toMulOneClass.{u2} P (NonAssocSemiring.toMulZeroOneClass.{u2} P (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)))) (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (RingHomClass.toMonoidHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) (RingHom.ringHomClass.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)))) f (Ideal.primeCompl.{u2} P _inst_4 J hJ))) (LE.le.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Preorder.toHasLe.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.completeLattice.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))) (Ideal.comap.{u1, u2, max u1 u2} R P (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.ringHomClass.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) f J) I)
+but is expected to have type
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {P : Type.{u2}} [_inst_4 : CommSemiring.{u2} P] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} [hI : Ideal.IsPrime.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) I] {J : Ideal.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)} [hJ : Ideal.IsPrime.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4) J] {f : RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))}, Iff (LE.le.{u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Preorder.toLE.{u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (PartialOrder.toPreorder.{u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Submonoid.instCompleteLatticeSubmonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))))) (Ideal.primeCompl.{u1} R _inst_1 I hI) (Submonoid.comap.{u1, u2, max u1 u2} R P (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (MulZeroOneClass.toMulOneClass.{u2} P (NonAssocSemiring.toMulZeroOneClass.{u2} P (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)))) (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (RingHomClass.toMonoidHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) (RingHom.instRingHomClassRingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)))) f (Ideal.primeCompl.{u2} P _inst_4 J hJ))) (LE.le.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Preorder.toLE.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.completeLattice.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))) (Ideal.comap.{u1, u2, max u1 u2} R P (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.instRingHomClassRingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) f J) I)
+Case conversion may be inaccurate. Consider using '#align localization.le_comap_prime_compl_iff Localization.le_comap_primeCompl_iffₓ'. -/
 theorem le_comap_primeCompl_iff {J : Ideal P} [hJ : J.IsPrime] {f : R →+* P} :
     I.primeCompl ≤ J.primeCompl.comap f ↔ J.comap f ≤ I :=
   ⟨fun h x hx => by
@@ -221,6 +305,12 @@ theorem le_comap_primeCompl_iff {J : Ideal P} [hJ : J.IsPrime] {f : R →+* P} :
 
 variable (I)
 
+/- warning: localization.local_ring_hom -> Localization.localRingHom is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {P : Type.{u2}} [_inst_4 : CommSemiring.{u2} P] (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) [hI : Ideal.IsPrime.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) I] (J : Ideal.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) [hJ : Ideal.IsPrime.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4) J] (f : RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))), (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) I (Ideal.comap.{u1, u2, max u1 u2} R P (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.ringHomClass.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) f J)) -> (RingHom.{u1, u2} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.commSemiring.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.commSemiring.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ)))))
+but is expected to have type
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {P : Type.{u2}} [_inst_4 : CommSemiring.{u2} P] (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) [hI : Ideal.IsPrime.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) I] (J : Ideal.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) [hJ : Ideal.IsPrime.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4) J] (f : RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))), (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) I (Ideal.comap.{u1, u2, max u1 u2} R P (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.instRingHomClassRingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) f J)) -> (RingHom.{u1, u2} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ)))))
+Case conversion may be inaccurate. Consider using '#align localization.local_ring_hom Localization.localRingHomₓ'. -/
 /-- For a ring hom `f : R →+* S` and a prime ideal `J` in `S`, the induced ring hom from the
 localization of `R` at `J.comap f` to the localization of `S` at `J`.
 
@@ -232,11 +322,23 @@ noncomputable def localRingHom (J : Ideal P) [hJ : J.IsPrime] (f : R →+* P) (h
   IsLocalization.map (Localization.AtPrime J) f (le_comap_primeCompl_iff.mpr (ge_of_eq hIJ))
 #align localization.local_ring_hom Localization.localRingHom
 
+/- warning: localization.local_ring_hom_to_map -> Localization.localRingHom_to_map is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {P : Type.{u2}} [_inst_4 : CommSemiring.{u2} P] (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) [hI : Ideal.IsPrime.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) I] (J : Ideal.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) [hJ : Ideal.IsPrime.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4) J] (f : RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (hIJ : Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) I (Ideal.comap.{u1, u2, max u1 u2} R P (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.ringHomClass.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) f J)) (x : R), Eq.{succ u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.commSemiring.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.commSemiring.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))))) (fun (_x : RingHom.{u1, u2} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.commSemiring.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.commSemiring.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))))) => (Localization.AtPrime.{u1} R _inst_1 I hI) -> (Localization.AtPrime.{u2} P _inst_4 J hJ)) (RingHom.hasCoeToFun.{u1, u2} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.commSemiring.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.commSemiring.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))))) (Localization.localRingHom.{u1, u2} R _inst_1 P _inst_4 I hI J hJ f hIJ) (coeFn.{succ u1, succ u1} (RingHom.{u1, u1} R (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.commSemiring.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI))))) (fun (_x : RingHom.{u1, u1} R (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.commSemiring.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI))))) => R -> (Localization.AtPrime.{u1} R _inst_1 I hI)) (RingHom.hasCoeToFun.{u1, u1} R (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.commSemiring.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI))))) (algebraMap.{u1, u1} R (Localization.AtPrime.{u1} R _inst_1 I hI) _inst_1 (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.commSemiring.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI))) (Localization.algebra.{u1, u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI) R _inst_1 (Algebra.id.{u1} R _inst_1))) x)) (coeFn.{succ u2, succ u2} (RingHom.{u2, u2} P (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.commSemiring.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))))) (fun (_x : RingHom.{u2, u2} P (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.commSemiring.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))))) => P -> (Localization.AtPrime.{u2} P _inst_4 J hJ)) (RingHom.hasCoeToFun.{u2, u2} P (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.commSemiring.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))))) (algebraMap.{u2, u2} P (Localization.AtPrime.{u2} P _inst_4 J hJ) _inst_4 (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.commSemiring.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))) (Localization.algebra.{u2, u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ) P _inst_4 (Algebra.id.{u2} P _inst_4))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (fun (_x : RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) => R -> P) (RingHom.hasCoeToFun.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) f x))
+but is expected to have type
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {P : Type.{u2}} [_inst_4 : CommSemiring.{u2} P] (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) [hI : Ideal.IsPrime.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) I] (J : Ideal.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) [hJ : Ideal.IsPrime.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4) J] (f : RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (hIJ : Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) I (Ideal.comap.{u1, u2, max u1 u2} R P (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.instRingHomClassRingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) f J)) (x : R), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : Localization.AtPrime.{u1} R _inst_1 I hI) => Localization.AtPrime.{u2} P _inst_4 J hJ) (FunLike.coe.{succ u1, succ u1, succ u1} (RingHom.{u1, u1} R (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI))))) R (fun (a : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => Localization.AtPrime.{u1} R _inst_1 I hI) a) (MulHomClass.toFunLike.{u1, u1, u1} (RingHom.{u1, u1} R (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI))))) R (Localization.AtPrime.{u1} R _inst_1 I hI) (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))))) (NonUnitalRingHomClass.toMulHomClass.{u1, u1, u1} (RingHom.{u1, u1} R (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI))))) R (Localization.AtPrime.{u1} R _inst_1 I hI) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI))))) (RingHomClass.toNonUnitalRingHomClass.{u1, u1, u1} (RingHom.{u1, u1} R (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI))))) R (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))) (RingHom.instRingHomClassRingHom.{u1, u1} R (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))))))) (algebraMap.{u1, u1} R (Localization.AtPrime.{u1} R _inst_1 I hI) _inst_1 (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI))) (Localization.instAlgebraLocalizationToCommMonoidToSemiringInstCommSemiringLocalizationToCommMonoid.{u1, u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI) R _inst_1 (Algebra.id.{u1} R _inst_1))) x)) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (RingHom.{u1, u2} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))))) (Localization.AtPrime.{u1} R _inst_1 I hI) (fun (_x : Localization.AtPrime.{u1} R _inst_1 I hI) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : Localization.AtPrime.{u1} R _inst_1 I hI) => Localization.AtPrime.{u2} P _inst_4 J hJ) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (RingHom.{u1, u2} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))))) (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.AtPrime.{u2} P _inst_4 J hJ) (NonUnitalNonAssocSemiring.toMul.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))))) (NonUnitalNonAssocSemiring.toMul.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ)))))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))))) (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.AtPrime.{u2} P _inst_4 J hJ) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI))))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))))) (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ)))) (RingHom.instRingHomClassRingHom.{u1, u2} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ)))))))) (Localization.localRingHom.{u1, u2} R _inst_1 P _inst_4 I hI J hJ f hIJ) (FunLike.coe.{succ u1, succ u1, succ u1} (RingHom.{u1, u1} R (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI))))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => Localization.AtPrime.{u1} R _inst_1 I hI) _x) (MulHomClass.toFunLike.{u1, u1, u1} (RingHom.{u1, u1} R (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI))))) R (Localization.AtPrime.{u1} R _inst_1 I hI) (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))))) (NonUnitalRingHomClass.toMulHomClass.{u1, u1, u1} (RingHom.{u1, u1} R (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI))))) R (Localization.AtPrime.{u1} R _inst_1 I hI) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI))))) (RingHomClass.toNonUnitalRingHomClass.{u1, u1, u1} (RingHom.{u1, u1} R (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI))))) R (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))) (RingHom.instRingHomClassRingHom.{u1, u1} R (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))))))) (algebraMap.{u1, u1} R (Localization.AtPrime.{u1} R _inst_1 I hI) _inst_1 (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI))) (Localization.instAlgebraLocalizationToCommMonoidToSemiringInstCommSemiringLocalizationToCommMonoid.{u1, u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI) R _inst_1 (Algebra.id.{u1} R _inst_1))) x)) (FunLike.coe.{succ u2, succ u2, succ u2} (RingHom.{u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => P) x) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => P) x) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => P) x) _inst_4)) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => P) x) (fun (_x : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => P) x) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => P) x) => Localization.AtPrime.{u2} P _inst_4 J hJ) _x) (MulHomClass.toFunLike.{u2, u2, u2} (RingHom.{u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => P) x) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => P) x) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => P) x) _inst_4)) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => P) x) (Localization.AtPrime.{u2} P _inst_4 J hJ) (NonUnitalNonAssocSemiring.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => P) x) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => P) x) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => P) x) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => P) x) _inst_4)))) (NonUnitalNonAssocSemiring.toMul.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ)))))) (NonUnitalRingHomClass.toMulHomClass.{u2, u2, u2} (RingHom.{u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => P) x) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => P) x) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => P) x) _inst_4)) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => P) x) (Localization.AtPrime.{u2} P _inst_4 J hJ) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => P) x) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => P) x) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => P) x) _inst_4))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))))) (RingHomClass.toNonUnitalRingHomClass.{u2, u2, u2} (RingHom.{u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => P) x) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => P) x) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => P) x) _inst_4)) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => P) x) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => P) x) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => P) x) _inst_4)) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ)))) (RingHom.instRingHomClassRingHom.{u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => P) x) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => P) x) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => P) x) _inst_4)) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ)))))))) (algebraMap.{u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => P) x) (Localization.AtPrime.{u2} P _inst_4 J hJ) _inst_4 (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))) (Localization.instAlgebraLocalizationToCommMonoidToSemiringInstCommSemiringLocalizationToCommMonoid.{u2, u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => P) x) _inst_4 (Algebra.id.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => P) x) _inst_4))) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => P) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) R P (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u2} P (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} P (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) R P (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} P (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) (RingHom.instRingHomClassRingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)))))) f x))
+Case conversion may be inaccurate. Consider using '#align localization.local_ring_hom_to_map Localization.localRingHom_to_mapₓ'. -/
 theorem localRingHom_to_map (J : Ideal P) [hJ : J.IsPrime] (f : R →+* P) (hIJ : I = J.comap f)
     (x : R) : localRingHom I J f hIJ (algebraMap _ _ x) = algebraMap _ _ (f x) :=
   map_eq _ _
 #align localization.local_ring_hom_to_map Localization.localRingHom_to_map
 
+/- warning: localization.local_ring_hom_mk' -> Localization.localRingHom_mk' is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {P : Type.{u2}} [_inst_4 : CommSemiring.{u2} P] (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) [hI : Ideal.IsPrime.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) I] (J : Ideal.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) [hJ : Ideal.IsPrime.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4) J] (f : RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (hIJ : Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) I (Ideal.comap.{u1, u2, max u1 u2} R P (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.ringHomClass.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) f J)) (x : R) (y : coeSort.{succ u1, succ (succ u1)} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) R (Submonoid.setLike.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) (Ideal.primeCompl.{u1} R _inst_1 I hI)), Eq.{succ u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.commSemiring.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.commSemiring.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))))) (fun (_x : RingHom.{u1, u2} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.commSemiring.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.commSemiring.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))))) => (Localization.AtPrime.{u1} R _inst_1 I hI) -> (Localization.AtPrime.{u2} P _inst_4 J hJ)) (RingHom.hasCoeToFun.{u1, u2} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.commSemiring.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.commSemiring.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))))) (Localization.localRingHom.{u1, u2} R _inst_1 P _inst_4 I hI J hJ f hIJ) (IsLocalization.mk'.{u1, u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI) (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.commSemiring.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)) (Localization.algebra.{u1, u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI) R _inst_1 (Algebra.id.{u1} R _inst_1)) (Localization.isLocalization.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)) x y)) (IsLocalization.mk'.{u2, u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.commSemiring.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ)) (Localization.algebra.{u2, u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ) P _inst_4 (Algebra.id.{u2} P _inst_4)) (Localization.isLocalization.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ)) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (fun (_x : RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) => R -> P) (RingHom.hasCoeToFun.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) f x) (Subtype.mk.{succ u2} P (fun (x : P) => Membership.Mem.{u2, u2} P (Submonoid.{u2} P (MulZeroOneClass.toMulOneClass.{u2} P (NonAssocSemiring.toMulZeroOneClass.{u2} P (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))))) (SetLike.hasMem.{u2, u2} (Submonoid.{u2} P (MulZeroOneClass.toMulOneClass.{u2} P (NonAssocSemiring.toMulZeroOneClass.{u2} P (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))))) P (Submonoid.setLike.{u2} P (MulZeroOneClass.toMulOneClass.{u2} P (NonAssocSemiring.toMulZeroOneClass.{u2} P (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)))))) x (Ideal.primeCompl.{u2} P _inst_4 J hJ)) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (fun (_x : RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) => R -> P) (RingHom.hasCoeToFun.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) f ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (coeSort.{succ u1, succ (succ u1)} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) R (Submonoid.setLike.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) (Ideal.primeCompl.{u1} R _inst_1 I hI)) R (HasLiftT.mk.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) R (Submonoid.setLike.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) (Ideal.primeCompl.{u1} R _inst_1 I hI)) R (CoeTCₓ.coe.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) R (Submonoid.setLike.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) (Ideal.primeCompl.{u1} R _inst_1 I hI)) R (coeBase.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) R (Submonoid.setLike.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) (Ideal.primeCompl.{u1} R _inst_1 I hI)) R (coeSubtype.{succ u1} R (fun (x : R) => Membership.Mem.{u1, u1} R (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (SetLike.hasMem.{u1, u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) R (Submonoid.setLike.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) x (Ideal.primeCompl.{u1} R _inst_1 I hI)))))) y)) (Iff.mpr (LE.le.{u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Preorder.toHasLe.{u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (PartialOrder.toPreorder.{u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Submonoid.completeLattice.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))))) (Ideal.primeCompl.{u1} R _inst_1 I hI) (Submonoid.comap.{u1, u2, max u1 u2} R P (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (MulZeroOneClass.toMulOneClass.{u2} P (NonAssocSemiring.toMulZeroOneClass.{u2} P (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)))) (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (RingHomClass.toMonoidHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) (RingHom.ringHomClass.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)))) f (Ideal.primeCompl.{u2} P _inst_4 J hJ))) (LE.le.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Preorder.toHasLe.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.completeLattice.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))) (Ideal.comap.{u1, u2, max u1 u2} R P (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.ringHomClass.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) f J) I) (Localization.le_comap_primeCompl_iff.{u1, u2} R _inst_1 P _inst_4 I hI J hJ f) (ge_of_eq.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.completeLattice.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) I (Ideal.comap.{u1, u2, max u1 u2} R P (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.ringHomClass.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) f J) hIJ) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (coeSort.{succ u1, succ (succ u1)} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) R (Submonoid.setLike.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) (Ideal.primeCompl.{u1} R _inst_1 I hI)) R (HasLiftT.mk.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) R (Submonoid.setLike.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) (Ideal.primeCompl.{u1} R _inst_1 I hI)) R (CoeTCₓ.coe.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) R (Submonoid.setLike.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) (Ideal.primeCompl.{u1} R _inst_1 I hI)) R (coeBase.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) R (Submonoid.setLike.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) (Ideal.primeCompl.{u1} R _inst_1 I hI)) R (coeSubtype.{succ u1} R (fun (x : R) => Membership.Mem.{u1, u1} R (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (SetLike.hasMem.{u1, u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) R (Submonoid.setLike.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) x (Ideal.primeCompl.{u1} R _inst_1 I hI)))))) y) (Subtype.property.{succ u1} R (fun (x : R) => Membership.Mem.{u1, u1} R (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (SetLike.hasMem.{u1, u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) R (Submonoid.setLike.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) x (Ideal.primeCompl.{u1} R _inst_1 I hI)) y))))
+but is expected to have type
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {P : Type.{u2}} [_inst_4 : CommSemiring.{u2} P] (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) [hI : Ideal.IsPrime.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) I] (J : Ideal.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) [hJ : Ideal.IsPrime.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4) J] (f : RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (hIJ : Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) I (Ideal.comap.{u1, u2, max u1 u2} R P (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.instRingHomClassRingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) f J)) (x : R) (y : Subtype.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (SetLike.instMembership.{u1, u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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 _inst_1)))))) x (Ideal.primeCompl.{u1} R _inst_1 I hI))), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : Localization.AtPrime.{u1} R _inst_1 I hI) => Localization.AtPrime.{u2} P _inst_4 J hJ) (IsLocalization.mk'.{u1, u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI) (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)) (Localization.instAlgebraLocalizationToCommMonoidToSemiringInstCommSemiringLocalizationToCommMonoid.{u1, u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI) R _inst_1 (Algebra.id.{u1} R _inst_1)) (Localization.instIsLocalizationLocalizationToCommMonoidInstCommSemiringLocalizationToCommMonoidInstAlgebraLocalizationToCommMonoidToSemiringInstCommSemiringLocalizationToCommMonoidId.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)) x y)) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (RingHom.{u1, u2} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))))) (Localization.AtPrime.{u1} R _inst_1 I hI) (fun (_x : Localization.AtPrime.{u1} R _inst_1 I hI) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : Localization.AtPrime.{u1} R _inst_1 I hI) => Localization.AtPrime.{u2} P _inst_4 J hJ) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (RingHom.{u1, u2} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))))) (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.AtPrime.{u2} P _inst_4 J hJ) (NonUnitalNonAssocSemiring.toMul.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))))) (NonUnitalNonAssocSemiring.toMul.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ)))))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))))) (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.AtPrime.{u2} P _inst_4 J hJ) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI))))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))))) (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ)))) (RingHom.instRingHomClassRingHom.{u1, u2} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ)))))))) (Localization.localRingHom.{u1, u2} R _inst_1 P _inst_4 I hI J hJ f hIJ) (IsLocalization.mk'.{u1, u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI) (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)) (Localization.instAlgebraLocalizationToCommMonoidToSemiringInstCommSemiringLocalizationToCommMonoid.{u1, u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI) R _inst_1 (Algebra.id.{u1} R _inst_1)) (Localization.instIsLocalizationLocalizationToCommMonoidInstCommSemiringLocalizationToCommMonoidInstAlgebraLocalizationToCommMonoidToSemiringInstCommSemiringLocalizationToCommMonoidId.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)) x y)) (IsLocalization.mk'.{u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => P) x) _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ)) (Localization.instAlgebraLocalizationToCommMonoidToSemiringInstCommSemiringLocalizationToCommMonoid.{u2, u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => P) x) _inst_4 (Algebra.id.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => P) x) _inst_4)) (Localization.instIsLocalizationLocalizationToCommMonoidInstCommSemiringLocalizationToCommMonoidInstAlgebraLocalizationToCommMonoidToSemiringInstCommSemiringLocalizationToCommMonoidId.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => P) x) _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ)) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => P) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) R P (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u2} P (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} P (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) R P (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} P (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) (RingHom.instRingHomClassRingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)))))) f x) (Subtype.mk.{succ u2} P (fun (x : P) => Membership.mem.{u2, u2} P (Submonoid.{u2} P (MulZeroOneClass.toMulOneClass.{u2} P (NonAssocSemiring.toMulZeroOneClass.{u2} P (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))))) (SetLike.instMembership.{u2, u2} (Submonoid.{u2} P (MulZeroOneClass.toMulOneClass.{u2} P (NonAssocSemiring.toMulZeroOneClass.{u2} P (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))))) P (Submonoid.instSetLikeSubmonoid.{u2} P (MulZeroOneClass.toMulOneClass.{u2} P (NonAssocSemiring.toMulZeroOneClass.{u2} P (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)))))) x (Ideal.primeCompl.{u2} P _inst_4 J hJ)) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => P) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) R P (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u2} P (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} P (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) R P (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} P (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) (RingHom.instRingHomClassRingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)))))) f (Subtype.val.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Set.{u1} R) (Set.instMembershipSet.{u1} R) x (SetLike.coe.{u1, u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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 _inst_1))))) (Ideal.primeCompl.{u1} R _inst_1 I hI))) y)) (Iff.mpr (LE.le.{u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Preorder.toLE.{u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (PartialOrder.toPreorder.{u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Submonoid.instCompleteLatticeSubmonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))))) (Ideal.primeCompl.{u1} R _inst_1 I hI) (Submonoid.comap.{u1, u2, max u1 u2} R P (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (MulZeroOneClass.toMulOneClass.{u2} P (NonAssocSemiring.toMulZeroOneClass.{u2} P (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)))) (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (RingHomClass.toMonoidHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) (RingHom.instRingHomClassRingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)))) f (Ideal.primeCompl.{u2} P _inst_4 J hJ))) (LE.le.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Preorder.toLE.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.completeLattice.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))) (Ideal.comap.{u1, u2, max u1 u2} R P (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.instRingHomClassRingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) f J) I) (Localization.le_comap_primeCompl_iff.{u1, u2} R _inst_1 P _inst_4 I hI J hJ f) (ge_of_eq.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.completeLattice.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) I (Ideal.comap.{u1, u2, max u1 u2} R P (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.instRingHomClassRingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) f J) hIJ) (Subtype.val.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Set.{u1} R) (Set.instMembershipSet.{u1} R) x (SetLike.coe.{u1, u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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 _inst_1))))) (Ideal.primeCompl.{u1} R _inst_1 I hI))) y) (Subtype.property.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (SetLike.instMembership.{u1, u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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 _inst_1)))))) x (Ideal.primeCompl.{u1} R _inst_1 I hI)) y))))
+Case conversion may be inaccurate. Consider using '#align localization.local_ring_hom_mk' Localization.localRingHom_mk'ₓ'. -/
 theorem localRingHom_mk' (J : Ideal P) [hJ : J.IsPrime] (f : R →+* P) (hIJ : I = J.comap f) (x : R)
     (y : I.primeCompl) :
     localRingHom I J f hIJ (IsLocalization.mk' _ x y) =
@@ -245,6 +347,12 @@ theorem localRingHom_mk' (J : Ideal P) [hJ : J.IsPrime] (f : R →+* P) (hIJ : I
   map_mk' _ _ _
 #align localization.local_ring_hom_mk' Localization.localRingHom_mk'
 
+/- warning: localization.is_local_ring_hom_local_ring_hom -> Localization.isLocalRingHom_localRingHom is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {P : Type.{u2}} [_inst_4 : CommSemiring.{u2} P] (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) [hI : Ideal.IsPrime.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) I] (J : Ideal.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) [hJ : Ideal.IsPrime.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4) J] (f : RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (hIJ : Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) I (Ideal.comap.{u1, u2, max u1 u2} R P (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.ringHomClass.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) f J)), IsLocalRingHom.{u1, u2} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.commSemiring.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI))) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.commSemiring.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))) (Localization.localRingHom.{u1, u2} R _inst_1 P _inst_4 I hI J hJ f hIJ)
+but is expected to have type
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {P : Type.{u2}} [_inst_4 : CommSemiring.{u2} P] (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) [hI : Ideal.IsPrime.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) I] (J : Ideal.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) [hJ : Ideal.IsPrime.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4) J] (f : RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (hIJ : Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) I (Ideal.comap.{u1, u2, max u1 u2} R P (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.instRingHomClassRingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) f J)), IsLocalRingHom.{u1, u2} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI))) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))) (Localization.localRingHom.{u1, u2} R _inst_1 P _inst_4 I hI J hJ f hIJ)
+Case conversion may be inaccurate. Consider using '#align localization.is_local_ring_hom_local_ring_hom Localization.isLocalRingHom_localRingHomₓ'. -/
 instance isLocalRingHom_localRingHom (J : Ideal P) [hJ : J.IsPrime] (f : R →+* P)
     (hIJ : I = J.comap f) : IsLocalRingHom (localRingHom I J f hIJ) :=
   IsLocalRingHom.mk fun x hx =>
@@ -255,17 +363,35 @@ instance isLocalRingHom_localRingHom (J : Ideal P) [hJ : J.IsPrime] (f : R →+*
     exact fun hr => hx ((set_like.ext_iff.mp hIJ r).mp hr)
 #align localization.is_local_ring_hom_local_ring_hom Localization.isLocalRingHom_localRingHom
 
+/- warning: localization.local_ring_hom_unique -> Localization.localRingHom_unique is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {P : Type.{u2}} [_inst_4 : CommSemiring.{u2} P] (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) [hI : Ideal.IsPrime.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) I] (J : Ideal.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) [hJ : Ideal.IsPrime.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4) J] (f : RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (hIJ : Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) I (Ideal.comap.{u1, u2, max u1 u2} R P (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.ringHomClass.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) f J)) {j : RingHom.{u1, u2} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.commSemiring.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.commSemiring.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))))}, (forall (x : R), Eq.{succ u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.commSemiring.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.commSemiring.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))))) (fun (_x : RingHom.{u1, u2} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.commSemiring.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.commSemiring.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))))) => (Localization.AtPrime.{u1} R _inst_1 I hI) -> (Localization.AtPrime.{u2} P _inst_4 J hJ)) (RingHom.hasCoeToFun.{u1, u2} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.commSemiring.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.commSemiring.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))))) j (coeFn.{succ u1, succ u1} (RingHom.{u1, u1} R (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.commSemiring.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI))))) (fun (_x : RingHom.{u1, u1} R (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.commSemiring.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI))))) => R -> (Localization.AtPrime.{u1} R _inst_1 I hI)) (RingHom.hasCoeToFun.{u1, u1} R (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.commSemiring.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI))))) (algebraMap.{u1, u1} R (Localization.AtPrime.{u1} R _inst_1 I hI) _inst_1 (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.commSemiring.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI))) (Localization.algebra.{u1, u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI) R _inst_1 (Algebra.id.{u1} R _inst_1))) x)) (coeFn.{succ u2, succ u2} (RingHom.{u2, u2} P (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.commSemiring.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))))) (fun (_x : RingHom.{u2, u2} P (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.commSemiring.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))))) => P -> (Localization.AtPrime.{u2} P _inst_4 J hJ)) (RingHom.hasCoeToFun.{u2, u2} P (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.commSemiring.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))))) (algebraMap.{u2, u2} P (Localization.AtPrime.{u2} P _inst_4 J hJ) _inst_4 (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.commSemiring.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))) (Localization.algebra.{u2, u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ) P _inst_4 (Algebra.id.{u2} P _inst_4))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (fun (_x : RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) => R -> P) (RingHom.hasCoeToFun.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) f x))) -> (Eq.{max (succ u1) (succ u2)} (RingHom.{u1, u2} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.commSemiring.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.commSemiring.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))))) (Localization.localRingHom.{u1, u2} R _inst_1 P _inst_4 I hI J hJ f hIJ) j)
+but is expected to have type
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {P : Type.{u2}} [_inst_4 : CommSemiring.{u2} P] (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) [hI : Ideal.IsPrime.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) I] (J : Ideal.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) [hJ : Ideal.IsPrime.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4) J] (f : RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (hIJ : Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) I (Ideal.comap.{u1, u2, max u1 u2} R P (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.instRingHomClassRingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) f J)) {j : RingHom.{u1, u2} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))))}, (forall (x : R), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : Localization.AtPrime.{u1} R _inst_1 I hI) => Localization.AtPrime.{u2} P _inst_4 J hJ) (FunLike.coe.{succ u1, succ u1, succ u1} (RingHom.{u1, u1} R (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI))))) R (fun (a : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => Localization.AtPrime.{u1} R _inst_1 I hI) a) (MulHomClass.toFunLike.{u1, u1, u1} (RingHom.{u1, u1} R (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI))))) R (Localization.AtPrime.{u1} R _inst_1 I hI) (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))))) (NonUnitalRingHomClass.toMulHomClass.{u1, u1, u1} (RingHom.{u1, u1} R (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI))))) R (Localization.AtPrime.{u1} R _inst_1 I hI) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI))))) (RingHomClass.toNonUnitalRingHomClass.{u1, u1, u1} (RingHom.{u1, u1} R (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI))))) R (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))) (RingHom.instRingHomClassRingHom.{u1, u1} R (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))))))) (algebraMap.{u1, u1} R (Localization.AtPrime.{u1} R _inst_1 I hI) _inst_1 (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI))) (Localization.instAlgebraLocalizationToCommMonoidToSemiringInstCommSemiringLocalizationToCommMonoid.{u1, u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI) R _inst_1 (Algebra.id.{u1} R _inst_1))) x)) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (RingHom.{u1, u2} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))))) (Localization.AtPrime.{u1} R _inst_1 I hI) (fun (_x : Localization.AtPrime.{u1} R _inst_1 I hI) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : Localization.AtPrime.{u1} R _inst_1 I hI) => Localization.AtPrime.{u2} P _inst_4 J hJ) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (RingHom.{u1, u2} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))))) (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.AtPrime.{u2} P _inst_4 J hJ) (NonUnitalNonAssocSemiring.toMul.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))))) (NonUnitalNonAssocSemiring.toMul.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ)))))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))))) (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.AtPrime.{u2} P _inst_4 J hJ) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI))))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))))) (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ)))) (RingHom.instRingHomClassRingHom.{u1, u2} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ)))))))) j (FunLike.coe.{succ u1, succ u1, succ u1} (RingHom.{u1, u1} R (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI))))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => Localization.AtPrime.{u1} R _inst_1 I hI) _x) (MulHomClass.toFunLike.{u1, u1, u1} (RingHom.{u1, u1} R (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI))))) R (Localization.AtPrime.{u1} R _inst_1 I hI) (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))))) (NonUnitalRingHomClass.toMulHomClass.{u1, u1, u1} (RingHom.{u1, u1} R (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI))))) R (Localization.AtPrime.{u1} R _inst_1 I hI) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI))))) (RingHomClass.toNonUnitalRingHomClass.{u1, u1, u1} (RingHom.{u1, u1} R (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI))))) R (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))) (RingHom.instRingHomClassRingHom.{u1, u1} R (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))))))) (algebraMap.{u1, u1} R (Localization.AtPrime.{u1} R _inst_1 I hI) _inst_1 (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI))) (Localization.instAlgebraLocalizationToCommMonoidToSemiringInstCommSemiringLocalizationToCommMonoid.{u1, u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI) R _inst_1 (Algebra.id.{u1} R _inst_1))) x)) (FunLike.coe.{succ u2, succ u2, succ u2} (RingHom.{u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => P) x) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => P) x) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => P) x) _inst_4)) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => P) x) (fun (_x : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => P) x) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => P) x) => Localization.AtPrime.{u2} P _inst_4 J hJ) _x) (MulHomClass.toFunLike.{u2, u2, u2} (RingHom.{u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => P) x) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => P) x) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => P) x) _inst_4)) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => P) x) (Localization.AtPrime.{u2} P _inst_4 J hJ) (NonUnitalNonAssocSemiring.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => P) x) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => P) x) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => P) x) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => P) x) _inst_4)))) (NonUnitalNonAssocSemiring.toMul.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ)))))) (NonUnitalRingHomClass.toMulHomClass.{u2, u2, u2} (RingHom.{u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => P) x) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => P) x) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => P) x) _inst_4)) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => P) x) (Localization.AtPrime.{u2} P _inst_4 J hJ) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => P) x) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => P) x) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => P) x) _inst_4))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))))) (RingHomClass.toNonUnitalRingHomClass.{u2, u2, u2} (RingHom.{u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => P) x) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => P) x) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => P) x) _inst_4)) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => P) x) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => P) x) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => P) x) _inst_4)) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ)))) (RingHom.instRingHomClassRingHom.{u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => P) x) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => P) x) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => P) x) _inst_4)) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ)))))))) (algebraMap.{u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => P) x) (Localization.AtPrime.{u2} P _inst_4 J hJ) _inst_4 (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))) (Localization.instAlgebraLocalizationToCommMonoidToSemiringInstCommSemiringLocalizationToCommMonoid.{u2, u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => P) x) _inst_4 (Algebra.id.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => P) x) _inst_4))) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => P) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) R P (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u2} P (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} P (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) R P (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} P (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) (RingHom.instRingHomClassRingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)))))) f x))) -> (Eq.{max (succ u1) (succ u2)} (RingHom.{u1, u2} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.AtPrime.{u2} P _inst_4 J hJ) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 J hJ))))) (Localization.localRingHom.{u1, u2} R _inst_1 P _inst_4 I hI J hJ f hIJ) j)
+Case conversion may be inaccurate. Consider using '#align localization.local_ring_hom_unique Localization.localRingHom_uniqueₓ'. -/
 theorem localRingHom_unique (J : Ideal P) [hJ : J.IsPrime] (f : R →+* P) (hIJ : I = J.comap f)
     {j : Localization.AtPrime I →+* Localization.AtPrime J}
     (hj : ∀ x : R, j (algebraMap _ _ x) = algebraMap _ _ (f x)) : localRingHom I J f hIJ = j :=
   map_unique _ _ hj
 #align localization.local_ring_hom_unique Localization.localRingHom_unique
 
+/- warning: localization.local_ring_hom_id -> Localization.localRingHom_id is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) [hI : Ideal.IsPrime.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) I], Eq.{succ u1} (RingHom.{u1, u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.commSemiring.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.commSemiring.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI))))) (Localization.localRingHom.{u1, u1} R _inst_1 R _inst_1 I hI I hI (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Eq.symm.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.comap.{u1, u1, u1} R R (RingHom.{u1, u1} R R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.ringHomClass.{u1, u1} R R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) I) I (Ideal.comap_id.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) I))) (RingHom.id.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.commSemiring.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))))
+but is expected to have type
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) [hI : Ideal.IsPrime.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) I], Eq.{succ u1} (RingHom.{u1, u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI))))) (Localization.localRingHom.{u1, u1} R _inst_1 R _inst_1 I hI I hI (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Eq.symm.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.comap.{u1, u1, u1} R R (RingHom.{u1, u1} R R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.instRingHomClassRingHom.{u1, u1} R R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) I) I (Ideal.comap_id.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) I))) (RingHom.id.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))))
+Case conversion may be inaccurate. Consider using '#align localization.local_ring_hom_id Localization.localRingHom_idₓ'. -/
 @[simp]
 theorem localRingHom_id : localRingHom I I (RingHom.id R) (Ideal.comap_id I).symm = RingHom.id _ :=
   localRingHom_unique _ _ _ _ fun x => rfl
 #align localization.local_ring_hom_id Localization.localRingHom_id
 
+/- warning: localization.local_ring_hom_comp -> Localization.localRingHom_comp is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {P : Type.{u2}} [_inst_4 : CommSemiring.{u2} P] (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) [hI : Ideal.IsPrime.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) I] {S : Type.{u3}} [_inst_5 : CommSemiring.{u3} S] (J : Ideal.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) [hJ : Ideal.IsPrime.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5) J] (K : Ideal.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) [hK : Ideal.IsPrime.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4) K] (f : RingHom.{u1, u3} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5))) (hIJ : Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) I (Ideal.comap.{u1, u3, max u1 u3} R S (RingHom.{u1, u3} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u3} S _inst_5) (RingHom.ringHomClass.{u1, u3} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5))) f J)) (g : RingHom.{u3, u2} S P (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (hJK : Eq.{succ u3} (Ideal.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) J (Ideal.comap.{u3, u2, max u3 u2} S P (RingHom.{u3, u2} S P (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u3} S _inst_5) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.ringHomClass.{u3, u2} S P (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) g K)), Eq.{max (succ u1) (succ u2)} (RingHom.{u1, u2} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.AtPrime.{u2} P _inst_4 K hK) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.commSemiring.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 K hK) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 K hK) (Localization.commSemiring.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 K hK))))) (Localization.localRingHom.{u1, u2} R _inst_1 P _inst_4 I hI K hK (RingHom.comp.{u1, u3, u2} R S P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) g f) (Eq.mpr.{0} (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) I (Ideal.comap.{u1, u2, max u1 u2} R P (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.ringHomClass.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (RingHom.comp.{u1, u3, u2} R S P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) g f) K)) (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.comap.{u1, u3, max u1 u3} R S (RingHom.{u1, u3} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u3} S _inst_5) (RingHom.ringHomClass.{u1, u3} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5))) f J) (Ideal.comap.{u1, u2, max u1 u2} R P (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.ringHomClass.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (RingHom.comp.{u1, u3, u2} R S P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) g f) K)) (id_tag Tactic.IdTag.rw (Eq.{1} Prop (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) I (Ideal.comap.{u1, u2, max u1 u2} R P (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.ringHomClass.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (RingHom.comp.{u1, u3, u2} R S P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) g f) K)) (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.comap.{u1, u3, max u1 u3} R S (RingHom.{u1, u3} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u3} S _inst_5) (RingHom.ringHomClass.{u1, u3} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5))) f J) (Ideal.comap.{u1, u2, max u1 u2} R P (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.ringHomClass.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (RingHom.comp.{u1, u3, u2} R S P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) g f) K))) (Eq.ndrec.{0, succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) I (fun (_a : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) => Eq.{1} Prop (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) I (Ideal.comap.{u1, u2, max u1 u2} R P (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.ringHomClass.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (RingHom.comp.{u1, u3, u2} R S P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) g f) K)) (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) _a (Ideal.comap.{u1, u2, max u1 u2} R P (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.ringHomClass.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (RingHom.comp.{u1, u3, u2} R S P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) g f) K))) (rfl.{1} Prop (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) I (Ideal.comap.{u1, u2, max u1 u2} R P (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.ringHomClass.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (RingHom.comp.{u1, u3, u2} R S P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) g f) K))) (Ideal.comap.{u1, u3, max u1 u3} R S (RingHom.{u1, u3} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u3} S _inst_5) (RingHom.ringHomClass.{u1, u3} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5))) f J) hIJ)) (Eq.mpr.{0} (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.comap.{u1, u3, max u1 u3} R S (RingHom.{u1, u3} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u3} S _inst_5) (RingHom.ringHomClass.{u1, u3} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5))) f J) (Ideal.comap.{u1, u2, max u1 u2} R P (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.ringHomClass.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (RingHom.comp.{u1, u3, u2} R S P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) g f) K)) (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.comap.{u1, u3, max u1 u3} R S (RingHom.{u1, u3} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u3} S _inst_5) (RingHom.ringHomClass.{u1, u3} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5))) f (Ideal.comap.{u3, u2, max u3 u2} S P (RingHom.{u3, u2} S P (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u3} S _inst_5) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.ringHomClass.{u3, u2} S P (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) g K)) (Ideal.comap.{u1, u2, max u1 u2} R P (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.ringHomClass.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (RingHom.comp.{u1, u3, u2} R S P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) g f) K)) (id_tag Tactic.IdTag.rw (Eq.{1} Prop (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.comap.{u1, u3, max u1 u3} R S (RingHom.{u1, u3} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u3} S _inst_5) (RingHom.ringHomClass.{u1, u3} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5))) f J) (Ideal.comap.{u1, u2, max u1 u2} R P (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.ringHomClass.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (RingHom.comp.{u1, u3, u2} R S P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) g f) K)) (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.comap.{u1, u3, max u1 u3} R S (RingHom.{u1, u3} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u3} S _inst_5) (RingHom.ringHomClass.{u1, u3} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5))) f (Ideal.comap.{u3, u2, max u3 u2} S P (RingHom.{u3, u2} S P (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u3} S _inst_5) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.ringHomClass.{u3, u2} S P (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) g K)) (Ideal.comap.{u1, u2, max u1 u2} R P (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.ringHomClass.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (RingHom.comp.{u1, u3, u2} R S P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) g f) K))) (Eq.ndrec.{0, succ u3} (Ideal.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) J (fun (_a : Ideal.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) => Eq.{1} Prop (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.comap.{u1, u3, max u1 u3} R S (RingHom.{u1, u3} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u3} S _inst_5) (RingHom.ringHomClass.{u1, u3} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5))) f J) (Ideal.comap.{u1, u2, max u1 u2} R P (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.ringHomClass.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (RingHom.comp.{u1, u3, u2} R S P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) g f) K)) (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.comap.{u1, u3, max u1 u3} R S (RingHom.{u1, u3} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u3} S _inst_5) (RingHom.ringHomClass.{u1, u3} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5))) f _a) (Ideal.comap.{u1, u2, max u1 u2} R P (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.ringHomClass.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (RingHom.comp.{u1, u3, u2} R S P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) g f) K))) (rfl.{1} Prop (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.comap.{u1, u3, max u1 u3} R S (RingHom.{u1, u3} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u3} S _inst_5) (RingHom.ringHomClass.{u1, u3} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5))) f J) (Ideal.comap.{u1, u2, max u1 u2} R P (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.ringHomClass.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (RingHom.comp.{u1, u3, u2} R S P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) g f) K))) (Ideal.comap.{u3, u2, max u3 u2} S P (RingHom.{u3, u2} S P (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u3} S _inst_5) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.ringHomClass.{u3, u2} S P (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) g K) hJK)) (Eq.mpr.{0} (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.comap.{u1, u3, max u1 u3} R S (RingHom.{u1, u3} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u3} S _inst_5) (RingHom.ringHomClass.{u1, u3} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5))) f (Ideal.comap.{u3, u2, max u3 u2} S P (RingHom.{u3, u2} S P (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u3} S _inst_5) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.ringHomClass.{u3, u2} S P (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) g K)) (Ideal.comap.{u1, u2, max u1 u2} R P (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.ringHomClass.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (RingHom.comp.{u1, u3, u2} R S P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) g f) K)) (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.comap.{u1, u2, max u1 u2} R P (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.ringHomClass.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (RingHom.comp.{u1, u3, u2} R S P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) g f) K) (Ideal.comap.{u1, u2, max u1 u2} R P (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.ringHomClass.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (RingHom.comp.{u1, u3, u2} R S P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) g f) K)) (id_tag Tactic.IdTag.rw (Eq.{1} Prop (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.comap.{u1, u3, max u1 u3} R S (RingHom.{u1, u3} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u3} S _inst_5) (RingHom.ringHomClass.{u1, u3} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5))) f (Ideal.comap.{u3, u2, max u3 u2} S P (RingHom.{u3, u2} S P (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u3} S _inst_5) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.ringHomClass.{u3, u2} S P (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) g K)) (Ideal.comap.{u1, u2, max u1 u2} R P (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.ringHomClass.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (RingHom.comp.{u1, u3, u2} R S P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) g f) K)) (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.comap.{u1, u2, max u1 u2} R P (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.ringHomClass.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (RingHom.comp.{u1, u3, u2} R S P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) g f) K) (Ideal.comap.{u1, u2, max u1 u2} R P (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.ringHomClass.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (RingHom.comp.{u1, u3, u2} R S P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) g f) K))) (Eq.ndrec.{0, succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.comap.{u1, u3, max u1 u3} R S (RingHom.{u1, u3} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u3} S _inst_5) (RingHom.ringHomClass.{u1, u3} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5))) f (Ideal.comap.{u3, u2, max u3 u2} S P (RingHom.{u3, u2} S P (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u3} S _inst_5) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.ringHomClass.{u3, u2} S P (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) g K)) (fun (_a : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) => Eq.{1} Prop (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.comap.{u1, u3, max u1 u3} R S (RingHom.{u1, u3} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u3} S _inst_5) (RingHom.ringHomClass.{u1, u3} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5))) f (Ideal.comap.{u3, u2, max u3 u2} S P (RingHom.{u3, u2} S P (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u3} S _inst_5) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.ringHomClass.{u3, u2} S P (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) g K)) (Ideal.comap.{u1, u2, max u1 u2} R P (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.ringHomClass.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (RingHom.comp.{u1, u3, u2} R S P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) g f) K)) (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) _a (Ideal.comap.{u1, u2, max u1 u2} R P (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.ringHomClass.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (RingHom.comp.{u1, u3, u2} R S P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) g f) K))) (rfl.{1} Prop (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.comap.{u1, u3, max u1 u3} R S (RingHom.{u1, u3} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u3} S _inst_5) (RingHom.ringHomClass.{u1, u3} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5))) f (Ideal.comap.{u3, u2, max u3 u2} S P (RingHom.{u3, u2} S P (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u3} S _inst_5) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.ringHomClass.{u3, u2} S P (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) g K)) (Ideal.comap.{u1, u2, max u1 u2} R P (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.ringHomClass.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (RingHom.comp.{u1, u3, u2} R S P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) g f) K))) (Ideal.comap.{u1, u2, max u1 u2} R P (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.ringHomClass.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (RingHom.comp.{u1, u3, u2} R S P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) g f) K) (Ideal.comap_comap.{u1, u3, u2} R S (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u3} S _inst_5) P (CommSemiring.toSemiring.{u2} P _inst_4) K f g))) (rfl.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.comap.{u1, u2, max u1 u2} R P (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.ringHomClass.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (RingHom.comp.{u1, u3, u2} R S P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) g f) K)))))) (RingHom.comp.{u1, u3, u2} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.AtPrime.{u3} S _inst_5 J hJ) (Localization.AtPrime.{u2} P _inst_4 K hK) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.commSemiring.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))) (Semiring.toNonAssocSemiring.{u3} (Localization.AtPrime.{u3} S _inst_5 J hJ) (CommSemiring.toSemiring.{u3} (Localization.AtPrime.{u3} S _inst_5 J hJ) (Localization.commSemiring.{u3} S _inst_5 (Ideal.primeCompl.{u3} S _inst_5 J hJ)))) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 K hK) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 K hK) (Localization.commSemiring.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 K hK)))) (Localization.localRingHom.{u3, u2} S _inst_5 P _inst_4 J hJ K hK g hJK) (Localization.localRingHom.{u1, u3} R _inst_1 S _inst_5 I hI J hJ f hIJ))
+but is expected to have type
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {P : Type.{u2}} [_inst_4 : CommSemiring.{u2} P] (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) [hI : Ideal.IsPrime.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) I] {S : Type.{u3}} [_inst_5 : CommSemiring.{u3} S] (J : Ideal.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) [hJ : Ideal.IsPrime.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5) J] (K : Ideal.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) [hK : Ideal.IsPrime.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4) K] (f : RingHom.{u1, u3} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5))) (hIJ : Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) I (Ideal.comap.{u1, u3, max u1 u3} R S (RingHom.{u1, u3} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u3} S _inst_5) (RingHom.instRingHomClassRingHom.{u1, u3} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5))) f J)) (g : RingHom.{u3, u2} S P (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (hJK : Eq.{succ u3} (Ideal.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) J (Ideal.comap.{u3, u2, max u2 u3} S P (RingHom.{u3, u2} S P (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u3} S _inst_5) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.instRingHomClassRingHom.{u3, u2} S P (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) g K)), Eq.{max (succ u1) (succ u2)} (RingHom.{u1, u2} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.AtPrime.{u2} P _inst_4 K hK) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 K hK) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 K hK) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 K hK))))) (Localization.localRingHom.{u1, u2} R _inst_1 P _inst_4 I hI K hK (RingHom.comp.{u1, u3, u2} R S P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) g f) (Eq.mpr.{0} (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) I (Ideal.comap.{u1, u2, max u1 u2} R P (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.instRingHomClassRingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (RingHom.comp.{u1, u3, u2} R S P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) g f) K)) (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.comap.{u1, u3, max u1 u3} R S (RingHom.{u1, u3} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u3} S _inst_5) (RingHom.instRingHomClassRingHom.{u1, u3} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5))) f J) (Ideal.comap.{u1, u2, max u1 u2} R P (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.instRingHomClassRingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (RingHom.comp.{u1, u3, u2} R S P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) g f) K)) (id.{0} (Eq.{1} Prop (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) I (Ideal.comap.{u1, u2, max u1 u2} R P (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.instRingHomClassRingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (RingHom.comp.{u1, u3, u2} R S P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) g f) K)) (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.comap.{u1, u3, max u1 u3} R S (RingHom.{u1, u3} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u3} S _inst_5) (RingHom.instRingHomClassRingHom.{u1, u3} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5))) f J) (Ideal.comap.{u1, u2, max u1 u2} R P (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.instRingHomClassRingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (RingHom.comp.{u1, u3, u2} R S P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) g f) K))) (Eq.ndrec.{0, succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) I (fun (_a : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) => Eq.{1} Prop (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) I (Ideal.comap.{u1, u2, max u1 u2} R P (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.instRingHomClassRingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (RingHom.comp.{u1, u3, u2} R S P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) g f) K)) (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) _a (Ideal.comap.{u1, u2, max u1 u2} R P (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.instRingHomClassRingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (RingHom.comp.{u1, u3, u2} R S P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) g f) K))) (Eq.refl.{1} Prop (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) I (Ideal.comap.{u1, u2, max u1 u2} R P (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.instRingHomClassRingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (RingHom.comp.{u1, u3, u2} R S P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) g f) K))) (Ideal.comap.{u1, u3, max u1 u3} R S (RingHom.{u1, u3} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u3} S _inst_5) (RingHom.instRingHomClassRingHom.{u1, u3} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5))) f J) hIJ)) (Eq.mpr.{0} (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.comap.{u1, u3, max u1 u3} R S (RingHom.{u1, u3} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u3} S _inst_5) (RingHom.instRingHomClassRingHom.{u1, u3} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5))) f J) (Ideal.comap.{u1, u2, max u1 u2} R P (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.instRingHomClassRingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (RingHom.comp.{u1, u3, u2} R S P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) g f) K)) (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.comap.{u1, u3, max u1 u3} R S (RingHom.{u1, u3} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u3} S _inst_5) (RingHom.instRingHomClassRingHom.{u1, u3} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5))) f (Ideal.comap.{u3, u2, max u2 u3} S P (RingHom.{u3, u2} S P (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u3} S _inst_5) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.instRingHomClassRingHom.{u3, u2} S P (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) g K)) (Ideal.comap.{u1, u2, max u1 u2} R P (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.instRingHomClassRingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (RingHom.comp.{u1, u3, u2} R S P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) g f) K)) (id.{0} (Eq.{1} Prop (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.comap.{u1, u3, max u1 u3} R S (RingHom.{u1, u3} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u3} S _inst_5) (RingHom.instRingHomClassRingHom.{u1, u3} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5))) f J) (Ideal.comap.{u1, u2, max u1 u2} R P (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.instRingHomClassRingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (RingHom.comp.{u1, u3, u2} R S P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) g f) K)) (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.comap.{u1, u3, max u1 u3} R S (RingHom.{u1, u3} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u3} S _inst_5) (RingHom.instRingHomClassRingHom.{u1, u3} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5))) f (Ideal.comap.{u3, u2, max u2 u3} S P (RingHom.{u3, u2} S P (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u3} S _inst_5) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.instRingHomClassRingHom.{u3, u2} S P (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) g K)) (Ideal.comap.{u1, u2, max u1 u2} R P (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.instRingHomClassRingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (RingHom.comp.{u1, u3, u2} R S P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) g f) K))) (Eq.ndrec.{0, succ u3} (Ideal.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) J (fun (_a : Ideal.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) => Eq.{1} Prop (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.comap.{u1, u3, max u1 u3} R S (RingHom.{u1, u3} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u3} S _inst_5) (RingHom.instRingHomClassRingHom.{u1, u3} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5))) f J) (Ideal.comap.{u1, u2, max u1 u2} R P (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.instRingHomClassRingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (RingHom.comp.{u1, u3, u2} R S P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) g f) K)) (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.comap.{u1, u3, max u1 u3} R S (RingHom.{u1, u3} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u3} S _inst_5) (RingHom.instRingHomClassRingHom.{u1, u3} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5))) f _a) (Ideal.comap.{u1, u2, max u1 u2} R P (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.instRingHomClassRingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (RingHom.comp.{u1, u3, u2} R S P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) g f) K))) (Eq.refl.{1} Prop (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.comap.{u1, u3, max u1 u3} R S (RingHom.{u1, u3} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u3} S _inst_5) (RingHom.instRingHomClassRingHom.{u1, u3} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5))) f J) (Ideal.comap.{u1, u2, max u1 u2} R P (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.instRingHomClassRingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (RingHom.comp.{u1, u3, u2} R S P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) g f) K))) (Ideal.comap.{u3, u2, max u2 u3} S P (RingHom.{u3, u2} S P (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u3} S _inst_5) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.instRingHomClassRingHom.{u3, u2} S P (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) g K) hJK)) (Eq.mpr.{0} (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.comap.{u1, u3, max u1 u3} R S (RingHom.{u1, u3} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u3} S _inst_5) (RingHom.instRingHomClassRingHom.{u1, u3} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5))) f (Ideal.comap.{u3, u2, max u2 u3} S P (RingHom.{u3, u2} S P (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u3} S _inst_5) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.instRingHomClassRingHom.{u3, u2} S P (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) g K)) (Ideal.comap.{u1, u2, max u1 u2} R P (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.instRingHomClassRingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (RingHom.comp.{u1, u3, u2} R S P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) g f) K)) (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.comap.{u1, u2, max u2 u1} R P (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.instRingHomClassRingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (RingHom.comp.{u1, u3, u2} R S P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) g f) K) (Ideal.comap.{u1, u2, max u1 u2} R P (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.instRingHomClassRingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (RingHom.comp.{u1, u3, u2} R S P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) g f) K)) (id.{0} (Eq.{1} Prop (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.comap.{u1, u3, max u1 u3} R S (RingHom.{u1, u3} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u3} S _inst_5) (RingHom.instRingHomClassRingHom.{u1, u3} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5))) f (Ideal.comap.{u3, u2, max u2 u3} S P (RingHom.{u3, u2} S P (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u3} S _inst_5) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.instRingHomClassRingHom.{u3, u2} S P (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) g K)) (Ideal.comap.{u1, u2, max u1 u2} R P (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.instRingHomClassRingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (RingHom.comp.{u1, u3, u2} R S P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) g f) K)) (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.comap.{u1, u2, max u2 u1} R P (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.instRingHomClassRingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (RingHom.comp.{u1, u3, u2} R S P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) g f) K) (Ideal.comap.{u1, u2, max u1 u2} R P (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.instRingHomClassRingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (RingHom.comp.{u1, u3, u2} R S P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) g f) K))) (Eq.ndrec.{0, succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.comap.{u1, u3, max u1 u3} R S (RingHom.{u1, u3} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u3} S _inst_5) (RingHom.instRingHomClassRingHom.{u1, u3} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5))) f (Ideal.comap.{u3, u2, max u3 u2} S P (RingHom.{u3, u2} S P (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u3} S _inst_5) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.instRingHomClassRingHom.{u3, u2} S P (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) g K)) (fun (_a : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) => Eq.{1} Prop (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.comap.{u1, u3, max u1 u3} R S (RingHom.{u1, u3} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u3} S _inst_5) (RingHom.instRingHomClassRingHom.{u1, u3} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5))) f (Ideal.comap.{u3, u2, max u2 u3} S P (RingHom.{u3, u2} S P (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u3} S _inst_5) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.instRingHomClassRingHom.{u3, u2} S P (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) g K)) (Ideal.comap.{u1, u2, max u1 u2} R P (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.instRingHomClassRingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (RingHom.comp.{u1, u3, u2} R S P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) g f) K)) (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) _a (Ideal.comap.{u1, u2, max u1 u2} R P (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.instRingHomClassRingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (RingHom.comp.{u1, u3, u2} R S P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) g f) K))) (Eq.refl.{1} Prop (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.comap.{u1, u3, max u1 u3} R S (RingHom.{u1, u3} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u3} S _inst_5) (RingHom.instRingHomClassRingHom.{u1, u3} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5))) f (Ideal.comap.{u3, u2, max u2 u3} S P (RingHom.{u3, u2} S P (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u3} S _inst_5) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.instRingHomClassRingHom.{u3, u2} S P (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) g K)) (Ideal.comap.{u1, u2, max u1 u2} R P (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.instRingHomClassRingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (RingHom.comp.{u1, u3, u2} R S P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) g f) K))) (Ideal.comap.{u1, u2, max u2 u1} R P (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.instRingHomClassRingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (RingHom.comp.{u1, u3, u2} R S P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) g f) K) (Ideal.comap_comap.{u2, u1, u3} R S (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u3} S _inst_5) P (CommSemiring.toSemiring.{u2} P _inst_4) K f g))) (Eq.refl.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.comap.{u1, u2, max u2 u1} R P (RingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} P _inst_4) (RingHom.instRingHomClassRingHom.{u1, u2} R P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4))) (RingHom.comp.{u1, u3, u2} R S P (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_5)) (Semiring.toNonAssocSemiring.{u2} P (CommSemiring.toSemiring.{u2} P _inst_4)) g f) K)))))) (RingHom.comp.{u1, u3, u2} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.AtPrime.{u3} S _inst_5 J hJ) (Localization.AtPrime.{u2} P _inst_4 K hK) (Semiring.toNonAssocSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (CommSemiring.toSemiring.{u1} (Localization.AtPrime.{u1} R _inst_1 I hI) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} R _inst_1 (Ideal.primeCompl.{u1} R _inst_1 I hI)))) (Semiring.toNonAssocSemiring.{u3} (Localization.AtPrime.{u3} S _inst_5 J hJ) (CommSemiring.toSemiring.{u3} (Localization.AtPrime.{u3} S _inst_5 J hJ) (Localization.instCommSemiringLocalizationToCommMonoid.{u3} S _inst_5 (Ideal.primeCompl.{u3} S _inst_5 J hJ)))) (Semiring.toNonAssocSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 K hK) (CommSemiring.toSemiring.{u2} (Localization.AtPrime.{u2} P _inst_4 K hK) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} P _inst_4 (Ideal.primeCompl.{u2} P _inst_4 K hK)))) (Localization.localRingHom.{u3, u2} S _inst_5 P _inst_4 J hJ K hK g hJK) (Localization.localRingHom.{u1, u3} R _inst_1 S _inst_5 I hI J hJ f hIJ))
+Case conversion may be inaccurate. Consider using '#align localization.local_ring_hom_comp Localization.localRingHom_compₓ'. -/
 @[simp]
 theorem localRingHom_comp {S : Type _} [CommSemiring S] (J : Ideal S) [hJ : J.IsPrime] (K : Ideal P)
     [hK : K.IsPrime] (f : R →+* S) (hIJ : I = J.comap f) (g : S →+* P) (hJK : J = K.comap g) :

Changes in mathlib4

mathlib3
mathlib4
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
@@ -33,7 +33,6 @@ commutative ring, field of fractions
 
 
 variable {R : Type*} [CommSemiring R] (M : Submonoid R) (S : Type*) [CommSemiring S]
-
 variable [Algebra R S] {P : Type*} [CommSemiring P]
 
 section AtPrime
@@ -182,7 +181,6 @@ open IsLocalization
 attribute [local instance] Classical.propDecidable
 
 variable (I : Ideal R) [hI : I.IsPrime]
-
 variable {I}
 
 /-- The unique maximal ideal of the localization at `I.primeCompl` lies over the ideal `I`. -/
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
@@ -132,6 +132,12 @@ namespace AtPrime
 
 variable (I : Ideal R) [hI : I.IsPrime] [IsLocalization.AtPrime S I]
 
+/-- The prime ideals in the localization of a commutative ring at a prime ideal I are in
+order-preserving bijection with the prime ideals contained in I. -/
+def orderIsoOfPrime : { p : Ideal S // p.IsPrime } ≃o { p : Ideal R // p.IsPrime ∧ p ≤ I } :=
+  (IsLocalization.orderIsoOfPrime I.primeCompl S).trans <| .setCongr _ _ <| show setOf _ = setOf _
+    by ext; simp [Ideal.primeCompl, ← le_compl_iff_disjoint_left]
+
 theorem isUnit_to_map_iff (x : R) : IsUnit ((algebraMap R S) x) ↔ x ∈ I.primeCompl :=
   ⟨fun h hx =>
     (isPrime_of_isPrime_disjoint I.primeCompl S I hI disjoint_compl_left).ne_top <|
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
@@ -78,7 +78,7 @@ theorem AtPrime.Nontrivial [IsLocalization.AtPrime S P] : Nontrivial S :=
 #align is_localization.at_prime.nontrivial IsLocalization.AtPrime.Nontrivial
 
 theorem AtPrime.localRing [IsLocalization.AtPrime S P] : LocalRing S :=
-  -- Porting Note : since I couldn't get local instance running, I just specify it manually
+  -- Porting note: since I couldn't get local instance running, I just specify it manually
   letI := AtPrime.Nontrivial S P
   LocalRing.of_nonunits_add
     (by
@@ -184,7 +184,7 @@ theorem AtPrime.comap_maximalIdeal :
     Ideal.comap (algebraMap R (Localization.AtPrime I))
         (LocalRing.maximalIdeal (Localization I.primeCompl)) =
       I :=
-  -- Porting Note : need to provide full name
+  -- Porting note: need to provide full name
   IsLocalization.AtPrime.comap_maximalIdeal _ _
 #align localization.at_prime.comap_maximal_ideal Localization.AtPrime.comap_maximalIdeal
 
@@ -194,9 +194,9 @@ theorem AtPrime.map_eq_maximalIdeal :
     Ideal.map (algebraMap R (Localization.AtPrime I)) I =
       LocalRing.maximalIdeal (Localization I.primeCompl) := by
   convert congr_arg (Ideal.map (algebraMap R (Localization.AtPrime I)))
-  -- Porting Note : `algebraMap R ...` can not be solve by unification
+  -- Porting note: `algebraMap R ...` can not be solve by unification
     (AtPrime.comap_maximalIdeal (hI := hI)).symm
-  -- Porting Note : can not find `hI`
+  -- Porting note: can not find `hI`
   rw [map_comap I.primeCompl]
 #align localization.at_prime.map_eq_maximal_ideal Localization.AtPrime.map_eq_maximalIdeal
 
@@ -254,7 +254,7 @@ theorem localRingHom_id : localRingHom I I (RingHom.id R) (Ideal.comap_id I).sym
   localRingHom_unique _ _ _ _ fun _ => rfl
 #align localization.local_ring_hom_id Localization.localRingHom_id
 
--- Porting note : simplifier won't pick up this lemma, so deleted @[simp]
+-- Porting note: simplifier won't pick up this lemma, so deleted @[simp]
 theorem localRingHom_comp {S : Type*} [CommSemiring S] (J : Ideal S) [hJ : J.IsPrime] (K : Ideal P)
     [hK : K.IsPrime] (f : R →+* S) (hIJ : I = J.comap f) (g : S →+* P) (hJK : J = K.comap g) :
     localRingHom I K (g.comp f) (by rw [hIJ, hJK, Ideal.comap_comap f g]) =
chore: remove stream-of-consciousness uses of have, replace and suffices (#10640)

No changes to tactic file, it's just boring fixes throughout the library.

This follows on from #6964.

Co-authored-by: sgouezel <sebastien.gouezel@univ-rennes1.fr> Co-authored-by: Eric Wieser <wieser.eric@gmail.com>

Diff
@@ -95,8 +95,7 @@ theorem AtPrime.localRing [IsLocalization.AtPrime S P] : LocalRing S :=
       rw [← hry] at hy
       obtain ⟨t, ht⟩ := IsLocalization.eq.1 hxyz
       simp only [mul_one, one_mul, Submonoid.coe_mul, Subtype.coe_mk] at ht
-      suffices : (t : R) * (sx * sy * sz) ∈ P
-      exact
+      suffices (t : R) * (sx * sy * sz) ∈ P from
         not_or_of_not (mt hp.mem_or_mem <| not_or_of_not sx.2 sy.2) sz.2
           (hp.mem_or_mem <| (hp.mem_or_mem this).resolve_left t.2)
       rw [← ht]
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
@@ -13,7 +13,7 @@ import Mathlib.RingTheory.Localization.Ideal
 
 ## Main definitions
 
- * `IsLocalization.AtPrime (P : Ideal R) [IsPrime P] (S : Type _)` expresses that `S` is a
+ * `IsLocalization.AtPrime (P : Ideal R) [IsPrime P] (S : Type*)` expresses that `S` is a
    localization at (the complement of) a prime ideal `P`, as an abbreviation of
    `IsLocalization P.prime_compl S`
 
@@ -32,9 +32,9 @@ commutative ring, field of fractions
 -/
 
 
-variable {R : Type _} [CommSemiring R] (M : Submonoid R) (S : Type _) [CommSemiring S]
+variable {R : Type*} [CommSemiring R] (M : Submonoid R) (S : Type*) [CommSemiring S]
 
-variable [Algebra R S] {P : Type _} [CommSemiring P]
+variable [Algebra R S] {P : Type*} [CommSemiring P]
 
 section AtPrime
 
@@ -120,7 +120,7 @@ end AtPrime
 
 namespace IsLocalization
 
-variable {A : Type _} [CommRing A] [IsDomain A]
+variable {A : Type*} [CommRing A] [IsDomain A]
 
 /-- The localization of an integral domain at the complement of a prime ideal is an integral domain.
 -/
@@ -256,7 +256,7 @@ theorem localRingHom_id : localRingHom I I (RingHom.id R) (Ideal.comap_id I).sym
 #align localization.local_ring_hom_id Localization.localRingHom_id
 
 -- Porting note : simplifier won't pick up this lemma, so deleted @[simp]
-theorem localRingHom_comp {S : Type _} [CommSemiring S] (J : Ideal S) [hJ : J.IsPrime] (K : Ideal P)
+theorem localRingHom_comp {S : Type*} [CommSemiring S] (J : Ideal S) [hJ : J.IsPrime] (K : Ideal P)
     [hK : K.IsPrime] (f : R →+* S) (hIJ : I = J.comap f) (g : S →+* P) (hJK : J = K.comap g) :
     localRingHom I K (g.comp f) (by rw [hIJ, hJK, Ideal.comap_comap f g]) =
       (localRingHom J K g hJK).comp (localRingHom I J f hIJ) :=
doc: change variable names in AtPrime.lean (#6242)

This commit changes the names of the prime ideal to I to match the docstrings. It also fixes an instance of Localization.AtPrime taking too many arguments in a docstring.

Co-authored-by: Calvin Lee <pounce@integraldoma.in>

Diff
@@ -13,9 +13,9 @@ import Mathlib.RingTheory.Localization.Ideal
 
 ## Main definitions
 
- * `IsLocalization.AtPrime (I : Ideal R) [IsPrime I] (S : Type _)` expresses that `S` is a
-   localization at (the complement of) a prime ideal `I`, as an abbreviation of
-   `IsLocalization I.prime_compl S`
+ * `IsLocalization.AtPrime (P : Ideal R) [IsPrime P] (S : Type _)` expresses that `S` is a
+   localization at (the complement of) a prime ideal `P`, as an abbreviation of
+   `IsLocalization P.prime_compl S`
 
 ## Main results
 
@@ -38,19 +38,19 @@ variable [Algebra R S] {P : Type _} [CommSemiring P]
 
 section AtPrime
 
-variable (I : Ideal R) [hp : I.IsPrime]
+variable (P : Ideal R) [hp : P.IsPrime]
 
 namespace Ideal
 
-/-- The complement of a prime ideal `I ⊆ R` is a submonoid of `R`. -/
+/-- The complement of a prime ideal `P ⊆ R` is a submonoid of `R`. -/
 def primeCompl : Submonoid R where
-  carrier := (Iᶜ : Set R)
-  one_mem' := by convert I.ne_top_iff_one.1 hp.1
+  carrier := (Pᶜ : Set R)
+  one_mem' := by convert P.ne_top_iff_one.1 hp.1
   mul_mem' {x y} hnx hny hxy := Or.casesOn (hp.mem_or_mem hxy) hnx hny
 #align ideal.prime_compl Ideal.primeCompl
 
-theorem primeCompl_le_nonZeroDivisors [NoZeroDivisors R] : I.primeCompl ≤ nonZeroDivisors R :=
-  le_nonZeroDivisors_of_noZeroDivisors <| not_not_intro I.zero_mem
+theorem primeCompl_le_nonZeroDivisors [NoZeroDivisors R] : P.primeCompl ≤ nonZeroDivisors R :=
+  le_nonZeroDivisors_of_noZeroDivisors <| not_not_intro P.zero_mem
 #align ideal.prime_compl_le_non_zero_divisors Ideal.primeCompl_le_nonZeroDivisors
 
 end Ideal
@@ -58,51 +58,51 @@ end Ideal
 /-- Given a prime ideal `P`, the typeclass `IsLocalization.AtPrime S P` states that `S` is
 isomorphic to the localization of `R` at the complement of `P`. -/
 protected abbrev IsLocalization.AtPrime :=
-  IsLocalization I.primeCompl S
+  IsLocalization P.primeCompl S
 #align is_localization.at_prime IsLocalization.AtPrime
 
-/-- Given a prime ideal `P`, `Localization.AtPrime S P` is a localization of
+/-- Given a prime ideal `P`, `Localization.AtPrime P` is a localization of
 `R` at the complement of `P`, as a quotient type. -/
 protected abbrev Localization.AtPrime :=
-  Localization I.primeCompl
+  Localization P.primeCompl
 #align localization.at_prime Localization.AtPrime
 
 namespace IsLocalization
 
-theorem AtPrime.Nontrivial [IsLocalization.AtPrime S I] : Nontrivial S :=
+theorem AtPrime.Nontrivial [IsLocalization.AtPrime S P] : Nontrivial S :=
   nontrivial_of_ne (0 : S) 1 fun hze => by
     rw [← (algebraMap R S).map_one, ← (algebraMap R S).map_zero] at hze
-    obtain ⟨t, ht⟩ := (eq_iff_exists I.primeCompl S).1 hze
+    obtain ⟨t, ht⟩ := (eq_iff_exists P.primeCompl S).1 hze
     have htz : (t : R) = 0 := by simpa using ht.symm
-    exact t.2 (htz.symm ▸ I.zero_mem : ↑t ∈ I)
+    exact t.2 (htz.symm ▸ P.zero_mem : ↑t ∈ P)
 #align is_localization.at_prime.nontrivial IsLocalization.AtPrime.Nontrivial
 
-theorem AtPrime.localRing [IsLocalization.AtPrime S I] : LocalRing S :=
+theorem AtPrime.localRing [IsLocalization.AtPrime S P] : LocalRing S :=
   -- Porting Note : since I couldn't get local instance running, I just specify it manually
-  letI := AtPrime.Nontrivial S I
+  letI := AtPrime.Nontrivial S P
   LocalRing.of_nonunits_add
     (by
       intro x y hx hy hu
       cases' isUnit_iff_exists_inv.1 hu with z hxyz
-      have : ∀ {r : R} {s : I.primeCompl}, mk' S r s ∈ nonunits S → r ∈ I := fun {r s} =>
-        not_imp_comm.1 fun nr => isUnit_iff_exists_inv.2 ⟨mk' S ↑s (⟨r, nr⟩ : I.primeCompl),
-          mk'_mul_mk'_eq_one' _ _ <| show r ∈ I.primeCompl from nr⟩
-      rcases mk'_surjective I.primeCompl x with ⟨rx, sx, hrx⟩
-      rcases mk'_surjective I.primeCompl y with ⟨ry, sy, hry⟩
-      rcases mk'_surjective I.primeCompl z with ⟨rz, sz, hrz⟩
-      rw [← hrx, ← hry, ← hrz, ← mk'_add, ← mk'_mul, ← mk'_self S I.primeCompl.one_mem] at hxyz
+      have : ∀ {r : R} {s : P.primeCompl}, mk' S r s ∈ nonunits S → r ∈ P := fun {r s} =>
+        not_imp_comm.1 fun nr => isUnit_iff_exists_inv.2 ⟨mk' S ↑s (⟨r, nr⟩ : P.primeCompl),
+          mk'_mul_mk'_eq_one' _ _ <| show r ∈ P.primeCompl from nr⟩
+      rcases mk'_surjective P.primeCompl x with ⟨rx, sx, hrx⟩
+      rcases mk'_surjective P.primeCompl y with ⟨ry, sy, hry⟩
+      rcases mk'_surjective P.primeCompl z with ⟨rz, sz, hrz⟩
+      rw [← hrx, ← hry, ← hrz, ← mk'_add, ← mk'_mul, ← mk'_self S P.primeCompl.one_mem] at hxyz
       rw [← hrx] at hx
       rw [← hry] at hy
       obtain ⟨t, ht⟩ := IsLocalization.eq.1 hxyz
       simp only [mul_one, one_mul, Submonoid.coe_mul, Subtype.coe_mk] at ht
-      suffices : (t : R) * (sx * sy * sz) ∈ I
+      suffices : (t : R) * (sx * sy * sz) ∈ P
       exact
         not_or_of_not (mt hp.mem_or_mem <| not_or_of_not sx.2 sy.2) sz.2
           (hp.mem_or_mem <| (hp.mem_or_mem this).resolve_left t.2)
       rw [← ht]
       exact
-        I.mul_mem_left _ <| I.mul_mem_right _ <|
-            I.add_mem (I.mul_mem_right _ <| this hx) <| I.mul_mem_right _ <| this hy)
+        P.mul_mem_left _ <| P.mul_mem_right _ <|
+            P.add_mem (P.mul_mem_right _ <| this hx) <| P.mul_mem_right _ <| this hy)
 #align is_localization.at_prime.local_ring IsLocalization.AtPrime.localRing
 
 end IsLocalization
@@ -110,8 +110,8 @@ end IsLocalization
 namespace Localization
 
 /-- The localization of `R` at the complement of a prime ideal is a local ring. -/
-instance AtPrime.localRing : LocalRing (Localization I.primeCompl) :=
-  IsLocalization.AtPrime.localRing (Localization I.primeCompl) I
+instance AtPrime.localRing : LocalRing (Localization P.primeCompl) :=
+  IsLocalization.AtPrime.localRing (Localization P.primeCompl) P
 #align localization.at_prime.local_ring Localization.AtPrime.localRing
 
 end Localization
chore: tidy various files (#5999)
Diff
@@ -13,7 +13,7 @@ import Mathlib.RingTheory.Localization.Ideal
 
 ## Main definitions
 
- * `IsLocalization.AtPrime (I : Ideal R) [IsPrime I] (S : Type*)` expresses that `S` is a
+ * `IsLocalization.AtPrime (I : Ideal R) [IsPrime I] (S : Type _)` expresses that `S` is a
    localization at (the complement of) a prime ideal `I`, as an abbreviation of
    `IsLocalization I.prime_compl S`
 
@@ -180,7 +180,7 @@ variable (I : Ideal R) [hI : I.IsPrime]
 
 variable {I}
 
-/-- The unique maximal ideal of the localization at `I.prime_compl` lies over the ideal `I`. -/
+/-- The unique maximal ideal of the localization at `I.primeCompl` lies over the ideal `I`. -/
 theorem AtPrime.comap_maximalIdeal :
     Ideal.comap (algebraMap R (Localization.AtPrime I))
         (LocalRing.maximalIdeal (Localization I.primeCompl)) =
@@ -189,8 +189,8 @@ theorem AtPrime.comap_maximalIdeal :
   IsLocalization.AtPrime.comap_maximalIdeal _ _
 #align localization.at_prime.comap_maximal_ideal Localization.AtPrime.comap_maximalIdeal
 
-/-- The image of `I` in the localization at `I.prime_compl` is a maximal ideal, and in particular
-it is the unique maximal ideal given by the local ring structure `at_prime.local_ring` -/
+/-- The image of `I` in the localization at `I.primeCompl` is a maximal ideal, and in particular
+it is the unique maximal ideal given by the local ring structure `AtPrime.localRing` -/
 theorem AtPrime.map_eq_maximalIdeal :
     Ideal.map (algebraMap R (Localization.AtPrime I)) I =
       LocalRing.maximalIdeal (Localization I.primeCompl) := by
@@ -205,7 +205,8 @@ theorem le_comap_primeCompl_iff {J : Ideal P} [hJ : J.IsPrime] {f : R →+* P} :
     I.primeCompl ≤ J.primeCompl.comap f ↔ J.comap f ≤ I :=
   ⟨fun h x hx => by
     contrapose! hx
-    exact h hx, fun h x hx hfxJ => hx (h hfxJ)⟩
+    exact h hx,
+   fun h x hx hfxJ => hx (h hfxJ)⟩
 #align localization.le_comap_prime_compl_iff Localization.le_comap_primeCompl_iff
 
 variable (I)
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,15 +2,12 @@
 Copyright (c) 2018 Kenny Lau. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Kenny Lau, Mario Carneiro, Johan Commelin, Amelia Livingston, Anne Baanen
-
-! This file was ported from Lean 3 source module ring_theory.localization.at_prime
-! leanprover-community/mathlib commit b86c528d08a52a1fdb50d999232408e1c7e85d7d
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathlib.RingTheory.Ideal.LocalRing
 import Mathlib.RingTheory.Localization.Ideal
 
+#align_import ring_theory.localization.at_prime from "leanprover-community/mathlib"@"b86c528d08a52a1fdb50d999232408e1c7e85d7d"
+
 /-!
 # Localizations of commutative rings at the complement of a prime ideal
 
fix: filenames with typos in doc (#5836)
Diff
@@ -27,7 +27,7 @@ import Mathlib.RingTheory.Localization.Ideal
 
 ## Implementation notes
 
-See `src/ring_theory/Localization/basic.lean` for a design overview.
+See `RingTheory.Localization.Basic` for a design overview.
 
 ## Tags
 localization, ring localization, commutative ring localization, characteristic predicate,
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
@@ -242,7 +242,7 @@ instance isLocalRingHom_localRingHom (J : Ideal P) [hJ : J.IsPrime] (f : R →+*
   IsLocalRingHom.mk fun x hx => by
     rcases IsLocalization.mk'_surjective I.primeCompl x with ⟨r, s, rfl⟩
     rw [localRingHom_mk'] at hx
-    rw [AtPrime.isUnit_mk'_iff] at hx⊢
+    rw [AtPrime.isUnit_mk'_iff] at hx ⊢
     exact fun hr => hx ((SetLike.ext_iff.mp hIJ r).mp hr)
 #align localization.is_local_ring_hom_local_ring_hom Localization.isLocalRingHom_localRingHom
 
feat: port RingTheory.Localization.AtPrime (#4086)

Co-authored-by: ChrisHughes24 <chrishughes24@gmail.com>

Dependencies 8 + 544

545 files ported (98.6%)
227583 lines ported (98.7%)
Show graph

The unported dependencies are