ring_theory.localization.integralMathlib.RingTheory.Localization.Integral

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)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(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
@@ -3,7 +3,7 @@ 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 Data.Polynomial.Lifts
+import Algebra.Polynomial.Lifts
 import GroupTheory.MonoidLocalization
 import RingTheory.Algebraic
 import RingTheory.Ideal.LocalRing
Diff
@@ -10,7 +10,7 @@ import RingTheory.Ideal.LocalRing
 import RingTheory.IntegralClosure
 import RingTheory.Localization.FractionRing
 import RingTheory.Localization.Integer
-import RingTheory.NonZeroDivisors
+import Algebra.GroupWithZero.NonZeroDivisors
 import Tactic.RingExp
 
 #align_import ring_theory.localization.integral from "leanprover-community/mathlib"@"61db041ab8e4aaf8cb5c7dc10a7d4ff261997536"
Diff
@@ -162,7 +162,7 @@ theorem integerNormalization_eq_zero_iff {p : K[X]} :
     apply smul_zero
     assumption
   · have hi := h i
-    rw [Polynomial.coeff_zero, ← @to_map_eq_zero_iff A _ K, hb i, Algebra.smul_def] at hi 
+    rw [Polynomial.coeff_zero, ← @to_map_eq_zero_iff A _ K, hb i, Algebra.smul_def] at hi
     apply Or.resolve_left (eq_zero_or_eq_zero_of_mul_eq_zero hi)
     intro h
     apply mem_non_zero_divisors_iff_ne_zero.mp nonzero
@@ -269,8 +269,8 @@ theorem isIntegral_localization (H : Algebra.IsIntegral R S) :
   obtain ⟨v', hv'⟩ := isUnit_iff_exists_inv'.1 (map_units Rₘ ⟨v, hv.1⟩)
   refine' @IsIntegral.of_mul_unit Rₘ _ _ _ (localizationAlgebra M S) x (algebraMap S Sₘ u) v' _ _
   · replace hv' := congr_arg (@algebraMap Rₘ Sₘ _ _ (localizationAlgebra M S)) hv'
-    rw [RingHom.map_mul, RingHom.map_one, ← RingHom.comp_apply _ (algebraMap R Rₘ)] at hv' 
-    erw [IsLocalization.map_comp] at hv' 
+    rw [RingHom.map_mul, RingHom.map_one, ← RingHom.comp_apply _ (algebraMap R Rₘ)] at hv'
+    erw [IsLocalization.map_comp] at hv'
     exact hv.2 ▸ hv'
   · obtain ⟨p, hp⟩ := H s
     exact hx.symm ▸ is_integral_localization_at_leadingCoeff p hp.2 (hp.1.symm ▸ M.one_mem)
@@ -309,7 +309,7 @@ theorem IsLocalization.scaleRoots_commonDenom_mem_lifts (p : Rₘ[X])
     · exact RingHom.mem_range_self _ _
     · rw [← Algebra.smul_def]
       exact ⟨_, IsLocalization.map_integerMultiple M p.support p.coeff ⟨n, h₁⟩⟩
-  · rw [Polynomial.not_mem_support_iff] at h₁ 
+  · rw [Polynomial.not_mem_support_iff] at h₁
     rw [h₁, MulZeroClass.zero_mul]
     exact zero_mem (algebraMap R Rₘ).range
 #align is_localization.scale_roots_common_denom_mem_lifts IsLocalization.scaleRoots_commonDenom_mem_lifts
@@ -458,7 +458,7 @@ theorem isAlgebraic_iff' [Field K] [IsDomain R] [IsDomain S] [Algebra R K] [Alge
   · intro h x
     obtain ⟨f, hf₁, hf₂⟩ := h (algebraMap S K x)
     use f, hf₁
-    rw [Polynomial.aeval_algebraMap_apply] at hf₂ 
+    rw [Polynomial.aeval_algebraMap_apply] at hf₂
     exact
       (injective_iff_map_eq_zero (algebraMap S K)).1 (NoZeroSMulDivisors.algebraMap_injective _ _) _
         hf₂
@@ -494,7 +494,7 @@ theorem ideal_span_singleton_map_subset {L : Type _} [IsDomain R] [IsDomain S] [
   have mk_yz_eq : IsLocalization.mk' L y' z' = IsLocalization.mk' L y ⟨_, hz0'⟩ :=
     by
     rw [Algebra.smul_def, mul_comm _ y, mul_comm _ y', ← SetLike.coe_mk (algebraMap R S z) hz0'] at
-      yz_eq 
+      yz_eq
     exact IsLocalization.mk'_eq_of_eq (by rw [mul_comm _ y, mul_comm _ y', yz_eq])
   suffices hy : algebraMap S L (a * y) ∈ Submodule.span K (⇑(algebraMap S L) '' b)
   · rw [mk_yz_eq, IsFractionRing.mk'_eq_div, SetLike.coe_mk, ← IsScalarTower.algebraMap_apply,
Diff
@@ -267,9 +267,7 @@ theorem isIntegral_localization (H : Algebra.IsIntegral R S) :
   obtain ⟨⟨s, ⟨u, hu⟩⟩, hx⟩ := surj (Algebra.algebraMapSubmonoid S M) x
   obtain ⟨v, hv⟩ := hu
   obtain ⟨v', hv'⟩ := isUnit_iff_exists_inv'.1 (map_units Rₘ ⟨v, hv.1⟩)
-  refine'
-    @isIntegral_of_isIntegral_mul_unit Rₘ _ _ _ (localizationAlgebra M S) x (algebraMap S Sₘ u) v' _
-      _
+  refine' @IsIntegral.of_mul_unit Rₘ _ _ _ (localizationAlgebra M S) x (algebraMap S Sₘ u) v' _ _
   · replace hv' := congr_arg (@algebraMap Rₘ Sₘ _ _ (localizationAlgebra M S)) hv'
     rw [RingHom.map_mul, RingHom.map_one, ← RingHom.comp_apply _ (algebraMap R Rₘ)] at hv' 
     erw [IsLocalization.map_comp] at hv' 
@@ -380,7 +378,7 @@ the integral closure `C` of `A` in `L` has fraction field `L`. -/
 theorem isFractionRing_of_finite_extension [Algebra K L] [IsScalarTower A K L]
     [FiniteDimensional K L] : IsFractionRing C L :=
   isFractionRing_of_algebraic A C
-    (IsFractionRing.comap_isAlgebraic_iff.mpr (isAlgebraic_of_finite K L)) fun x hx =>
+    (IsFractionRing.comap_isAlgebraic_iff.mpr (Algebra.IsAlgebraic.of_finite K L)) fun x hx =>
     IsFractionRing.to_map_eq_zero_iff.mp
       ((map_eq_zero <| algebraMap K L).mp <| (IsScalarTower.algebraMap_apply _ _ _ _).symm.trans hx)
 #align is_integral_closure.is_fraction_ring_of_finite_extension IsIntegralClosure.isFractionRing_of_finite_extension
@@ -433,12 +431,12 @@ theorem isAlgebraic_iff' [Field K] [IsDomain R] [IsDomain S] [Algebra R K] [Alge
     obtain ⟨a : S, b, ha, rfl⟩ := @div_surjective S _ _ _ _ _ _ x
     obtain ⟨f, hf₁, hf₂⟩ := h b
     rw [div_eq_mul_inv]
-    refine' isIntegral_mul _ _
+    refine' IsIntegral.mul _ _
     · rw [← isAlgebraic_iff_isIntegral]
       refine'
         _root_.is_algebraic_of_larger_base_of_injective
           (NoZeroSMulDivisors.algebraMap_injective R (FractionRing R)) _
-      exact isAlgebraic_algebraMap_of_isAlgebraic (h a)
+      exact IsAlgebraic.algebraMap (h a)
     · rw [← isAlgebraic_iff_isIntegral]
       use(f.map (algebraMap R (FractionRing R))).reverse
       constructor
Diff
@@ -3,15 +3,15 @@ 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.Data.Polynomial.Lifts
-import Mathbin.GroupTheory.MonoidLocalization
-import Mathbin.RingTheory.Algebraic
-import Mathbin.RingTheory.Ideal.LocalRing
-import Mathbin.RingTheory.IntegralClosure
-import Mathbin.RingTheory.Localization.FractionRing
-import Mathbin.RingTheory.Localization.Integer
-import Mathbin.RingTheory.NonZeroDivisors
-import Mathbin.Tactic.RingExp
+import Data.Polynomial.Lifts
+import GroupTheory.MonoidLocalization
+import RingTheory.Algebraic
+import RingTheory.Ideal.LocalRing
+import RingTheory.IntegralClosure
+import RingTheory.Localization.FractionRing
+import RingTheory.Localization.Integer
+import RingTheory.NonZeroDivisors
+import Tactic.RingExp
 
 #align_import ring_theory.localization.integral from "leanprover-community/mathlib"@"61db041ab8e4aaf8cb5c7dc10a7d4ff261997536"
 
Diff
@@ -440,7 +440,7 @@ theorem isAlgebraic_iff' [Field K] [IsDomain R] [IsDomain S] [Algebra R K] [Alge
           (NoZeroSMulDivisors.algebraMap_injective R (FractionRing R)) _
       exact isAlgebraic_algebraMap_of_isAlgebraic (h a)
     · rw [← isAlgebraic_iff_isIntegral]
-      use (f.map (algebraMap R (FractionRing R))).reverse
+      use(f.map (algebraMap R (FractionRing R))).reverse
       constructor
       ·
         rwa [Ne.def, Polynomial.reverse_eq_zero, ← Polynomial.degree_eq_bot,
Diff
@@ -2,11 +2,6 @@
 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.integral
-! leanprover-community/mathlib commit 61db041ab8e4aaf8cb5c7dc10a7d4ff261997536
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathbin.Data.Polynomial.Lifts
 import Mathbin.GroupTheory.MonoidLocalization
@@ -18,6 +13,8 @@ import Mathbin.RingTheory.Localization.Integer
 import Mathbin.RingTheory.NonZeroDivisors
 import Mathbin.Tactic.RingExp
 
+#align_import ring_theory.localization.integral from "leanprover-community/mathlib"@"61db041ab8e4aaf8cb5c7dc10a7d4ff261997536"
+
 /-!
 # Integral and algebraic elements of a fraction field
 
Diff
@@ -370,7 +370,7 @@ theorem isFractionRing_of_algebraic (alg : IsAlgebraic A L)
             hy (inj _ (by rw [IsScalarTower.algebraMap_apply A C L, h, RingHom.map_zero]))⟩,
         by rw [SetLike.coe_mk, algebra_map_mk', ← IsScalarTower.algebraMap_apply A C L, hxy]⟩
     eq_iff_exists := fun x y =>
-      ⟨fun h => ⟨1, by simpa using algebra_map_injective C A L h⟩, fun ⟨c, hc⟩ =>
+      ⟨fun h => ⟨1, by simpa using algebraMap_injective C A L h⟩, fun ⟨c, hc⟩ =>
         congr_arg (algebraMap _ L) (mul_left_cancel₀ (mem_nonZeroDivisors_iff_ne_zero.mp c.2) hc)⟩ }
 #align is_integral_closure.is_fraction_ring_of_algebraic IsIntegralClosure.isFractionRing_of_algebraic
 -/
Diff
@@ -62,18 +62,22 @@ noncomputable def coeffIntegerNormalization (p : S[X]) (i : ℕ) : R :=
 #align is_localization.coeff_integer_normalization IsLocalization.coeffIntegerNormalization
 -/
 
+#print IsLocalization.coeffIntegerNormalization_of_not_mem_support /-
 theorem coeffIntegerNormalization_of_not_mem_support (p : S[X]) (i : ℕ) (h : coeff p i = 0) :
     coeffIntegerNormalization M p i = 0 := by
   simp only [coeff_integer_normalization, h, mem_support_iff, eq_self_iff_true, not_true, Ne.def,
     dif_neg, not_false_iff]
 #align is_localization.coeff_integer_normalization_of_not_mem_support IsLocalization.coeffIntegerNormalization_of_not_mem_support
+-/
 
+#print IsLocalization.coeffIntegerNormalization_mem_support /-
 theorem coeffIntegerNormalization_mem_support (p : S[X]) (i : ℕ)
     (h : coeffIntegerNormalization M p i ≠ 0) : i ∈ p.support :=
   by
   contrapose h
   rw [Ne.def, Classical.not_not, coeff_integer_normalization, dif_neg h]
 #align is_localization.coeff_integer_normalization_mem_support IsLocalization.coeffIntegerNormalization_mem_support
+-/
 
 #print IsLocalization.integerNormalization /-
 /-- `integer_normalization g` normalizes `g` to have integer coefficients
@@ -92,6 +96,7 @@ theorem integerNormalization_coeff (p : S[X]) (i : ℕ) :
 #align is_localization.integer_normalization_coeff IsLocalization.integerNormalization_coeff
 -/
 
+#print IsLocalization.integerNormalization_spec /-
 theorem integerNormalization_spec (p : S[X]) :
     ∃ b : M, ∀ i, algebraMap R S ((integerNormalization M p).coeff i) = (b : R) • p.coeff i :=
   by
@@ -108,26 +113,33 @@ theorem integerNormalization_spec (p : S[X]) :
     · apply RingHom.map_zero
     · exact not_mem_support_iff.mp hi
 #align is_localization.integer_normalization_spec IsLocalization.integerNormalization_spec
+-/
 
+#print IsLocalization.integerNormalization_map_to_map /-
 theorem integerNormalization_map_to_map (p : S[X]) :
     ∃ b : M, (integerNormalization M p).map (algebraMap R S) = (b : R) • p :=
   let ⟨b, hb⟩ := integerNormalization_spec M p
   ⟨b, Polynomial.ext fun i => by rw [coeff_map, coeff_smul]; exact hb i⟩
 #align is_localization.integer_normalization_map_to_map IsLocalization.integerNormalization_map_to_map
+-/
 
 variable {R' : Type _} [CommRing R']
 
+#print IsLocalization.integerNormalization_eval₂_eq_zero /-
 theorem integerNormalization_eval₂_eq_zero (g : S →+* R') (p : S[X]) {x : R'}
     (hx : eval₂ g x p = 0) : eval₂ (g.comp (algebraMap R S)) x (integerNormalization M p) = 0 :=
   let ⟨b, hb⟩ := integerNormalization_map_to_map M p
   trans (eval₂_map (algebraMap R S) g x).symm
     (by rw [hb, ← IsScalarTower.algebraMap_smul S (b : R) p, eval₂_smul, hx, MulZeroClass.mul_zero])
 #align is_localization.integer_normalization_eval₂_eq_zero IsLocalization.integerNormalization_eval₂_eq_zero
+-/
 
+#print IsLocalization.integerNormalization_aeval_eq_zero /-
 theorem integerNormalization_aeval_eq_zero [Algebra R R'] [Algebra S R'] [IsScalarTower R S R']
     (p : S[X]) {x : R'} (hx : aeval x p = 0) : aeval x (integerNormalization M p) = 0 := by
   rw [aeval_def, IsScalarTower.algebraMap_eq R S R', integer_normalization_eval₂_eq_zero _ _ _ hx]
 #align is_localization.integer_normalization_aeval_eq_zero IsLocalization.integerNormalization_aeval_eq_zero
+-/
 
 end IntegerNormalization
 
@@ -163,6 +175,7 @@ theorem integerNormalization_eq_zero_iff {p : K[X]} :
 
 variable (A K C)
 
+#print IsFractionRing.isAlgebraic_iff /-
 /-- An element of a ring is algebraic over the ring `A` iff it is algebraic
 over the field of fractions of `A`.
 -/
@@ -179,15 +192,18 @@ theorem isAlgebraic_iff [Algebra A C] [Algebra K C] [IsScalarTower A K C] {x : C
       ⟨integer_normalization _ p, mt integer_normalization_eq_zero_iff.mp hp,
         integer_normalization_aeval_eq_zero _ p px⟩
 #align is_fraction_ring.is_algebraic_iff IsFractionRing.isAlgebraic_iff
+-/
 
 variable {A K C}
 
+#print IsFractionRing.comap_isAlgebraic_iff /-
 /-- A ring is algebraic over the ring `A` iff it is algebraic over the field of fractions of `A`.
 -/
 theorem comap_isAlgebraic_iff [Algebra A C] [Algebra K C] [IsScalarTower A K C] :
     Algebra.IsAlgebraic A C ↔ Algebra.IsAlgebraic K C :=
   ⟨fun h x => (isAlgebraic_iff A K C).mp (h x), fun h x => (isAlgebraic_iff A K C).mpr (h x)⟩
 #align is_fraction_ring.comap_is_algebraic_iff IsFractionRing.comap_isAlgebraic_iff
+-/
 
 end IsFractionRing
 
@@ -205,6 +221,7 @@ variable {S M}
 
 open Polynomial
 
+#print RingHom.isIntegralElem_localization_at_leadingCoeff /-
 theorem RingHom.isIntegralElem_localization_at_leadingCoeff {R S : Type _} [CommRing R] [CommRing S]
     (f : R →+* S) (x : S) (p : R[X]) (hf : p.eval₂ f x = 0) (M : Submonoid R)
     (hM : p.leadingCoeff ∈ M) {Rₘ Sₘ : Type _} [CommRing Rₘ] [CommRing Sₘ] [Algebra R Rₘ]
@@ -223,7 +240,9 @@ theorem RingHom.isIntegralElem_localization_at_leadingCoeff {R S : Type _} [Comm
     erw [eval₂_map, IsLocalization.map_comp, ← hom_eval₂ _ f (algebraMap S Sₘ) x]
     exact trans (congr_arg (algebraMap S Sₘ) hf) (RingHom.map_zero _)
 #align ring_hom.is_integral_elem_localization_at_leading_coeff RingHom.isIntegralElem_localization_at_leadingCoeff
+-/
 
+#print is_integral_localization_at_leadingCoeff /-
 /-- Given a particular witness to an element being algebraic over an algebra `R → S`,
 We can localize to a submonoid containing the leading coefficient to make it integral.
 Explicitly, the map between the localizations will be an integral ring morphism -/
@@ -235,7 +254,9 @@ theorem is_integral_localization_at_leadingCoeff {x : S} (p : R[X]) (hp : aeval
       (algebraMap S Sₘ x) :=
   (algebraMap R S).isIntegralElem_localization_at_leadingCoeff x p hp M hM
 #align is_integral_localization_at_leading_coeff is_integral_localization_at_leadingCoeff
+-/
 
+#print isIntegral_localization /-
 /-- If `R → S` is an integral extension, `M` is a submonoid of `R`,
 `Rₘ` is the localization of `R` at `M`,
 and `Sₘ` is the localization of `S` at the image of `M` under the extension map,
@@ -259,7 +280,9 @@ theorem isIntegral_localization (H : Algebra.IsIntegral R S) :
   · obtain ⟨p, hp⟩ := H s
     exact hx.symm ▸ is_integral_localization_at_leadingCoeff p hp.2 (hp.1.symm ▸ M.one_mem)
 #align is_integral_localization isIntegral_localization
+-/
 
+#print isIntegral_localization' /-
 theorem isIntegral_localization' {R S : Type _} [CommRing R] [CommRing S] {f : R →+* S}
     (hf : f.IsIntegral) (M : Submonoid R) :
     (map (Localization (M.map (f : R →* S))) f
@@ -267,9 +290,11 @@ theorem isIntegral_localization' {R S : Type _} [CommRing R] [CommRing S] {f : R
         Localization M →+* _).IsIntegral :=
   @isIntegral_localization R _ M S _ f.toAlgebra _ _ _ _ _ _ _ _ hf
 #align is_integral_localization' isIntegral_localization'
+-/
 
 variable (M)
 
+#print IsLocalization.scaleRoots_commonDenom_mem_lifts /-
 theorem IsLocalization.scaleRoots_commonDenom_mem_lifts (p : Rₘ[X])
     (hp : p.leadingCoeff ∈ (algebraMap R Rₘ).range) :
     p.scaleRoots (algebraMap R Rₘ <| IsLocalization.commonDenom M p.support p.coeff) ∈
@@ -293,7 +318,9 @@ theorem IsLocalization.scaleRoots_commonDenom_mem_lifts (p : Rₘ[X])
     rw [h₁, MulZeroClass.zero_mul]
     exact zero_mem (algebraMap R Rₘ).range
 #align is_localization.scale_roots_common_denom_mem_lifts IsLocalization.scaleRoots_commonDenom_mem_lifts
+-/
 
+#print IsIntegral.exists_multiple_integral_of_isLocalization /-
 theorem IsIntegral.exists_multiple_integral_of_isLocalization [Algebra Rₘ S] [IsScalarTower R Rₘ S]
     (x : S) (hx : IsIntegral Rₘ x) : ∃ m : M, IsIntegral R (m • x) :=
   by
@@ -310,6 +337,7 @@ theorem IsIntegral.exists_multiple_integral_of_isLocalization [Algebra Rₘ S] [
   · rw [hp₁.leading_coeff]; exact one_mem _
   · rwa [Polynomial.monic_scaleRoots_iff]
 #align is_integral.exists_multiple_integral_of_is_localization IsIntegral.exists_multiple_integral_of_isLocalization
+-/
 
 end IsIntegral
 
@@ -325,6 +353,7 @@ variable [Algebra A C] [IsScalarTower A C L]
 
 open Algebra
 
+#print IsIntegralClosure.isFractionRing_of_algebraic /-
 /-- If the field `L` is an algebraic extension of the integral domain `A`,
 the integral closure `C` of `A` in `L` has fraction field `L`. -/
 theorem isFractionRing_of_algebraic (alg : IsAlgebraic A L)
@@ -344,9 +373,11 @@ theorem isFractionRing_of_algebraic (alg : IsAlgebraic A L)
       ⟨fun h => ⟨1, by simpa using algebra_map_injective C A L h⟩, fun ⟨c, hc⟩ =>
         congr_arg (algebraMap _ L) (mul_left_cancel₀ (mem_nonZeroDivisors_iff_ne_zero.mp c.2) hc)⟩ }
 #align is_integral_closure.is_fraction_ring_of_algebraic IsIntegralClosure.isFractionRing_of_algebraic
+-/
 
 variable (K L)
 
+#print IsIntegralClosure.isFractionRing_of_finite_extension /-
 /-- If the field `L` is a finite extension of the fraction field of the integral domain `A`,
 the integral closure `C` of `A` in `L` has fraction field `L`. -/
 theorem isFractionRing_of_finite_extension [Algebra K L] [IsScalarTower A K L]
@@ -356,6 +387,7 @@ theorem isFractionRing_of_finite_extension [Algebra K L] [IsScalarTower A K L]
     IsFractionRing.to_map_eq_zero_iff.mp
       ((map_eq_zero <| algebraMap K L).mp <| (IsScalarTower.algebraMap_apply _ _ _ _).symm.trans hx)
 #align is_integral_closure.is_fraction_ring_of_finite_extension IsIntegralClosure.isFractionRing_of_finite_extension
+-/
 
 end IsIntegralClosure
 
@@ -365,21 +397,25 @@ variable {L : Type _} [Field K] [Field L] [Algebra A K] [IsFractionRing A K]
 
 open Algebra
 
+#print integralClosure.isFractionRing_of_algebraic /-
 /-- If the field `L` is an algebraic extension of the integral domain `A`,
 the integral closure of `A` in `L` has fraction field `L`. -/
 theorem isFractionRing_of_algebraic [Algebra A L] (alg : IsAlgebraic A L)
     (inj : ∀ x, algebraMap A L x = 0 → x = 0) : IsFractionRing (integralClosure A L) L :=
   IsIntegralClosure.isFractionRing_of_algebraic A (integralClosure A L) alg inj
 #align integral_closure.is_fraction_ring_of_algebraic integralClosure.isFractionRing_of_algebraic
+-/
 
 variable (K L)
 
+#print integralClosure.isFractionRing_of_finite_extension /-
 /-- If the field `L` is a finite extension of the fraction field of the integral domain `A`,
 the integral closure of `A` in `L` has fraction field `L`. -/
 theorem isFractionRing_of_finite_extension [Algebra A L] [Algebra K L] [IsScalarTower A K L]
     [FiniteDimensional K L] : IsFractionRing (integralClosure A L) L :=
   IsIntegralClosure.isFractionRing_of_finite_extension A K L (integralClosure A L)
 #align integral_closure.is_fraction_ring_of_finite_extension integralClosure.isFractionRing_of_finite_extension
+-/
 
 end integralClosure
 
@@ -387,6 +423,7 @@ namespace IsFractionRing
 
 variable (R S K)
 
+#print IsFractionRing.isAlgebraic_iff' /-
 /-- `S` is algebraic over `R` iff a fraction ring of `S` is algebraic over `R` -/
 theorem isAlgebraic_iff' [Field K] [IsDomain R] [IsDomain S] [Algebra R K] [Algebra S K]
     [NoZeroSMulDivisors R K] [IsFractionRing S K] [IsScalarTower R S K] :
@@ -431,11 +468,13 @@ theorem isAlgebraic_iff' [Field K] [IsDomain R] [IsDomain S] [Algebra R K] [Alge
       (injective_iff_map_eq_zero (algebraMap S K)).1 (NoZeroSMulDivisors.algebraMap_injective _ _) _
         hf₂
 #align is_fraction_ring.is_algebraic_iff' IsFractionRing.isAlgebraic_iff'
+-/
 
 open scoped nonZeroDivisors
 
 variable (R) {S K}
 
+#print IsFractionRing.ideal_span_singleton_map_subset /-
 /-- If the `S`-multiples of `a` are contained in some `R`-span, then `Frac(S)`-multiples of `a`
 are contained in the equivalent `Frac(R)`-span. -/
 theorem ideal_span_singleton_map_subset {L : Type _} [IsDomain R] [IsDomain S] [Field K] [Field L]
@@ -471,6 +510,7 @@ theorem ideal_span_singleton_map_subset {L : Type _} [IsDomain R] [IsDomain S] [
   rw [Submodule.span_algebraMap_image_of_tower]
   exact Submodule.mem_map_of_mem (h (ideal.mem_span_singleton.mpr ⟨y, rfl⟩))
 #align is_fraction_ring.ideal_span_singleton_map_subset IsFractionRing.ideal_span_singleton_map_subset
+-/
 
 end IsFractionRing
 
Diff
@@ -104,7 +104,7 @@ theorem integerNormalization_spec (p : S[X]) :
       Classical.choose_spec
         (Classical.choose_spec (exist_integer_multiples_of_finset M (p.support.image p.coeff))
           (p.coeff i) (finset.mem_image.mpr ⟨i, hi, rfl⟩))
-  · convert(smul_zero _).symm
+  · convert (smul_zero _).symm
     · apply RingHom.map_zero
     · exact not_mem_support_iff.mp hi
 #align is_localization.integer_normalization_spec IsLocalization.integerNormalization_spec
Diff
@@ -153,7 +153,7 @@ theorem integerNormalization_eq_zero_iff {p : K[X]} :
     apply smul_zero
     assumption
   · have hi := h i
-    rw [Polynomial.coeff_zero, ← @to_map_eq_zero_iff A _ K, hb i, Algebra.smul_def] at hi
+    rw [Polynomial.coeff_zero, ← @to_map_eq_zero_iff A _ K, hb i, Algebra.smul_def] at hi 
     apply Or.resolve_left (eq_zero_or_eq_zero_of_mul_eq_zero hi)
     intro h
     apply mem_non_zero_divisors_iff_ne_zero.mp nonzero
@@ -253,8 +253,8 @@ theorem isIntegral_localization (H : Algebra.IsIntegral R S) :
     @isIntegral_of_isIntegral_mul_unit Rₘ _ _ _ (localizationAlgebra M S) x (algebraMap S Sₘ u) v' _
       _
   · replace hv' := congr_arg (@algebraMap Rₘ Sₘ _ _ (localizationAlgebra M S)) hv'
-    rw [RingHom.map_mul, RingHom.map_one, ← RingHom.comp_apply _ (algebraMap R Rₘ)] at hv'
-    erw [IsLocalization.map_comp] at hv'
+    rw [RingHom.map_mul, RingHom.map_one, ← RingHom.comp_apply _ (algebraMap R Rₘ)] at hv' 
+    erw [IsLocalization.map_comp] at hv' 
     exact hv.2 ▸ hv'
   · obtain ⟨p, hp⟩ := H s
     exact hx.symm ▸ is_integral_localization_at_leadingCoeff p hp.2 (hp.1.symm ▸ M.one_mem)
@@ -289,7 +289,7 @@ theorem IsLocalization.scaleRoots_commonDenom_mem_lifts (p : Rₘ[X])
     · exact RingHom.mem_range_self _ _
     · rw [← Algebra.smul_def]
       exact ⟨_, IsLocalization.map_integerMultiple M p.support p.coeff ⟨n, h₁⟩⟩
-  · rw [Polynomial.not_mem_support_iff] at h₁
+  · rw [Polynomial.not_mem_support_iff] at h₁ 
     rw [h₁, MulZeroClass.zero_mul]
     exact zero_mem (algebraMap R Rₘ).range
 #align is_localization.scale_roots_common_denom_mem_lifts IsLocalization.scaleRoots_commonDenom_mem_lifts
@@ -426,7 +426,7 @@ theorem isAlgebraic_iff' [Field K] [IsDomain R] [IsDomain S] [Algebra R K] [Alge
   · intro h x
     obtain ⟨f, hf₁, hf₂⟩ := h (algebraMap S K x)
     use f, hf₁
-    rw [Polynomial.aeval_algebraMap_apply] at hf₂
+    rw [Polynomial.aeval_algebraMap_apply] at hf₂ 
     exact
       (injective_iff_map_eq_zero (algebraMap S K)).1 (NoZeroSMulDivisors.algebraMap_injective _ _) _
         hf₂
@@ -460,7 +460,7 @@ theorem ideal_span_singleton_map_subset {L : Type _} [IsDomain R] [IsDomain S] [
   have mk_yz_eq : IsLocalization.mk' L y' z' = IsLocalization.mk' L y ⟨_, hz0'⟩ :=
     by
     rw [Algebra.smul_def, mul_comm _ y, mul_comm _ y', ← SetLike.coe_mk (algebraMap R S z) hz0'] at
-      yz_eq
+      yz_eq 
     exact IsLocalization.mk'_eq_of_eq (by rw [mul_comm _ y, mul_comm _ y', yz_eq])
   suffices hy : algebraMap S L (a * y) ∈ Submodule.span K (⇑(algebraMap S L) '' b)
   · rw [mk_yz_eq, IsFractionRing.mk'_eq_div, SetLike.coe_mk, ← IsScalarTower.algebraMap_apply,
Diff
@@ -339,7 +339,7 @@ theorem isFractionRing_of_algebraic (alg : IsAlgebraic A L)
       ⟨⟨mk' C (x : L) x.2, algebraMap _ _ y,
           mem_nonZeroDivisors_iff_ne_zero.mpr fun h =>
             hy (inj _ (by rw [IsScalarTower.algebraMap_apply A C L, h, RingHom.map_zero]))⟩,
-        by rw [[anonymous], algebra_map_mk', ← IsScalarTower.algebraMap_apply A C L, hxy]⟩
+        by rw [SetLike.coe_mk, algebra_map_mk', ← IsScalarTower.algebraMap_apply A C L, hxy]⟩
     eq_iff_exists := fun x y =>
       ⟨fun h => ⟨1, by simpa using algebra_map_injective C A L h⟩, fun ⟨c, hc⟩ =>
         congr_arg (algebraMap _ L) (mul_left_cancel₀ (mem_nonZeroDivisors_iff_ne_zero.mp c.2) hc)⟩ }
@@ -459,11 +459,11 @@ theorem ideal_span_singleton_map_subset {L : Type _} [IsDomain R] [IsDomain S] [
     map_mem_nonZeroDivisors (algebraMap R S) injRS (mem_nonZeroDivisors_of_ne_zero hz0)
   have mk_yz_eq : IsLocalization.mk' L y' z' = IsLocalization.mk' L y ⟨_, hz0'⟩ :=
     by
-    rw [Algebra.smul_def, mul_comm _ y, mul_comm _ y', ← [anonymous] (algebraMap R S z) hz0'] at
+    rw [Algebra.smul_def, mul_comm _ y, mul_comm _ y', ← SetLike.coe_mk (algebraMap R S z) hz0'] at
       yz_eq
     exact IsLocalization.mk'_eq_of_eq (by rw [mul_comm _ y, mul_comm _ y', yz_eq])
   suffices hy : algebraMap S L (a * y) ∈ Submodule.span K (⇑(algebraMap S L) '' b)
-  · rw [mk_yz_eq, IsFractionRing.mk'_eq_div, [anonymous], ← IsScalarTower.algebraMap_apply,
+  · rw [mk_yz_eq, IsFractionRing.mk'_eq_div, SetLike.coe_mk, ← IsScalarTower.algebraMap_apply,
       IsScalarTower.algebraMap_apply R K L, div_eq_mul_inv, ← mul_assoc, mul_comm, ← map_inv₀, ←
       Algebra.smul_def, ← _root_.map_mul]
     exact (Submodule.span K _).smul_mem _ hy
Diff
@@ -38,7 +38,7 @@ variable {R : Type _} [CommRing R] (M : Submonoid R) {S : Type _} [CommRing S]
 
 variable [Algebra R S] {P : Type _} [CommRing P]
 
-open BigOperators Polynomial
+open scoped BigOperators Polynomial
 
 namespace IsLocalization
 
@@ -48,7 +48,7 @@ open Polynomial
 
 variable (M) {S} [IsLocalization M S]
 
-open Classical
+open scoped Classical
 
 #print IsLocalization.coeffIntegerNormalization /-
 /-- `coeff_integer_normalization p` gives the coefficients of the polynomial
@@ -432,7 +432,7 @@ theorem isAlgebraic_iff' [Field K] [IsDomain R] [IsDomain S] [Algebra R K] [Alge
         hf₂
 #align is_fraction_ring.is_algebraic_iff' IsFractionRing.isAlgebraic_iff'
 
-open nonZeroDivisors
+open scoped nonZeroDivisors
 
 variable (R) {S K}
 
Diff
@@ -62,24 +62,12 @@ noncomputable def coeffIntegerNormalization (p : S[X]) (i : ℕ) : R :=
 #align is_localization.coeff_integer_normalization IsLocalization.coeffIntegerNormalization
 -/
 
-/- warning: is_localization.coeff_integer_normalization_of_not_mem_support -> IsLocalization.coeffIntegerNormalization_of_not_mem_support is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] (M : Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) {S : Type.{u2}} [_inst_2 : CommRing.{u2} S] [_inst_3 : Algebra.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))] [_inst_5 : IsLocalization.{u1, u2} R (CommRing.toCommSemiring.{u1} R _inst_1) M S (CommRing.toCommSemiring.{u2} S _inst_2) _inst_3] (p : Polynomial.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))) (i : Nat), (Eq.{succ u2} S (Polynomial.coeff.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) p i) (OfNat.ofNat.{u2} S 0 (OfNat.mk.{u2} S 0 (Zero.zero.{u2} S (MulZeroClass.toHasZero.{u2} S (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))))))))) -> (Eq.{succ u1} R (IsLocalization.coeffIntegerNormalization.{u1, u2} R _inst_1 M S _inst_2 _inst_3 _inst_5 p i) (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))))))))
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] (M : Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) {S : Type.{u2}} [_inst_2 : CommRing.{u2} S] [_inst_3 : Algebra.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))] [_inst_5 : IsLocalization.{u1, u2} R (CommRing.toCommSemiring.{u1} R _inst_1) M S (CommRing.toCommSemiring.{u2} S _inst_2) _inst_3] (p : Polynomial.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (i : Nat), (Eq.{succ u2} S (Polynomial.coeff.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) p i) (OfNat.ofNat.{u2} S 0 (Zero.toOfNat0.{u2} S (CommMonoidWithZero.toZero.{u2} S (CommSemiring.toCommMonoidWithZero.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))))) -> (Eq.{succ u1} R (IsLocalization.coeffIntegerNormalization.{u1, u2} R _inst_1 M S _inst_2 _inst_3 _inst_5 p i) (OfNat.ofNat.{u1} R 0 (Zero.toOfNat0.{u1} R (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))
-Case conversion may be inaccurate. Consider using '#align is_localization.coeff_integer_normalization_of_not_mem_support IsLocalization.coeffIntegerNormalization_of_not_mem_supportₓ'. -/
 theorem coeffIntegerNormalization_of_not_mem_support (p : S[X]) (i : ℕ) (h : coeff p i = 0) :
     coeffIntegerNormalization M p i = 0 := by
   simp only [coeff_integer_normalization, h, mem_support_iff, eq_self_iff_true, not_true, Ne.def,
     dif_neg, not_false_iff]
 #align is_localization.coeff_integer_normalization_of_not_mem_support IsLocalization.coeffIntegerNormalization_of_not_mem_support
 
-/- warning: is_localization.coeff_integer_normalization_mem_support -> IsLocalization.coeffIntegerNormalization_mem_support is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] (M : Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) {S : Type.{u2}} [_inst_2 : CommRing.{u2} S] [_inst_3 : Algebra.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))] [_inst_5 : IsLocalization.{u1, u2} R (CommRing.toCommSemiring.{u1} R _inst_1) M S (CommRing.toCommSemiring.{u2} S _inst_2) _inst_3] (p : Polynomial.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))) (i : Nat), (Ne.{succ u1} R (IsLocalization.coeffIntegerNormalization.{u1, u2} R _inst_1 M S _inst_2 _inst_3 _inst_5 p i) (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))))))) -> (Membership.Mem.{0, 0} Nat (Finset.{0} Nat) (Finset.hasMem.{0} Nat) i (Polynomial.support.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) p))
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] (M : Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) {S : Type.{u2}} [_inst_2 : CommRing.{u2} S] [_inst_3 : Algebra.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))] [_inst_5 : IsLocalization.{u1, u2} R (CommRing.toCommSemiring.{u1} R _inst_1) M S (CommRing.toCommSemiring.{u2} S _inst_2) _inst_3] (p : Polynomial.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (i : Nat), (Ne.{succ u1} R (IsLocalization.coeffIntegerNormalization.{u1, u2} R _inst_1 M S _inst_2 _inst_3 _inst_5 p i) (OfNat.ofNat.{u1} R 0 (Zero.toOfNat0.{u1} R (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) -> (Membership.mem.{0, 0} Nat (Finset.{0} Nat) (Finset.instMembershipFinset.{0} Nat) i (Polynomial.support.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) p))
-Case conversion may be inaccurate. Consider using '#align is_localization.coeff_integer_normalization_mem_support IsLocalization.coeffIntegerNormalization_mem_supportₓ'. -/
 theorem coeffIntegerNormalization_mem_support (p : S[X]) (i : ℕ)
     (h : coeffIntegerNormalization M p i ≠ 0) : i ∈ p.support :=
   by
@@ -104,9 +92,6 @@ theorem integerNormalization_coeff (p : S[X]) (i : ℕ) :
 #align is_localization.integer_normalization_coeff IsLocalization.integerNormalization_coeff
 -/
 
-/- warning: is_localization.integer_normalization_spec -> IsLocalization.integerNormalization_spec is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align is_localization.integer_normalization_spec IsLocalization.integerNormalization_specₓ'. -/
 theorem integerNormalization_spec (p : S[X]) :
     ∃ b : M, ∀ i, algebraMap R S ((integerNormalization M p).coeff i) = (b : R) • p.coeff i :=
   by
@@ -124,9 +109,6 @@ theorem integerNormalization_spec (p : S[X]) :
     · exact not_mem_support_iff.mp hi
 #align is_localization.integer_normalization_spec IsLocalization.integerNormalization_spec
 
-/- warning: is_localization.integer_normalization_map_to_map -> IsLocalization.integerNormalization_map_to_map is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align is_localization.integer_normalization_map_to_map IsLocalization.integerNormalization_map_to_mapₓ'. -/
 theorem integerNormalization_map_to_map (p : S[X]) :
     ∃ b : M, (integerNormalization M p).map (algebraMap R S) = (b : R) • p :=
   let ⟨b, hb⟩ := integerNormalization_spec M p
@@ -135,12 +117,6 @@ theorem integerNormalization_map_to_map (p : S[X]) :
 
 variable {R' : Type _} [CommRing R']
 
-/- warning: is_localization.integer_normalization_eval₂_eq_zero -> IsLocalization.integerNormalization_eval₂_eq_zero is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] (M : Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) {S : Type.{u2}} [_inst_2 : CommRing.{u2} S] [_inst_3 : Algebra.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))] [_inst_5 : IsLocalization.{u1, u2} R (CommRing.toCommSemiring.{u1} R _inst_1) M S (CommRing.toCommSemiring.{u2} S _inst_2) _inst_3] {R' : Type.{u3}} [_inst_6 : CommRing.{u3} R'] (g : RingHom.{u2, u3} S R' (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2))) (NonAssocRing.toNonAssocSemiring.{u3} R' (Ring.toNonAssocRing.{u3} R' (CommRing.toRing.{u3} R' _inst_6)))) (p : Polynomial.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))) {x : R'}, (Eq.{succ u3} R' (Polynomial.eval₂.{u2, u3} S R' (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_6)) g x p) (OfNat.ofNat.{u3} R' 0 (OfNat.mk.{u3} R' 0 (Zero.zero.{u3} R' (MulZeroClass.toHasZero.{u3} R' (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R' (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R' (NonAssocRing.toNonUnitalNonAssocRing.{u3} R' (Ring.toNonAssocRing.{u3} R' (CommRing.toRing.{u3} R' _inst_6)))))))))) -> (Eq.{succ u3} R' (Polynomial.eval₂.{u1, u3} R R' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_6)) (RingHom.comp.{u1, u2, u3} R S R' (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2))) (NonAssocRing.toNonAssocSemiring.{u3} R' (Ring.toNonAssocRing.{u3} R' (CommRing.toRing.{u3} R' _inst_6))) g (algebraMap.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) _inst_3)) x (IsLocalization.integerNormalization.{u1, u2} R _inst_1 M S _inst_2 _inst_3 _inst_5 p)) (OfNat.ofNat.{u3} R' 0 (OfNat.mk.{u3} R' 0 (Zero.zero.{u3} R' (MulZeroClass.toHasZero.{u3} R' (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R' (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R' (NonAssocRing.toNonUnitalNonAssocRing.{u3} R' (Ring.toNonAssocRing.{u3} R' (CommRing.toRing.{u3} R' _inst_6))))))))))
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] (M : Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) {S : Type.{u3}} [_inst_2 : CommRing.{u3} S] [_inst_3 : Algebra.{u1, u3} R S (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))] [_inst_5 : IsLocalization.{u1, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M S (CommRing.toCommSemiring.{u3} S _inst_2) _inst_3] {R' : Type.{u2}} [_inst_6 : CommRing.{u2} R'] (g : RingHom.{u3, u2} S R' (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_6)))) (p : Polynomial.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) {x : R'}, (Eq.{succ u2} R' (Polynomial.eval₂.{u3, u2} S R' (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_6)) g x p) (OfNat.ofNat.{u2} R' 0 (Zero.toOfNat0.{u2} R' (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_6)))))) -> (Eq.{succ u2} R' (Polynomial.eval₂.{u1, u2} R R' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_6)) (RingHom.comp.{u1, u3, u2} R S R' (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_6))) g (algebraMap.{u1, u3} R S (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_3)) x (IsLocalization.integerNormalization.{u1, u3} R _inst_1 M S _inst_2 _inst_3 _inst_5 p)) (OfNat.ofNat.{u2} R' 0 (Zero.toOfNat0.{u2} R' (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_6))))))
-Case conversion may be inaccurate. Consider using '#align is_localization.integer_normalization_eval₂_eq_zero IsLocalization.integerNormalization_eval₂_eq_zeroₓ'. -/
 theorem integerNormalization_eval₂_eq_zero (g : S →+* R') (p : S[X]) {x : R'}
     (hx : eval₂ g x p = 0) : eval₂ (g.comp (algebraMap R S)) x (integerNormalization M p) = 0 :=
   let ⟨b, hb⟩ := integerNormalization_map_to_map M p
@@ -148,9 +124,6 @@ theorem integerNormalization_eval₂_eq_zero (g : S →+* R') (p : S[X]) {x : R'
     (by rw [hb, ← IsScalarTower.algebraMap_smul S (b : R) p, eval₂_smul, hx, MulZeroClass.mul_zero])
 #align is_localization.integer_normalization_eval₂_eq_zero IsLocalization.integerNormalization_eval₂_eq_zero
 
-/- warning: is_localization.integer_normalization_aeval_eq_zero -> IsLocalization.integerNormalization_aeval_eq_zero is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align is_localization.integer_normalization_aeval_eq_zero IsLocalization.integerNormalization_aeval_eq_zeroₓ'. -/
 theorem integerNormalization_aeval_eq_zero [Algebra R R'] [Algebra S R'] [IsScalarTower R S R']
     (p : S[X]) {x : R'} (hx : aeval x p = 0) : aeval x (integerNormalization M p) = 0 := by
   rw [aeval_def, IsScalarTower.algebraMap_eq R S R', integer_normalization_eval₂_eq_zero _ _ _ hx]
@@ -190,12 +163,6 @@ theorem integerNormalization_eq_zero_iff {p : K[X]} :
 
 variable (A K C)
 
-/- warning: is_fraction_ring.is_algebraic_iff -> IsFractionRing.isAlgebraic_iff is a dubious translation:
-lean 3 declaration is
-  forall (A : Type.{u1}) (K : Type.{u2}) (C : Type.{u3}) [_inst_5 : CommRing.{u1} A] [_inst_6 : IsDomain.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_5))] [_inst_7 : Field.{u2} K] [_inst_8 : Algebra.{u1, u2} A K (CommRing.toCommSemiring.{u1} A _inst_5) (Ring.toSemiring.{u2} K (DivisionRing.toRing.{u2} K (Field.toDivisionRing.{u2} K _inst_7)))] [_inst_9 : IsFractionRing.{u1, u2} A _inst_5 K (EuclideanDomain.toCommRing.{u2} K (Field.toEuclideanDomain.{u2} K _inst_7)) _inst_8] [_inst_10 : CommRing.{u3} C] [_inst_11 : Algebra.{u1, u3} A C (CommRing.toCommSemiring.{u1} A _inst_5) (Ring.toSemiring.{u3} C (CommRing.toRing.{u3} C _inst_10))] [_inst_12 : Algebra.{u2, u3} K C (Semifield.toCommSemiring.{u2} K (Field.toSemifield.{u2} K _inst_7)) (Ring.toSemiring.{u3} C (CommRing.toRing.{u3} C _inst_10))] [_inst_13 : IsScalarTower.{u1, u2, u3} A K C (SMulZeroClass.toHasSmul.{u1, u2} A K (AddZeroClass.toHasZero.{u2} K (AddMonoid.toAddZeroClass.{u2} K (AddCommMonoid.toAddMonoid.{u2} K (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} K (Semiring.toNonAssocSemiring.{u2} K (Ring.toSemiring.{u2} K (DivisionRing.toRing.{u2} K (Field.toDivisionRing.{u2} K _inst_7))))))))) (SMulWithZero.toSmulZeroClass.{u1, u2} A K (MulZeroClass.toHasZero.{u1} A (MulZeroOneClass.toMulZeroClass.{u1} A (MonoidWithZero.toMulZeroOneClass.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_5)))))) (AddZeroClass.toHasZero.{u2} K (AddMonoid.toAddZeroClass.{u2} K (AddCommMonoid.toAddMonoid.{u2} K (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} K (Semiring.toNonAssocSemiring.{u2} K (Ring.toSemiring.{u2} K (DivisionRing.toRing.{u2} K (Field.toDivisionRing.{u2} K _inst_7))))))))) (MulActionWithZero.toSMulWithZero.{u1, u2} A K (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_5))) (AddZeroClass.toHasZero.{u2} K (AddMonoid.toAddZeroClass.{u2} K (AddCommMonoid.toAddMonoid.{u2} K (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} K (Semiring.toNonAssocSemiring.{u2} K (Ring.toSemiring.{u2} K (DivisionRing.toRing.{u2} K (Field.toDivisionRing.{u2} K _inst_7))))))))) (Module.toMulActionWithZero.{u1, u2} A K (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_5)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} K (Semiring.toNonAssocSemiring.{u2} K (Ring.toSemiring.{u2} K (DivisionRing.toRing.{u2} K (Field.toDivisionRing.{u2} K _inst_7)))))) (Algebra.toModule.{u1, u2} A K (CommRing.toCommSemiring.{u1} A _inst_5) (Ring.toSemiring.{u2} K (DivisionRing.toRing.{u2} K (Field.toDivisionRing.{u2} K _inst_7))) _inst_8))))) (SMulZeroClass.toHasSmul.{u2, u3} K C (AddZeroClass.toHasZero.{u3} C (AddMonoid.toAddZeroClass.{u3} C (AddCommMonoid.toAddMonoid.{u3} C (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} C (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} C (Semiring.toNonAssocSemiring.{u3} C (Ring.toSemiring.{u3} C (CommRing.toRing.{u3} C _inst_10)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} K C (MulZeroClass.toHasZero.{u2} K (MulZeroOneClass.toMulZeroClass.{u2} K (MonoidWithZero.toMulZeroOneClass.{u2} K (Semiring.toMonoidWithZero.{u2} K (CommSemiring.toSemiring.{u2} K (Semifield.toCommSemiring.{u2} K (Field.toSemifield.{u2} K _inst_7))))))) (AddZeroClass.toHasZero.{u3} C (AddMonoid.toAddZeroClass.{u3} C (AddCommMonoid.toAddMonoid.{u3} C (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} C (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} C (Semiring.toNonAssocSemiring.{u3} C (Ring.toSemiring.{u3} C (CommRing.toRing.{u3} C _inst_10)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} K C (Semiring.toMonoidWithZero.{u2} K (CommSemiring.toSemiring.{u2} K (Semifield.toCommSemiring.{u2} K (Field.toSemifield.{u2} K _inst_7)))) (AddZeroClass.toHasZero.{u3} C (AddMonoid.toAddZeroClass.{u3} C (AddCommMonoid.toAddMonoid.{u3} C (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} C (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} C (Semiring.toNonAssocSemiring.{u3} C (Ring.toSemiring.{u3} C (CommRing.toRing.{u3} C _inst_10)))))))) (Module.toMulActionWithZero.{u2, u3} K C (CommSemiring.toSemiring.{u2} K (Semifield.toCommSemiring.{u2} K (Field.toSemifield.{u2} K _inst_7))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} C (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} C (Semiring.toNonAssocSemiring.{u3} C (Ring.toSemiring.{u3} C (CommRing.toRing.{u3} C _inst_10))))) (Algebra.toModule.{u2, u3} K C (Semifield.toCommSemiring.{u2} K (Field.toSemifield.{u2} K _inst_7)) (Ring.toSemiring.{u3} C (CommRing.toRing.{u3} C _inst_10)) _inst_12))))) (SMulZeroClass.toHasSmul.{u1, u3} A C (AddZeroClass.toHasZero.{u3} C (AddMonoid.toAddZeroClass.{u3} C (AddCommMonoid.toAddMonoid.{u3} C (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} C (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} C (Semiring.toNonAssocSemiring.{u3} C (Ring.toSemiring.{u3} C (CommRing.toRing.{u3} C _inst_10)))))))) (SMulWithZero.toSmulZeroClass.{u1, u3} A C (MulZeroClass.toHasZero.{u1} A (MulZeroOneClass.toMulZeroClass.{u1} A (MonoidWithZero.toMulZeroOneClass.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_5)))))) (AddZeroClass.toHasZero.{u3} C (AddMonoid.toAddZeroClass.{u3} C (AddCommMonoid.toAddMonoid.{u3} C (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} C (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} C (Semiring.toNonAssocSemiring.{u3} C (Ring.toSemiring.{u3} C (CommRing.toRing.{u3} C _inst_10)))))))) (MulActionWithZero.toSMulWithZero.{u1, u3} A C (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_5))) (AddZeroClass.toHasZero.{u3} C (AddMonoid.toAddZeroClass.{u3} C (AddCommMonoid.toAddMonoid.{u3} C (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} C (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} C (Semiring.toNonAssocSemiring.{u3} C (Ring.toSemiring.{u3} C (CommRing.toRing.{u3} C _inst_10)))))))) (Module.toMulActionWithZero.{u1, u3} A C (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_5)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} C (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} C (Semiring.toNonAssocSemiring.{u3} C (Ring.toSemiring.{u3} C (CommRing.toRing.{u3} C _inst_10))))) (Algebra.toModule.{u1, u3} A C (CommRing.toCommSemiring.{u1} A _inst_5) (Ring.toSemiring.{u3} C (CommRing.toRing.{u3} C _inst_10)) _inst_11)))))] {x : C}, Iff (IsAlgebraic.{u1, u3} A C _inst_5 (CommRing.toRing.{u3} C _inst_10) _inst_11 x) (IsAlgebraic.{u2, u3} K C (EuclideanDomain.toCommRing.{u2} K (Field.toEuclideanDomain.{u2} K _inst_7)) (CommRing.toRing.{u3} C _inst_10) _inst_12 x)
-but is expected to have type
-  forall (A : Type.{u3}) (K : Type.{u1}) (C : Type.{u2}) [_inst_5 : CommRing.{u3} A] [_inst_6 : IsDomain.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_5))] [_inst_7 : Field.{u1} K] [_inst_8 : Algebra.{u3, u1} A K (CommRing.toCommSemiring.{u3} A _inst_5) (DivisionSemiring.toSemiring.{u1} K (Semifield.toDivisionSemiring.{u1} K (Field.toSemifield.{u1} K _inst_7)))] [_inst_9 : IsFractionRing.{u3, u1} A _inst_5 K (EuclideanDomain.toCommRing.{u1} K (Field.toEuclideanDomain.{u1} K _inst_7)) _inst_8] [_inst_10 : CommRing.{u2} C] [_inst_11 : Algebra.{u3, u2} A C (CommRing.toCommSemiring.{u3} A _inst_5) (CommSemiring.toSemiring.{u2} C (CommRing.toCommSemiring.{u2} C _inst_10))] [_inst_12 : Algebra.{u1, u2} K C (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_7)) (CommSemiring.toSemiring.{u2} C (CommRing.toCommSemiring.{u2} C _inst_10))] [_inst_13 : IsScalarTower.{u3, u1, u2} A K C (Algebra.toSMul.{u3, u1} A K (CommRing.toCommSemiring.{u3} A _inst_5) (DivisionSemiring.toSemiring.{u1} K (Semifield.toDivisionSemiring.{u1} K (Field.toSemifield.{u1} K _inst_7))) _inst_8) (Algebra.toSMul.{u1, u2} K C (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_7)) (CommSemiring.toSemiring.{u2} C (CommRing.toCommSemiring.{u2} C _inst_10)) _inst_12) (Algebra.toSMul.{u3, u2} A C (CommRing.toCommSemiring.{u3} A _inst_5) (CommSemiring.toSemiring.{u2} C (CommRing.toCommSemiring.{u2} C _inst_10)) _inst_11)] {x : C}, Iff (IsAlgebraic.{u3, u2} A C _inst_5 (CommRing.toRing.{u2} C _inst_10) _inst_11 x) (IsAlgebraic.{u1, u2} K C (EuclideanDomain.toCommRing.{u1} K (Field.toEuclideanDomain.{u1} K _inst_7)) (CommRing.toRing.{u2} C _inst_10) _inst_12 x)
-Case conversion may be inaccurate. Consider using '#align is_fraction_ring.is_algebraic_iff IsFractionRing.isAlgebraic_iffₓ'. -/
 /-- An element of a ring is algebraic over the ring `A` iff it is algebraic
 over the field of fractions of `A`.
 -/
@@ -215,12 +182,6 @@ theorem isAlgebraic_iff [Algebra A C] [Algebra K C] [IsScalarTower A K C] {x : C
 
 variable {A K C}
 
-/- warning: is_fraction_ring.comap_is_algebraic_iff -> IsFractionRing.comap_isAlgebraic_iff is a dubious translation:
-lean 3 declaration is
-  forall {A : Type.{u1}} {K : Type.{u2}} {C : Type.{u3}} [_inst_5 : CommRing.{u1} A] [_inst_6 : IsDomain.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_5))] [_inst_7 : Field.{u2} K] [_inst_8 : Algebra.{u1, u2} A K (CommRing.toCommSemiring.{u1} A _inst_5) (Ring.toSemiring.{u2} K (DivisionRing.toRing.{u2} K (Field.toDivisionRing.{u2} K _inst_7)))] [_inst_9 : IsFractionRing.{u1, u2} A _inst_5 K (EuclideanDomain.toCommRing.{u2} K (Field.toEuclideanDomain.{u2} K _inst_7)) _inst_8] [_inst_10 : CommRing.{u3} C] [_inst_11 : Algebra.{u1, u3} A C (CommRing.toCommSemiring.{u1} A _inst_5) (Ring.toSemiring.{u3} C (CommRing.toRing.{u3} C _inst_10))] [_inst_12 : Algebra.{u2, u3} K C (Semifield.toCommSemiring.{u2} K (Field.toSemifield.{u2} K _inst_7)) (Ring.toSemiring.{u3} C (CommRing.toRing.{u3} C _inst_10))] [_inst_13 : IsScalarTower.{u1, u2, u3} A K C (SMulZeroClass.toHasSmul.{u1, u2} A K (AddZeroClass.toHasZero.{u2} K (AddMonoid.toAddZeroClass.{u2} K (AddCommMonoid.toAddMonoid.{u2} K (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} K (Semiring.toNonAssocSemiring.{u2} K (Ring.toSemiring.{u2} K (DivisionRing.toRing.{u2} K (Field.toDivisionRing.{u2} K _inst_7))))))))) (SMulWithZero.toSmulZeroClass.{u1, u2} A K (MulZeroClass.toHasZero.{u1} A (MulZeroOneClass.toMulZeroClass.{u1} A (MonoidWithZero.toMulZeroOneClass.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_5)))))) (AddZeroClass.toHasZero.{u2} K (AddMonoid.toAddZeroClass.{u2} K (AddCommMonoid.toAddMonoid.{u2} K (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} K (Semiring.toNonAssocSemiring.{u2} K (Ring.toSemiring.{u2} K (DivisionRing.toRing.{u2} K (Field.toDivisionRing.{u2} K _inst_7))))))))) (MulActionWithZero.toSMulWithZero.{u1, u2} A K (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_5))) (AddZeroClass.toHasZero.{u2} K (AddMonoid.toAddZeroClass.{u2} K (AddCommMonoid.toAddMonoid.{u2} K (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} K (Semiring.toNonAssocSemiring.{u2} K (Ring.toSemiring.{u2} K (DivisionRing.toRing.{u2} K (Field.toDivisionRing.{u2} K _inst_7))))))))) (Module.toMulActionWithZero.{u1, u2} A K (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_5)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} K (Semiring.toNonAssocSemiring.{u2} K (Ring.toSemiring.{u2} K (DivisionRing.toRing.{u2} K (Field.toDivisionRing.{u2} K _inst_7)))))) (Algebra.toModule.{u1, u2} A K (CommRing.toCommSemiring.{u1} A _inst_5) (Ring.toSemiring.{u2} K (DivisionRing.toRing.{u2} K (Field.toDivisionRing.{u2} K _inst_7))) _inst_8))))) (SMulZeroClass.toHasSmul.{u2, u3} K C (AddZeroClass.toHasZero.{u3} C (AddMonoid.toAddZeroClass.{u3} C (AddCommMonoid.toAddMonoid.{u3} C (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} C (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} C (Semiring.toNonAssocSemiring.{u3} C (Ring.toSemiring.{u3} C (CommRing.toRing.{u3} C _inst_10)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} K C (MulZeroClass.toHasZero.{u2} K (MulZeroOneClass.toMulZeroClass.{u2} K (MonoidWithZero.toMulZeroOneClass.{u2} K (Semiring.toMonoidWithZero.{u2} K (CommSemiring.toSemiring.{u2} K (Semifield.toCommSemiring.{u2} K (Field.toSemifield.{u2} K _inst_7))))))) (AddZeroClass.toHasZero.{u3} C (AddMonoid.toAddZeroClass.{u3} C (AddCommMonoid.toAddMonoid.{u3} C (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} C (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} C (Semiring.toNonAssocSemiring.{u3} C (Ring.toSemiring.{u3} C (CommRing.toRing.{u3} C _inst_10)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} K C (Semiring.toMonoidWithZero.{u2} K (CommSemiring.toSemiring.{u2} K (Semifield.toCommSemiring.{u2} K (Field.toSemifield.{u2} K _inst_7)))) (AddZeroClass.toHasZero.{u3} C (AddMonoid.toAddZeroClass.{u3} C (AddCommMonoid.toAddMonoid.{u3} C (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} C (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} C (Semiring.toNonAssocSemiring.{u3} C (Ring.toSemiring.{u3} C (CommRing.toRing.{u3} C _inst_10)))))))) (Module.toMulActionWithZero.{u2, u3} K C (CommSemiring.toSemiring.{u2} K (Semifield.toCommSemiring.{u2} K (Field.toSemifield.{u2} K _inst_7))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} C (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} C (Semiring.toNonAssocSemiring.{u3} C (Ring.toSemiring.{u3} C (CommRing.toRing.{u3} C _inst_10))))) (Algebra.toModule.{u2, u3} K C (Semifield.toCommSemiring.{u2} K (Field.toSemifield.{u2} K _inst_7)) (Ring.toSemiring.{u3} C (CommRing.toRing.{u3} C _inst_10)) _inst_12))))) (SMulZeroClass.toHasSmul.{u1, u3} A C (AddZeroClass.toHasZero.{u3} C (AddMonoid.toAddZeroClass.{u3} C (AddCommMonoid.toAddMonoid.{u3} C (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} C (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} C (Semiring.toNonAssocSemiring.{u3} C (Ring.toSemiring.{u3} C (CommRing.toRing.{u3} C _inst_10)))))))) (SMulWithZero.toSmulZeroClass.{u1, u3} A C (MulZeroClass.toHasZero.{u1} A (MulZeroOneClass.toMulZeroClass.{u1} A (MonoidWithZero.toMulZeroOneClass.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_5)))))) (AddZeroClass.toHasZero.{u3} C (AddMonoid.toAddZeroClass.{u3} C (AddCommMonoid.toAddMonoid.{u3} C (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} C (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} C (Semiring.toNonAssocSemiring.{u3} C (Ring.toSemiring.{u3} C (CommRing.toRing.{u3} C _inst_10)))))))) (MulActionWithZero.toSMulWithZero.{u1, u3} A C (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_5))) (AddZeroClass.toHasZero.{u3} C (AddMonoid.toAddZeroClass.{u3} C (AddCommMonoid.toAddMonoid.{u3} C (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} C (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} C (Semiring.toNonAssocSemiring.{u3} C (Ring.toSemiring.{u3} C (CommRing.toRing.{u3} C _inst_10)))))))) (Module.toMulActionWithZero.{u1, u3} A C (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_5)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} C (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} C (Semiring.toNonAssocSemiring.{u3} C (Ring.toSemiring.{u3} C (CommRing.toRing.{u3} C _inst_10))))) (Algebra.toModule.{u1, u3} A C (CommRing.toCommSemiring.{u1} A _inst_5) (Ring.toSemiring.{u3} C (CommRing.toRing.{u3} C _inst_10)) _inst_11)))))], Iff (Algebra.IsAlgebraic.{u1, u3} A C _inst_5 (CommRing.toRing.{u3} C _inst_10) _inst_11) (Algebra.IsAlgebraic.{u2, u3} K C (EuclideanDomain.toCommRing.{u2} K (Field.toEuclideanDomain.{u2} K _inst_7)) (CommRing.toRing.{u3} C _inst_10) _inst_12)
-but is expected to have type
-  forall {A : Type.{u3}} {K : Type.{u1}} {C : Type.{u2}} [_inst_5 : CommRing.{u3} A] [_inst_6 : IsDomain.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_5))] [_inst_7 : Field.{u1} K] [_inst_8 : Algebra.{u3, u1} A K (CommRing.toCommSemiring.{u3} A _inst_5) (DivisionSemiring.toSemiring.{u1} K (Semifield.toDivisionSemiring.{u1} K (Field.toSemifield.{u1} K _inst_7)))] [_inst_9 : IsFractionRing.{u3, u1} A _inst_5 K (EuclideanDomain.toCommRing.{u1} K (Field.toEuclideanDomain.{u1} K _inst_7)) _inst_8] [_inst_10 : CommRing.{u2} C] [_inst_11 : Algebra.{u3, u2} A C (CommRing.toCommSemiring.{u3} A _inst_5) (CommSemiring.toSemiring.{u2} C (CommRing.toCommSemiring.{u2} C _inst_10))] [_inst_12 : Algebra.{u1, u2} K C (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_7)) (CommSemiring.toSemiring.{u2} C (CommRing.toCommSemiring.{u2} C _inst_10))] [_inst_13 : IsScalarTower.{u3, u1, u2} A K C (Algebra.toSMul.{u3, u1} A K (CommRing.toCommSemiring.{u3} A _inst_5) (DivisionSemiring.toSemiring.{u1} K (Semifield.toDivisionSemiring.{u1} K (Field.toSemifield.{u1} K _inst_7))) _inst_8) (Algebra.toSMul.{u1, u2} K C (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_7)) (CommSemiring.toSemiring.{u2} C (CommRing.toCommSemiring.{u2} C _inst_10)) _inst_12) (Algebra.toSMul.{u3, u2} A C (CommRing.toCommSemiring.{u3} A _inst_5) (CommSemiring.toSemiring.{u2} C (CommRing.toCommSemiring.{u2} C _inst_10)) _inst_11)], Iff (Algebra.IsAlgebraic.{u3, u2} A C _inst_5 (CommRing.toRing.{u2} C _inst_10) _inst_11) (Algebra.IsAlgebraic.{u1, u2} K C (EuclideanDomain.toCommRing.{u1} K (Field.toEuclideanDomain.{u1} K _inst_7)) (CommRing.toRing.{u2} C _inst_10) _inst_12)
-Case conversion may be inaccurate. Consider using '#align is_fraction_ring.comap_is_algebraic_iff IsFractionRing.comap_isAlgebraic_iffₓ'. -/
 /-- A ring is algebraic over the ring `A` iff it is algebraic over the field of fractions of `A`.
 -/
 theorem comap_isAlgebraic_iff [Algebra A C] [Algebra K C] [IsScalarTower A K C] :
@@ -244,9 +205,6 @@ variable {S M}
 
 open Polynomial
 
-/- warning: ring_hom.is_integral_elem_localization_at_leading_coeff -> RingHom.isIntegralElem_localization_at_leadingCoeff is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align ring_hom.is_integral_elem_localization_at_leading_coeff RingHom.isIntegralElem_localization_at_leadingCoeffₓ'. -/
 theorem RingHom.isIntegralElem_localization_at_leadingCoeff {R S : Type _} [CommRing R] [CommRing S]
     (f : R →+* S) (x : S) (p : R[X]) (hf : p.eval₂ f x = 0) (M : Submonoid R)
     (hM : p.leadingCoeff ∈ M) {Rₘ Sₘ : Type _} [CommRing Rₘ] [CommRing Sₘ] [Algebra R Rₘ]
@@ -266,9 +224,6 @@ theorem RingHom.isIntegralElem_localization_at_leadingCoeff {R S : Type _} [Comm
     exact trans (congr_arg (algebraMap S Sₘ) hf) (RingHom.map_zero _)
 #align ring_hom.is_integral_elem_localization_at_leading_coeff RingHom.isIntegralElem_localization_at_leadingCoeff
 
-/- warning: is_integral_localization_at_leading_coeff -> is_integral_localization_at_leadingCoeff is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align is_integral_localization_at_leading_coeff is_integral_localization_at_leadingCoeffₓ'. -/
 /-- Given a particular witness to an element being algebraic over an algebra `R → S`,
 We can localize to a submonoid containing the leading coefficient to make it integral.
 Explicitly, the map between the localizations will be an integral ring morphism -/
@@ -281,9 +236,6 @@ theorem is_integral_localization_at_leadingCoeff {x : S} (p : R[X]) (hp : aeval
   (algebraMap R S).isIntegralElem_localization_at_leadingCoeff x p hp M hM
 #align is_integral_localization_at_leading_coeff is_integral_localization_at_leadingCoeff
 
-/- warning: is_integral_localization -> isIntegral_localization is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align is_integral_localization isIntegral_localizationₓ'. -/
 /-- If `R → S` is an integral extension, `M` is a submonoid of `R`,
 `Rₘ` is the localization of `R` at `M`,
 and `Sₘ` is the localization of `S` at the image of `M` under the extension map,
@@ -308,9 +260,6 @@ theorem isIntegral_localization (H : Algebra.IsIntegral R S) :
     exact hx.symm ▸ is_integral_localization_at_leadingCoeff p hp.2 (hp.1.symm ▸ M.one_mem)
 #align is_integral_localization isIntegral_localization
 
-/- warning: is_integral_localization' -> isIntegral_localization' is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align is_integral_localization' isIntegral_localization'ₓ'. -/
 theorem isIntegral_localization' {R S : Type _} [CommRing R] [CommRing S] {f : R →+* S}
     (hf : f.IsIntegral) (M : Submonoid R) :
     (map (Localization (M.map (f : R →* S))) f
@@ -321,9 +270,6 @@ theorem isIntegral_localization' {R S : Type _} [CommRing R] [CommRing S] {f : R
 
 variable (M)
 
-/- warning: is_localization.scale_roots_common_denom_mem_lifts -> IsLocalization.scaleRoots_commonDenom_mem_lifts is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align is_localization.scale_roots_common_denom_mem_lifts IsLocalization.scaleRoots_commonDenom_mem_liftsₓ'. -/
 theorem IsLocalization.scaleRoots_commonDenom_mem_lifts (p : Rₘ[X])
     (hp : p.leadingCoeff ∈ (algebraMap R Rₘ).range) :
     p.scaleRoots (algebraMap R Rₘ <| IsLocalization.commonDenom M p.support p.coeff) ∈
@@ -348,9 +294,6 @@ theorem IsLocalization.scaleRoots_commonDenom_mem_lifts (p : Rₘ[X])
     exact zero_mem (algebraMap R Rₘ).range
 #align is_localization.scale_roots_common_denom_mem_lifts IsLocalization.scaleRoots_commonDenom_mem_lifts
 
-/- warning: is_integral.exists_multiple_integral_of_is_localization -> IsIntegral.exists_multiple_integral_of_isLocalization is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align is_integral.exists_multiple_integral_of_is_localization IsIntegral.exists_multiple_integral_of_isLocalizationₓ'. -/
 theorem IsIntegral.exists_multiple_integral_of_isLocalization [Algebra Rₘ S] [IsScalarTower R Rₘ S]
     (x : S) (hx : IsIntegral Rₘ x) : ∃ m : M, IsIntegral R (m • x) :=
   by
@@ -382,9 +325,6 @@ variable [Algebra A C] [IsScalarTower A C L]
 
 open Algebra
 
-/- warning: is_integral_closure.is_fraction_ring_of_algebraic -> IsIntegralClosure.isFractionRing_of_algebraic is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align is_integral_closure.is_fraction_ring_of_algebraic IsIntegralClosure.isFractionRing_of_algebraicₓ'. -/
 /-- If the field `L` is an algebraic extension of the integral domain `A`,
 the integral closure `C` of `A` in `L` has fraction field `L`. -/
 theorem isFractionRing_of_algebraic (alg : IsAlgebraic A L)
@@ -407,9 +347,6 @@ theorem isFractionRing_of_algebraic (alg : IsAlgebraic A L)
 
 variable (K L)
 
-/- warning: is_integral_closure.is_fraction_ring_of_finite_extension -> IsIntegralClosure.isFractionRing_of_finite_extension is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align is_integral_closure.is_fraction_ring_of_finite_extension IsIntegralClosure.isFractionRing_of_finite_extensionₓ'. -/
 /-- If the field `L` is a finite extension of the fraction field of the integral domain `A`,
 the integral closure `C` of `A` in `L` has fraction field `L`. -/
 theorem isFractionRing_of_finite_extension [Algebra K L] [IsScalarTower A K L]
@@ -428,9 +365,6 @@ variable {L : Type _} [Field K] [Field L] [Algebra A K] [IsFractionRing A K]
 
 open Algebra
 
-/- warning: integral_closure.is_fraction_ring_of_algebraic -> integralClosure.isFractionRing_of_algebraic is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align integral_closure.is_fraction_ring_of_algebraic integralClosure.isFractionRing_of_algebraicₓ'. -/
 /-- If the field `L` is an algebraic extension of the integral domain `A`,
 the integral closure of `A` in `L` has fraction field `L`. -/
 theorem isFractionRing_of_algebraic [Algebra A L] (alg : IsAlgebraic A L)
@@ -440,9 +374,6 @@ theorem isFractionRing_of_algebraic [Algebra A L] (alg : IsAlgebraic A L)
 
 variable (K L)
 
-/- warning: integral_closure.is_fraction_ring_of_finite_extension -> integralClosure.isFractionRing_of_finite_extension is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align integral_closure.is_fraction_ring_of_finite_extension integralClosure.isFractionRing_of_finite_extensionₓ'. -/
 /-- If the field `L` is a finite extension of the fraction field of the integral domain `A`,
 the integral closure of `A` in `L` has fraction field `L`. -/
 theorem isFractionRing_of_finite_extension [Algebra A L] [Algebra K L] [IsScalarTower A K L]
@@ -456,9 +387,6 @@ namespace IsFractionRing
 
 variable (R S K)
 
-/- warning: is_fraction_ring.is_algebraic_iff' -> IsFractionRing.isAlgebraic_iff' is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align is_fraction_ring.is_algebraic_iff' IsFractionRing.isAlgebraic_iff'ₓ'. -/
 /-- `S` is algebraic over `R` iff a fraction ring of `S` is algebraic over `R` -/
 theorem isAlgebraic_iff' [Field K] [IsDomain R] [IsDomain S] [Algebra R K] [Algebra S K]
     [NoZeroSMulDivisors R K] [IsFractionRing S K] [IsScalarTower R S K] :
@@ -508,9 +436,6 @@ open nonZeroDivisors
 
 variable (R) {S K}
 
-/- warning: is_fraction_ring.ideal_span_singleton_map_subset -> IsFractionRing.ideal_span_singleton_map_subset is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align is_fraction_ring.ideal_span_singleton_map_subset IsFractionRing.ideal_span_singleton_map_subsetₓ'. -/
 /-- If the `S`-multiples of `a` are contained in some `R`-span, then `Frac(S)`-multiples of `a`
 are contained in the equivalent `Frac(R)`-span. -/
 theorem ideal_span_singleton_map_subset {L : Type _} [IsDomain R] [IsDomain S] [Field K] [Field L]
Diff
@@ -130,10 +130,7 @@ Case conversion may be inaccurate. Consider using '#align is_localization.intege
 theorem integerNormalization_map_to_map (p : S[X]) :
     ∃ b : M, (integerNormalization M p).map (algebraMap R S) = (b : R) • p :=
   let ⟨b, hb⟩ := integerNormalization_spec M p
-  ⟨b,
-    Polynomial.ext fun i => by
-      rw [coeff_map, coeff_smul]
-      exact hb i⟩
+  ⟨b, Polynomial.ext fun i => by rw [coeff_map, coeff_smul]; exact hb i⟩
 #align is_localization.integer_normalization_map_to_map IsLocalization.integerNormalization_map_to_map
 
 variable {R' : Type _} [CommRing R']
@@ -367,8 +364,7 @@ theorem IsIntegral.exists_multiple_integral_of_isLocalization [Algebra Rₘ S] [
     rw [IsScalarTower.algebraMap_eq R Rₘ S, ← Polynomial.eval₂_map, hp'₁, Submonoid.smul_def,
       Algebra.smul_def, IsScalarTower.algebraMap_apply R Rₘ S]
     exact Polynomial.scaleRoots_eval₂_eq_zero _ hp₂
-  · rw [hp₁.leading_coeff]
-    exact one_mem _
+  · rw [hp₁.leading_coeff]; exact one_mem _
   · rwa [Polynomial.monic_scaleRoots_iff]
 #align is_integral.exists_multiple_integral_of_is_localization IsIntegral.exists_multiple_integral_of_isLocalization
 
Diff
@@ -105,10 +105,7 @@ theorem integerNormalization_coeff (p : S[X]) (i : ℕ) :
 -/
 
 /- warning: is_localization.integer_normalization_spec -> IsLocalization.integerNormalization_spec is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] (M : Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) {S : Type.{u2}} [_inst_2 : CommRing.{u2} S] [_inst_3 : Algebra.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))] [_inst_5 : IsLocalization.{u1, u2} R (CommRing.toCommSemiring.{u1} R _inst_1) M S (CommRing.toCommSemiring.{u2} S _inst_2) _inst_3] (p : Polynomial.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))), Exists.{succ u1} (coeSort.{succ u1, succ (succ u1)} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) R (Submonoid.setLike.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) M) (fun (b : coeSort.{succ u1, succ (succ u1)} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) R (Submonoid.setLike.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) M) => forall (i : Nat), Eq.{succ u2} S (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)))) (fun (_x : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)))) => R -> S) (RingHom.hasCoeToFun.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)))) (algebraMap.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) _inst_3) (Polynomial.coeff.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (IsLocalization.integerNormalization.{u1, u2} R _inst_1 M S _inst_2 _inst_3 _inst_5 p) i)) (SMul.smul.{u1, u2} R S (SMulZeroClass.toHasSmul.{u1, u2} R S (AddZeroClass.toHasZero.{u2} S (AddMonoid.toAddZeroClass.{u2} S (AddCommMonoid.toAddMonoid.{u2} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)))))))) (SMulWithZero.toSmulZeroClass.{u1, u2} R S (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u2} S (AddMonoid.toAddZeroClass.{u2} S (AddCommMonoid.toAddMonoid.{u2} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)))))))) (MulActionWithZero.toSMulWithZero.{u1, u2} R S (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u2} S (AddMonoid.toAddZeroClass.{u2} S (AddCommMonoid.toAddMonoid.{u2} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)))))))) (Module.toMulActionWithZero.{u1, u2} R S (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))))) (Algebra.toModule.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) _inst_3))))) ((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 (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) R (Submonoid.setLike.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) M) R (HasLiftT.mk.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) R (Submonoid.setLike.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) M) R (CoeTCₓ.coe.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) R (Submonoid.setLike.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) M) R (coeBase.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) R (Submonoid.setLike.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) M) R (coeSubtype.{succ u1} R (fun (x : R) => Membership.Mem.{u1, u1} R (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (SetLike.hasMem.{u1, u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) R (Submonoid.setLike.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) x M))))) b) (Polynomial.coeff.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) p i)))
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] (M : Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) {S : Type.{u2}} [_inst_2 : CommRing.{u2} S] [_inst_3 : Algebra.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))] [_inst_5 : IsLocalization.{u1, u2} R (CommRing.toCommSemiring.{u1} R _inst_1) M S (CommRing.toCommSemiring.{u2} S _inst_2) _inst_3] (p : Polynomial.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))), Exists.{succ u1} (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 (CommRing.toCommSemiring.{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 (CommRing.toCommSemiring.{u1} R _inst_1)))))) R (Submonoid.instSetLikeSubmonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))) x M)) (fun (b : 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 (CommRing.toCommSemiring.{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 (CommRing.toCommSemiring.{u1} R _inst_1)))))) R (Submonoid.instSetLikeSubmonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))) x M)) => forall (i : Nat), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) (Polynomial.coeff.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (IsLocalization.integerNormalization.{u1, u2} R _inst_1 M S _inst_2 _inst_3 _inst_5 p) i)) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) R S (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (NonUnitalNonAssocSemiring.toMul.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (RingHom.instRingHomClassRingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))))) (algebraMap.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) _inst_3) (Polynomial.coeff.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (IsLocalization.integerNormalization.{u1, u2} R _inst_1 M S _inst_2 _inst_3 _inst_5 p) i)) (HSMul.hSMul.{u1, u2, u2} R S S (instHSMul.{u1, u2} R S (Algebra.toSMul.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) _inst_3)) (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 (CommRing.toCommSemiring.{u1} R _inst_1)))))) R (Submonoid.instSetLikeSubmonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) M)) b) (Polynomial.coeff.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) p i)))
+<too large>
 Case conversion may be inaccurate. Consider using '#align is_localization.integer_normalization_spec IsLocalization.integerNormalization_specₓ'. -/
 theorem integerNormalization_spec (p : S[X]) :
     ∃ b : M, ∀ i, algebraMap R S ((integerNormalization M p).coeff i) = (b : R) • p.coeff i :=
@@ -128,10 +125,7 @@ theorem integerNormalization_spec (p : S[X]) :
 #align is_localization.integer_normalization_spec IsLocalization.integerNormalization_spec
 
 /- warning: is_localization.integer_normalization_map_to_map -> IsLocalization.integerNormalization_map_to_map is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] (M : Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) {S : Type.{u2}} [_inst_2 : CommRing.{u2} S] [_inst_3 : Algebra.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))] [_inst_5 : IsLocalization.{u1, u2} R (CommRing.toCommSemiring.{u1} R _inst_1) M S (CommRing.toCommSemiring.{u2} S _inst_2) _inst_3] (p : Polynomial.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))), Exists.{succ u1} (coeSort.{succ u1, succ (succ u1)} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) R (Submonoid.setLike.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) M) (fun (b : coeSort.{succ u1, succ (succ u1)} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) R (Submonoid.setLike.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) M) => Eq.{succ u2} (Polynomial.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))) (Polynomial.map.{u1, u2} R S (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) (algebraMap.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) _inst_3) (IsLocalization.integerNormalization.{u1, u2} R _inst_1 M S _inst_2 _inst_3 _inst_5 p)) (SMul.smul.{u1, u2} R (Polynomial.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))) (SMulZeroClass.toHasSmul.{u1, u2} R (Polynomial.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))) (Polynomial.zero.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))) (Polynomial.smulZeroClass.{u2, u1} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) R (SMulWithZero.toSmulZeroClass.{u1, u2} R S (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (MulZeroClass.toHasZero.{u2} S (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)))))) (MulActionWithZero.toSMulWithZero.{u1, u2} R S (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MulZeroClass.toHasZero.{u2} S (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)))))) (Module.toMulActionWithZero.{u1, u2} R S (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} S (NonUnitalNonAssocRing.toAddCommGroup.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2))))) (Algebra.toModule.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) _inst_3)))))) ((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 (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) R (Submonoid.setLike.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) M) R (HasLiftT.mk.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) R (Submonoid.setLike.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) M) R (CoeTCₓ.coe.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) R (Submonoid.setLike.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) M) R (coeBase.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) R (Submonoid.setLike.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) M) R (coeSubtype.{succ u1} R (fun (x : R) => Membership.Mem.{u1, u1} R (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (SetLike.hasMem.{u1, u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) R (Submonoid.setLike.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) x M))))) b) p))
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] (M : Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) {S : Type.{u2}} [_inst_2 : CommRing.{u2} S] [_inst_3 : Algebra.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))] [_inst_5 : IsLocalization.{u1, u2} R (CommRing.toCommSemiring.{u1} R _inst_1) M S (CommRing.toCommSemiring.{u2} S _inst_2) _inst_3] (p : Polynomial.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))), Exists.{succ u1} (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 (CommRing.toCommSemiring.{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 (CommRing.toCommSemiring.{u1} R _inst_1)))))) R (Submonoid.instSetLikeSubmonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))) x M)) (fun (b : 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 (CommRing.toCommSemiring.{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 (CommRing.toCommSemiring.{u1} R _inst_1)))))) R (Submonoid.instSetLikeSubmonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))) x M)) => Eq.{succ u2} (Polynomial.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (Polynomial.map.{u1, u2} R S (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (algebraMap.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) _inst_3) (IsLocalization.integerNormalization.{u1, u2} R _inst_1 M S _inst_2 _inst_3 _inst_5 p)) (HSMul.hSMul.{u1, u2, u2} R (Polynomial.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (Polynomial.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (instHSMul.{u1, u2} R (Polynomial.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (Algebra.toSMul.{u1, u2} R (Polynomial.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (CommRing.toCommSemiring.{u1} R _inst_1) (Polynomial.semiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (Polynomial.algebraOfAlgebra.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) _inst_3))) (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 (CommRing.toCommSemiring.{u1} R _inst_1)))))) R (Submonoid.instSetLikeSubmonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) M)) b) p))
+<too large>
 Case conversion may be inaccurate. Consider using '#align is_localization.integer_normalization_map_to_map IsLocalization.integerNormalization_map_to_mapₓ'. -/
 theorem integerNormalization_map_to_map (p : S[X]) :
     ∃ b : M, (integerNormalization M p).map (algebraMap R S) = (b : R) • p :=
@@ -158,10 +152,7 @@ theorem integerNormalization_eval₂_eq_zero (g : S →+* R') (p : S[X]) {x : R'
 #align is_localization.integer_normalization_eval₂_eq_zero IsLocalization.integerNormalization_eval₂_eq_zero
 
 /- warning: is_localization.integer_normalization_aeval_eq_zero -> IsLocalization.integerNormalization_aeval_eq_zero is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] (M : Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) {S : Type.{u2}} [_inst_2 : CommRing.{u2} S] [_inst_3 : Algebra.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))] [_inst_5 : IsLocalization.{u1, u2} R (CommRing.toCommSemiring.{u1} R _inst_1) M S (CommRing.toCommSemiring.{u2} S _inst_2) _inst_3] {R' : Type.{u3}} [_inst_6 : CommRing.{u3} R'] [_inst_7 : Algebra.{u1, u3} R R' (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_6))] [_inst_8 : Algebra.{u2, u3} S R' (CommRing.toCommSemiring.{u2} S _inst_2) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_6))] [_inst_9 : IsScalarTower.{u1, u2, u3} R S R' (SMulZeroClass.toHasSmul.{u1, u2} R S (AddZeroClass.toHasZero.{u2} S (AddMonoid.toAddZeroClass.{u2} S (AddCommMonoid.toAddMonoid.{u2} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)))))))) (SMulWithZero.toSmulZeroClass.{u1, u2} R S (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u2} S (AddMonoid.toAddZeroClass.{u2} S (AddCommMonoid.toAddMonoid.{u2} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)))))))) (MulActionWithZero.toSMulWithZero.{u1, u2} R S (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u2} S (AddMonoid.toAddZeroClass.{u2} S (AddCommMonoid.toAddMonoid.{u2} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)))))))) (Module.toMulActionWithZero.{u1, u2} R S (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))))) (Algebra.toModule.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) _inst_3))))) (SMulZeroClass.toHasSmul.{u2, u3} S R' (AddZeroClass.toHasZero.{u3} R' (AddMonoid.toAddZeroClass.{u3} R' (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_6)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} S R' (MulZeroClass.toHasZero.{u2} S (MulZeroOneClass.toMulZeroClass.{u2} S (MonoidWithZero.toMulZeroOneClass.{u2} S (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))))) (AddZeroClass.toHasZero.{u3} R' (AddMonoid.toAddZeroClass.{u3} R' (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_6)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} S R' (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (AddZeroClass.toHasZero.{u3} R' (AddMonoid.toAddZeroClass.{u3} R' (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_6)))))))) (Module.toMulActionWithZero.{u2, u3} S R' (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_6))))) (Algebra.toModule.{u2, u3} S R' (CommRing.toCommSemiring.{u2} S _inst_2) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_6)) _inst_8))))) (SMulZeroClass.toHasSmul.{u1, u3} R R' (AddZeroClass.toHasZero.{u3} R' (AddMonoid.toAddZeroClass.{u3} R' (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_6)))))))) (SMulWithZero.toSmulZeroClass.{u1, u3} R R' (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u3} R' (AddMonoid.toAddZeroClass.{u3} R' (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_6)))))))) (MulActionWithZero.toSMulWithZero.{u1, u3} R R' (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u3} R' (AddMonoid.toAddZeroClass.{u3} R' (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_6)))))))) (Module.toMulActionWithZero.{u1, u3} R R' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_6))))) (Algebra.toModule.{u1, u3} R R' (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_6)) _inst_7)))))] (p : Polynomial.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))) {x : R'}, (Eq.{succ u3} R' (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (AlgHom.{u2, u2, u3} S (Polynomial.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) R' (CommRing.toCommSemiring.{u2} S _inst_2) (Polynomial.semiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_6)) (Polynomial.algebraOfAlgebra.{u2, u2} S S (CommRing.toCommSemiring.{u2} S _inst_2) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (Algebra.id.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) _inst_8) (fun (_x : AlgHom.{u2, u2, u3} S (Polynomial.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) R' (CommRing.toCommSemiring.{u2} S _inst_2) (Polynomial.semiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_6)) (Polynomial.algebraOfAlgebra.{u2, u2} S S (CommRing.toCommSemiring.{u2} S _inst_2) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (Algebra.id.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) _inst_8) => (Polynomial.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) -> R') ([anonymous].{u2, u2, u3} S (Polynomial.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) R' (CommRing.toCommSemiring.{u2} S _inst_2) (Polynomial.semiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_6)) (Polynomial.algebraOfAlgebra.{u2, u2} S S (CommRing.toCommSemiring.{u2} S _inst_2) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (Algebra.id.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) _inst_8) (Polynomial.aeval.{u2, u3} S R' (CommRing.toCommSemiring.{u2} S _inst_2) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_6)) _inst_8 x) p) (OfNat.ofNat.{u3} R' 0 (OfNat.mk.{u3} R' 0 (Zero.zero.{u3} R' (MulZeroClass.toHasZero.{u3} R' (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R' (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R' (NonAssocRing.toNonUnitalNonAssocRing.{u3} R' (Ring.toNonAssocRing.{u3} R' (CommRing.toRing.{u3} R' _inst_6)))))))))) -> (Eq.{succ u3} R' (coeFn.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (AlgHom.{u1, u1, u3} R (Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) R' (CommRing.toCommSemiring.{u1} R _inst_1) (Polynomial.semiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_6)) (Polynomial.algebraOfAlgebra.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) _inst_7) (fun (_x : AlgHom.{u1, u1, u3} R (Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) R' (CommRing.toCommSemiring.{u1} R _inst_1) (Polynomial.semiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_6)) (Polynomial.algebraOfAlgebra.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) _inst_7) => (Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) -> R') ([anonymous].{u1, u1, u3} R (Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) R' (CommRing.toCommSemiring.{u1} R _inst_1) (Polynomial.semiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_6)) (Polynomial.algebraOfAlgebra.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) _inst_7) (Polynomial.aeval.{u1, u3} R R' (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_6)) _inst_7 x) (IsLocalization.integerNormalization.{u1, u2} R _inst_1 M S _inst_2 _inst_3 _inst_5 p)) (OfNat.ofNat.{u3} R' 0 (OfNat.mk.{u3} R' 0 (Zero.zero.{u3} R' (MulZeroClass.toHasZero.{u3} R' (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R' (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R' (NonAssocRing.toNonUnitalNonAssocRing.{u3} R' (Ring.toNonAssocRing.{u3} R' (CommRing.toRing.{u3} R' _inst_6))))))))))
-but is expected to have type
-  forall {R : Type.{u3}} [_inst_1 : CommRing.{u3} R] (M : Submonoid.{u3} R (MulZeroOneClass.toMulOneClass.{u3} R (NonAssocSemiring.toMulZeroOneClass.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))))) {S : Type.{u1}} [_inst_2 : CommRing.{u1} S] [_inst_3 : Algebra.{u3, u1} R S (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))] [_inst_5 : IsLocalization.{u3, u1} R (CommRing.toCommSemiring.{u3} R _inst_1) M S (CommRing.toCommSemiring.{u1} S _inst_2) _inst_3] {R' : Type.{u2}} [_inst_6 : CommRing.{u2} R'] [_inst_7 : Algebra.{u3, u2} R R' (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_6))] [_inst_8 : Algebra.{u1, u2} S R' (CommRing.toCommSemiring.{u1} S _inst_2) (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_6))] [_inst_9 : IsScalarTower.{u3, u1, u2} R S R' (Algebra.toSMul.{u3, u1} R S (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) _inst_3) (Algebra.toSMul.{u1, u2} S R' (CommRing.toCommSemiring.{u1} S _inst_2) (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_6)) _inst_8) (Algebra.toSMul.{u3, u2} R R' (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_6)) _inst_7)] (p : Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) {x : R'}, (Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) => R') p) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (AlgHom.{u1, u1, u2} S (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) R' (CommRing.toCommSemiring.{u1} S _inst_2) (Polynomial.semiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_6)) (Polynomial.algebraOfAlgebra.{u1, u1} S S (CommRing.toCommSemiring.{u1} S _inst_2) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (Algebra.id.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) _inst_8) (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (fun (_x : Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) => R') _x) (SMulHomClass.toFunLike.{max u2 u1, u1, u1, u2} (AlgHom.{u1, u1, u2} S (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) R' (CommRing.toCommSemiring.{u1} S _inst_2) (Polynomial.semiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_6)) (Polynomial.algebraOfAlgebra.{u1, u1} S S (CommRing.toCommSemiring.{u1} S _inst_2) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (Algebra.id.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) _inst_8) S (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) R' (SMulZeroClass.toSMul.{u1, u1} S (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (AddMonoid.toZero.{u1} (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (AddCommMonoid.toAddMonoid.{u1} (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (Polynomial.semiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)))))))) (DistribSMul.toSMulZeroClass.{u1, u1} S (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (AddMonoid.toAddZeroClass.{u1} (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (AddCommMonoid.toAddMonoid.{u1} (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (Polynomial.semiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)))))))) (DistribMulAction.toDistribSMul.{u1, u1} S (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)))) (AddCommMonoid.toAddMonoid.{u1} (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (Polynomial.semiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))))))) (Module.toDistribMulAction.{u1, u1} S (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (Polynomial.semiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)))))) (Algebra.toModule.{u1, u1} S (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (CommRing.toCommSemiring.{u1} S _inst_2) (Polynomial.semiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (Polynomial.algebraOfAlgebra.{u1, u1} S S (CommRing.toCommSemiring.{u1} S _inst_2) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (Algebra.id.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)))))))) (SMulZeroClass.toSMul.{u1, u2} S R' (AddMonoid.toZero.{u2} R' (AddCommMonoid.toAddMonoid.{u2} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_6))))))) (DistribSMul.toSMulZeroClass.{u1, u2} S R' (AddMonoid.toAddZeroClass.{u2} R' (AddCommMonoid.toAddMonoid.{u2} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_6))))))) (DistribMulAction.toDistribSMul.{u1, u2} S R' (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)))) (AddCommMonoid.toAddMonoid.{u2} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_6)))))) (Module.toDistribMulAction.{u1, u2} S R' (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_6))))) (Algebra.toModule.{u1, u2} S R' (CommRing.toCommSemiring.{u1} S _inst_2) (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_6)) _inst_8))))) (DistribMulActionHomClass.toSMulHomClass.{max u2 u1, u1, u1, u2} (AlgHom.{u1, u1, u2} S (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) R' (CommRing.toCommSemiring.{u1} S _inst_2) (Polynomial.semiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_6)) (Polynomial.algebraOfAlgebra.{u1, u1} S S (CommRing.toCommSemiring.{u1} S _inst_2) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (Algebra.id.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) _inst_8) S (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) R' (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)))) (AddCommMonoid.toAddMonoid.{u1} (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (Polynomial.semiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))))))) (AddCommMonoid.toAddMonoid.{u2} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_6)))))) (Module.toDistribMulAction.{u1, u1} S (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (Polynomial.semiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)))))) (Algebra.toModule.{u1, u1} S (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (CommRing.toCommSemiring.{u1} S _inst_2) (Polynomial.semiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (Polynomial.algebraOfAlgebra.{u1, u1} S S (CommRing.toCommSemiring.{u1} S _inst_2) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (Algebra.id.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))))) (Module.toDistribMulAction.{u1, u2} S R' (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_6))))) (Algebra.toModule.{u1, u2} S R' (CommRing.toCommSemiring.{u1} S _inst_2) (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_6)) _inst_8)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max u2 u1, u1, u1, u2} (AlgHom.{u1, u1, u2} S (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) R' (CommRing.toCommSemiring.{u1} S _inst_2) (Polynomial.semiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_6)) (Polynomial.algebraOfAlgebra.{u1, u1} S S (CommRing.toCommSemiring.{u1} S _inst_2) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (Algebra.id.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) _inst_8) S (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) R' (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (Polynomial.semiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_6)))) (Module.toDistribMulAction.{u1, u1} S (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (Polynomial.semiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)))))) (Algebra.toModule.{u1, u1} S (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (CommRing.toCommSemiring.{u1} S _inst_2) (Polynomial.semiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (Polynomial.algebraOfAlgebra.{u1, u1} S S (CommRing.toCommSemiring.{u1} S _inst_2) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (Algebra.id.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))))) (Module.toDistribMulAction.{u1, u2} S R' (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_6))))) (Algebra.toModule.{u1, u2} S R' (CommRing.toCommSemiring.{u1} S _inst_2) (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_6)) _inst_8)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u1, u1, u2, max u2 u1} S (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) R' (CommRing.toCommSemiring.{u1} S _inst_2) (Polynomial.semiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_6)) (Polynomial.algebraOfAlgebra.{u1, u1} S S (CommRing.toCommSemiring.{u1} S _inst_2) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (Algebra.id.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) _inst_8 (AlgHom.{u1, u1, u2} S (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) R' (CommRing.toCommSemiring.{u1} S _inst_2) (Polynomial.semiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_6)) (Polynomial.algebraOfAlgebra.{u1, u1} S S (CommRing.toCommSemiring.{u1} S _inst_2) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (Algebra.id.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) _inst_8) (AlgHom.algHomClass.{u1, u1, u2} S (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) R' (CommRing.toCommSemiring.{u1} S _inst_2) (Polynomial.semiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_6)) (Polynomial.algebraOfAlgebra.{u1, u1} S S (CommRing.toCommSemiring.{u1} S _inst_2) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (Algebra.id.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) _inst_8))))) (Polynomial.aeval.{u1, u2} S R' (CommRing.toCommSemiring.{u1} S _inst_2) (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_6)) _inst_8 x) p) (OfNat.ofNat.{u2} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) => R') p) 0 (Zero.toOfNat0.{u2} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) => R') p) (CommMonoidWithZero.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) => R') p) (CommSemiring.toCommMonoidWithZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) => R') p) (CommRing.toCommSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) => R') p) _inst_6)))))) -> (Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) => R') (IsLocalization.integerNormalization.{u3, u1} R _inst_1 M S _inst_2 _inst_3 _inst_5 p)) (FunLike.coe.{max (succ u2) (succ u3), succ u3, succ u2} (AlgHom.{u3, u3, u2} R (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) R' (CommRing.toCommSemiring.{u3} R _inst_1) (Polynomial.semiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_6)) (Polynomial.algebraOfAlgebra.{u3, u3} R R (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) _inst_7) (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (fun (_x : Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) => R') _x) (SMulHomClass.toFunLike.{max u2 u3, u3, u3, u2} (AlgHom.{u3, u3, u2} R (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) R' (CommRing.toCommSemiring.{u3} R _inst_1) (Polynomial.semiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_6)) (Polynomial.algebraOfAlgebra.{u3, u3} R R (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) _inst_7) R (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) R' (SMulZeroClass.toSMul.{u3, u3} R (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (AddMonoid.toZero.{u3} (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{u3} (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (Semiring.toNonAssocSemiring.{u3} (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (Polynomial.semiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))))))) (DistribSMul.toSMulZeroClass.{u3, u3} R (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (AddMonoid.toAddZeroClass.{u3} (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{u3} (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (Semiring.toNonAssocSemiring.{u3} (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (Polynomial.semiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))))))) (DistribMulAction.toDistribSMul.{u3, u3} R (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (AddCommMonoid.toAddMonoid.{u3} (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (Semiring.toNonAssocSemiring.{u3} (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (Polynomial.semiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))))) (Module.toDistribMulAction.{u3, u3} R (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (Semiring.toNonAssocSemiring.{u3} (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (Polynomial.semiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))))) (Algebra.toModule.{u3, u3} R (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (CommRing.toCommSemiring.{u3} R _inst_1) (Polynomial.semiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (Polynomial.algebraOfAlgebra.{u3, u3} R R (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))))))) (SMulZeroClass.toSMul.{u3, u2} R R' (AddMonoid.toZero.{u2} R' (AddCommMonoid.toAddMonoid.{u2} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_6))))))) (DistribSMul.toSMulZeroClass.{u3, u2} R R' (AddMonoid.toAddZeroClass.{u2} R' (AddCommMonoid.toAddMonoid.{u2} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_6))))))) (DistribMulAction.toDistribSMul.{u3, u2} R R' (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (AddCommMonoid.toAddMonoid.{u2} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_6)))))) (Module.toDistribMulAction.{u3, u2} R R' (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_6))))) (Algebra.toModule.{u3, u2} R R' (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_6)) _inst_7))))) (DistribMulActionHomClass.toSMulHomClass.{max u2 u3, u3, u3, u2} (AlgHom.{u3, u3, u2} R (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) R' (CommRing.toCommSemiring.{u3} R _inst_1) (Polynomial.semiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_6)) (Polynomial.algebraOfAlgebra.{u3, u3} R R (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) _inst_7) R (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) R' (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (AddCommMonoid.toAddMonoid.{u3} (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (Semiring.toNonAssocSemiring.{u3} (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (Polynomial.semiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))))) (AddCommMonoid.toAddMonoid.{u2} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_6)))))) (Module.toDistribMulAction.{u3, u3} R (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (Semiring.toNonAssocSemiring.{u3} (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (Polynomial.semiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))))) (Algebra.toModule.{u3, u3} R (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (CommRing.toCommSemiring.{u3} R _inst_1) (Polynomial.semiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (Polynomial.algebraOfAlgebra.{u3, u3} R R (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))) (Module.toDistribMulAction.{u3, u2} R R' (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_6))))) (Algebra.toModule.{u3, u2} R R' (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_6)) _inst_7)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max u2 u3, u3, u3, u2} (AlgHom.{u3, u3, u2} R (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) R' (CommRing.toCommSemiring.{u3} R _inst_1) (Polynomial.semiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_6)) (Polynomial.algebraOfAlgebra.{u3, u3} R R (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) _inst_7) R (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) R' (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (Semiring.toNonAssocSemiring.{u3} (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (Polynomial.semiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_6)))) (Module.toDistribMulAction.{u3, u3} R (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (Semiring.toNonAssocSemiring.{u3} (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (Polynomial.semiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))))) (Algebra.toModule.{u3, u3} R (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (CommRing.toCommSemiring.{u3} R _inst_1) (Polynomial.semiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (Polynomial.algebraOfAlgebra.{u3, u3} R R (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))) (Module.toDistribMulAction.{u3, u2} R R' (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_6))))) (Algebra.toModule.{u3, u2} R R' (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_6)) _inst_7)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u3, u3, u2, max u2 u3} R (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) R' (CommRing.toCommSemiring.{u3} R _inst_1) (Polynomial.semiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_6)) (Polynomial.algebraOfAlgebra.{u3, u3} R R (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) _inst_7 (AlgHom.{u3, u3, u2} R (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) R' (CommRing.toCommSemiring.{u3} R _inst_1) (Polynomial.semiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_6)) (Polynomial.algebraOfAlgebra.{u3, u3} R R (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) _inst_7) (AlgHom.algHomClass.{u3, u3, u2} R (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) R' (CommRing.toCommSemiring.{u3} R _inst_1) (Polynomial.semiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_6)) (Polynomial.algebraOfAlgebra.{u3, u3} R R (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) _inst_7))))) (Polynomial.aeval.{u3, u2} R R' (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_6)) _inst_7 x) (IsLocalization.integerNormalization.{u3, u1} R _inst_1 M S _inst_2 _inst_3 _inst_5 p)) (OfNat.ofNat.{u2} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) => R') (IsLocalization.integerNormalization.{u3, u1} R _inst_1 M S _inst_2 _inst_3 _inst_5 p)) 0 (Zero.toOfNat0.{u2} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) => R') (IsLocalization.integerNormalization.{u3, u1} R _inst_1 M S _inst_2 _inst_3 _inst_5 p)) (CommMonoidWithZero.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) => R') (IsLocalization.integerNormalization.{u3, u1} R _inst_1 M S _inst_2 _inst_3 _inst_5 p)) (CommSemiring.toCommMonoidWithZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) => R') (IsLocalization.integerNormalization.{u3, u1} R _inst_1 M S _inst_2 _inst_3 _inst_5 p)) (CommRing.toCommSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) => R') (IsLocalization.integerNormalization.{u3, u1} R _inst_1 M S _inst_2 _inst_3 _inst_5 p)) _inst_6))))))
+<too large>
 Case conversion may be inaccurate. Consider using '#align is_localization.integer_normalization_aeval_eq_zero IsLocalization.integerNormalization_aeval_eq_zeroₓ'. -/
 theorem integerNormalization_aeval_eq_zero [Algebra R R'] [Algebra S R'] [IsScalarTower R S R']
     (p : S[X]) {x : R'} (hx : aeval x p = 0) : aeval x (integerNormalization M p) = 0 := by
@@ -257,10 +248,7 @@ variable {S M}
 open Polynomial
 
 /- warning: ring_hom.is_integral_elem_localization_at_leading_coeff -> RingHom.isIntegralElem_localization_at_leadingCoeff is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_11 : CommRing.{u1} R] [_inst_12 : CommRing.{u2} S] (f : RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))) (x : S) (p : Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_11))), (Eq.{succ u2} S (Polynomial.eval₂.{u1, u2} R S (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_11)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_12)) f x p) (OfNat.ofNat.{u2} S 0 (OfNat.mk.{u2} S 0 (Zero.zero.{u2} S (MulZeroClass.toHasZero.{u2} S (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))))))))) -> (forall (M : Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11)))))), (Membership.Mem.{u1, u1} R (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11)))))) (SetLike.hasMem.{u1, u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11)))))) R (Submonoid.setLike.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))))))) (Polynomial.leadingCoeff.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_11)) p) M) -> (forall {Rₘ : Type.{u3}} {Sₘ : Type.{u4}} [_inst_13 : CommRing.{u3} Rₘ] [_inst_14 : CommRing.{u4} Sₘ] [_inst_15 : Algebra.{u1, u3} R Rₘ (CommRing.toCommSemiring.{u1} R _inst_11) (Ring.toSemiring.{u3} Rₘ (CommRing.toRing.{u3} Rₘ _inst_13))] [_inst_16 : IsLocalization.{u1, u3} R (CommRing.toCommSemiring.{u1} R _inst_11) M Rₘ (CommRing.toCommSemiring.{u3} Rₘ _inst_13) _inst_15] [_inst_17 : Algebra.{u2, u4} S Sₘ (CommRing.toCommSemiring.{u2} S _inst_12) (Ring.toSemiring.{u4} Sₘ (CommRing.toRing.{u4} Sₘ _inst_14))] [_inst_18 : IsLocalization.{u2, u4} S (CommRing.toCommSemiring.{u2} S _inst_12) (Submonoid.map.{u1, u2, max u1 u2} R S (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u2} S (NonAssocSemiring.toMulZeroOneClass.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12))))) (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))) (RingHomClass.toMonoidHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))) R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12))) (RingHom.ringHomClass.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12))))) f M) Sₘ (CommRing.toCommSemiring.{u4} Sₘ _inst_14) _inst_17], RingHom.IsIntegralElem.{u3, u4} Rₘ Sₘ _inst_13 (CommRing.toRing.{u4} Sₘ _inst_14) (IsLocalization.map.{u1, u3, u2, u4} R (CommRing.toCommSemiring.{u1} R _inst_11) M Rₘ (CommRing.toCommSemiring.{u3} Rₘ _inst_13) _inst_15 S (CommRing.toCommSemiring.{u2} S _inst_12) _inst_16 (Submonoid.map.{u1, u2, max u1 u2} R S (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u2} S (NonAssocSemiring.toMulZeroOneClass.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_12))))) (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_11))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_12)))) (RingHomClass.toMonoidHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_11))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_12)))) R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_11))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_12))) (RingHom.ringHomClass.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_11))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_12))))) f M) Sₘ (CommRing.toCommSemiring.{u4} Sₘ _inst_14) _inst_17 _inst_18 f (Submonoid.le_comap_map.{u1, u2, max u1 u2} R S (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u2} S (NonAssocSemiring.toMulZeroOneClass.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_12))))) M (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_11))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_12)))) (RingHomClass.toMonoidHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_11))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_12)))) R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_11))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_12))) (RingHom.ringHomClass.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_11))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_12))))) f)) (coeFn.{max (succ u2) (succ u4), max (succ u2) (succ u4)} (RingHom.{u2, u4} S Sₘ (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_12))) (Semiring.toNonAssocSemiring.{u4} Sₘ (Ring.toSemiring.{u4} Sₘ (CommRing.toRing.{u4} Sₘ _inst_14)))) (fun (_x : RingHom.{u2, u4} S Sₘ (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_12))) (Semiring.toNonAssocSemiring.{u4} Sₘ (Ring.toSemiring.{u4} Sₘ (CommRing.toRing.{u4} Sₘ _inst_14)))) => S -> Sₘ) (RingHom.hasCoeToFun.{u2, u4} S Sₘ (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_12))) (Semiring.toNonAssocSemiring.{u4} Sₘ (Ring.toSemiring.{u4} Sₘ (CommRing.toRing.{u4} Sₘ _inst_14)))) (algebraMap.{u2, u4} S Sₘ (CommRing.toCommSemiring.{u2} S _inst_12) (Ring.toSemiring.{u4} Sₘ (CommRing.toRing.{u4} Sₘ _inst_14)) _inst_17) x)))
-but is expected to have type
-  forall {R : Type.{u4}} {S : Type.{u3}} [_inst_11 : CommRing.{u4} R] [_inst_12 : CommRing.{u3} S] (f : RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_11))) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_12)))) (x : S) (p : Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_11))), (Eq.{succ u3} S (Polynomial.eval₂.{u4, u3} R S (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_11)) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_12)) f x p) (OfNat.ofNat.{u3} S 0 (Zero.toOfNat0.{u3} S (CommMonoidWithZero.toZero.{u3} S (CommSemiring.toCommMonoidWithZero.{u3} S (CommRing.toCommSemiring.{u3} S _inst_12)))))) -> (forall (M : Submonoid.{u4} R (MulZeroOneClass.toMulOneClass.{u4} R (NonAssocSemiring.toMulZeroOneClass.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_11)))))), (Membership.mem.{u4, u4} R (Submonoid.{u4} R (MulZeroOneClass.toMulOneClass.{u4} R (NonAssocSemiring.toMulZeroOneClass.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_11)))))) (SetLike.instMembership.{u4, u4} (Submonoid.{u4} R (MulZeroOneClass.toMulOneClass.{u4} R (NonAssocSemiring.toMulZeroOneClass.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_11)))))) R (Submonoid.instSetLikeSubmonoid.{u4} R (MulZeroOneClass.toMulOneClass.{u4} R (NonAssocSemiring.toMulZeroOneClass.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_11))))))) (Polynomial.leadingCoeff.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_11)) p) M) -> (forall {Rₘ : Type.{u2}} {Sₘ : Type.{u1}} [_inst_13 : CommRing.{u2} Rₘ] [_inst_14 : CommRing.{u1} Sₘ] [_inst_15 : Algebra.{u4, u2} R Rₘ (CommRing.toCommSemiring.{u4} R _inst_11) (CommSemiring.toSemiring.{u2} Rₘ (CommRing.toCommSemiring.{u2} Rₘ _inst_13))] [_inst_16 : IsLocalization.{u4, u2} R (CommRing.toCommSemiring.{u4} R _inst_11) M Rₘ (CommRing.toCommSemiring.{u2} Rₘ _inst_13) _inst_15] [_inst_17 : Algebra.{u3, u1} S Sₘ (CommRing.toCommSemiring.{u3} S _inst_12) (CommSemiring.toSemiring.{u1} Sₘ (CommRing.toCommSemiring.{u1} Sₘ _inst_14))] [_inst_18 : IsLocalization.{u3, u1} S (CommRing.toCommSemiring.{u3} S _inst_12) (Submonoid.map.{u4, u3, max u4 u3} R S (MulZeroOneClass.toMulOneClass.{u4} R (NonAssocSemiring.toMulZeroOneClass.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u3} S (NonAssocSemiring.toMulZeroOneClass.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_12))))) (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_11))) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_12)))) (RingHomClass.toMonoidHomClass.{max u4 u3, u4, u3} (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_11))) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_12)))) R S (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_11))) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_12))) (RingHom.instRingHomClassRingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_11))) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_12))))) f M) Sₘ (CommRing.toCommSemiring.{u1} Sₘ _inst_14) _inst_17], RingHom.IsIntegralElem.{u2, u1} Rₘ Sₘ _inst_13 (CommRing.toRing.{u1} Sₘ _inst_14) (IsLocalization.map.{u4, u2, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_11) M Rₘ (CommRing.toCommSemiring.{u2} Rₘ _inst_13) _inst_15 S (CommRing.toCommSemiring.{u3} S _inst_12) _inst_16 (Submonoid.map.{u4, u3, max u4 u3} R S (MulZeroOneClass.toMulOneClass.{u4} R (NonAssocSemiring.toMulZeroOneClass.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u3} S (NonAssocSemiring.toMulZeroOneClass.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_12))))) (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_11))) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_12)))) (RingHomClass.toMonoidHomClass.{max u4 u3, u4, u3} (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_11))) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_12)))) R S (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_11))) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_12))) (RingHom.instRingHomClassRingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_11))) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_12))))) f M) Sₘ (CommRing.toCommSemiring.{u1} Sₘ _inst_14) _inst_17 _inst_18 f (Submonoid.le_comap_map.{max u4 u3, u3, u4} R S (MulZeroOneClass.toMulOneClass.{u4} R (NonAssocSemiring.toMulZeroOneClass.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u3} S (NonAssocSemiring.toMulZeroOneClass.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_12))))) M (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_11))) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_12)))) (RingHomClass.toMonoidHomClass.{max u4 u3, u4, u3} (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_11))) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_12)))) R S (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_11))) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_12))) (RingHom.instRingHomClassRingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_11))) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_12))))) f)) (FunLike.coe.{max (succ u3) (succ u1), succ u3, succ u1} (RingHom.{u3, u1} S Sₘ (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_12))) (Semiring.toNonAssocSemiring.{u1} Sₘ (CommSemiring.toSemiring.{u1} Sₘ (CommRing.toCommSemiring.{u1} Sₘ _inst_14)))) S (fun (_x : S) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : S) => Sₘ) _x) (MulHomClass.toFunLike.{max u3 u1, u3, u1} (RingHom.{u3, u1} S Sₘ (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_12))) (Semiring.toNonAssocSemiring.{u1} Sₘ (CommSemiring.toSemiring.{u1} Sₘ (CommRing.toCommSemiring.{u1} Sₘ _inst_14)))) S Sₘ (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_12))))) (NonUnitalNonAssocSemiring.toMul.{u1} Sₘ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} Sₘ (Semiring.toNonAssocSemiring.{u1} Sₘ (CommSemiring.toSemiring.{u1} Sₘ (CommRing.toCommSemiring.{u1} Sₘ _inst_14))))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u1, u3, u1} (RingHom.{u3, u1} S Sₘ (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_12))) (Semiring.toNonAssocSemiring.{u1} Sₘ (CommSemiring.toSemiring.{u1} Sₘ (CommRing.toCommSemiring.{u1} Sₘ _inst_14)))) S Sₘ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_12)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} Sₘ (Semiring.toNonAssocSemiring.{u1} Sₘ (CommSemiring.toSemiring.{u1} Sₘ (CommRing.toCommSemiring.{u1} Sₘ _inst_14)))) (RingHomClass.toNonUnitalRingHomClass.{max u3 u1, u3, u1} (RingHom.{u3, u1} S Sₘ (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_12))) (Semiring.toNonAssocSemiring.{u1} Sₘ (CommSemiring.toSemiring.{u1} Sₘ (CommRing.toCommSemiring.{u1} Sₘ _inst_14)))) S Sₘ (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_12))) (Semiring.toNonAssocSemiring.{u1} Sₘ (CommSemiring.toSemiring.{u1} Sₘ (CommRing.toCommSemiring.{u1} Sₘ _inst_14))) (RingHom.instRingHomClassRingHom.{u3, u1} S Sₘ (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_12))) (Semiring.toNonAssocSemiring.{u1} Sₘ (CommSemiring.toSemiring.{u1} Sₘ (CommRing.toCommSemiring.{u1} Sₘ _inst_14))))))) (algebraMap.{u3, u1} S Sₘ (CommRing.toCommSemiring.{u3} S _inst_12) (CommSemiring.toSemiring.{u1} Sₘ (CommRing.toCommSemiring.{u1} Sₘ _inst_14)) _inst_17) x)))
+<too large>
 Case conversion may be inaccurate. Consider using '#align ring_hom.is_integral_elem_localization_at_leading_coeff RingHom.isIntegralElem_localization_at_leadingCoeffₓ'. -/
 theorem RingHom.isIntegralElem_localization_at_leadingCoeff {R S : Type _} [CommRing R] [CommRing S]
     (f : R →+* S) (x : S) (p : R[X]) (hf : p.eval₂ f x = 0) (M : Submonoid R)
@@ -282,10 +270,7 @@ theorem RingHom.isIntegralElem_localization_at_leadingCoeff {R S : Type _} [Comm
 #align ring_hom.is_integral_elem_localization_at_leading_coeff RingHom.isIntegralElem_localization_at_leadingCoeff
 
 /- warning: is_integral_localization_at_leading_coeff -> is_integral_localization_at_leadingCoeff is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {M : Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))} {S : Type.{u2}} [_inst_2 : CommRing.{u2} S] [_inst_3 : Algebra.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))] {Rₘ : Type.{u3}} {Sₘ : Type.{u4}} [_inst_5 : CommRing.{u3} Rₘ] [_inst_6 : CommRing.{u4} Sₘ] [_inst_7 : Algebra.{u1, u3} R Rₘ (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u3} Rₘ (CommRing.toRing.{u3} Rₘ _inst_5))] [_inst_8 : IsLocalization.{u1, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M Rₘ (CommRing.toCommSemiring.{u3} Rₘ _inst_5) _inst_7] [_inst_9 : Algebra.{u2, u4} S Sₘ (CommRing.toCommSemiring.{u2} S _inst_2) (Ring.toSemiring.{u4} Sₘ (CommRing.toRing.{u4} Sₘ _inst_6))] [_inst_10 : IsLocalization.{u2, u4} S (CommRing.toCommSemiring.{u2} S _inst_2) (Algebra.algebraMapSubmonoid.{u1, u2} R (CommRing.toCommSemiring.{u1} R _inst_1) S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) _inst_3 M) Sₘ (CommRing.toCommSemiring.{u4} Sₘ _inst_6) _inst_9] {x : S} (p : Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))), (Eq.{succ u2} S (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (AlgHom.{u1, u1, u2} R (Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) S (CommRing.toCommSemiring.{u1} R _inst_1) (Polynomial.semiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) (Polynomial.algebraOfAlgebra.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) _inst_3) (fun (_x : AlgHom.{u1, u1, u2} R (Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) S (CommRing.toCommSemiring.{u1} R _inst_1) (Polynomial.semiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) (Polynomial.algebraOfAlgebra.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) _inst_3) => (Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) -> S) ([anonymous].{u1, u1, u2} R (Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) S (CommRing.toCommSemiring.{u1} R _inst_1) (Polynomial.semiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) (Polynomial.algebraOfAlgebra.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) _inst_3) (Polynomial.aeval.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) _inst_3 x) p) (OfNat.ofNat.{u2} S 0 (OfNat.mk.{u2} S 0 (Zero.zero.{u2} S (MulZeroClass.toHasZero.{u2} S (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))))))))) -> (Membership.Mem.{u1, u1} R (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (SetLike.hasMem.{u1, u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) R (Submonoid.setLike.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) (Polynomial.leadingCoeff.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) p) M) -> (RingHom.IsIntegralElem.{u3, u4} Rₘ Sₘ _inst_5 (CommRing.toRing.{u4} Sₘ _inst_6) (IsLocalization.map.{u1, u3, u2, u4} R (CommRing.toCommSemiring.{u1} R _inst_1) M Rₘ (CommRing.toCommSemiring.{u3} Rₘ _inst_5) _inst_7 S (CommRing.toCommSemiring.{u2} S _inst_2) _inst_8 (Algebra.algebraMapSubmonoid.{u1, u2} R (CommRing.toCommSemiring.{u1} R _inst_1) S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) _inst_3 M) Sₘ (CommRing.toCommSemiring.{u4} Sₘ _inst_6) _inst_9 _inst_10 (algebraMap.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) _inst_3) ((fun (this : LE.le.{u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (Preorder.toHasLe.{u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (PartialOrder.toPreorder.{u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (SetLike.partialOrder.{u1, u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) R (Submonoid.setLike.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))))))) M (Submonoid.comap.{u1, u2, max u1 u2} R S (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (MulZeroOneClass.toMulOneClass.{u2} S (NonAssocSemiring.toMulZeroOneClass.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))))) (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)))) (RingHomClass.toMonoidHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)))) R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))) (RingHom.ringHomClass.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))))) (algebraMap.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) _inst_3) (Algebra.algebraMapSubmonoid.{u1, u2} R (CommRing.toCommSemiring.{u1} R _inst_1) S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) _inst_3 M))) => this) (Submonoid.le_comap_map.{u1, u2, max u1 u2} R S (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (MulZeroOneClass.toMulOneClass.{u2} S (NonAssocSemiring.toMulZeroOneClass.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))))) M (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)))) (RingHomClass.toMonoidHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)))) R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))) (RingHom.ringHomClass.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))))) (algebraMap.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) _inst_3)))) (coeFn.{max (succ u2) (succ u4), max (succ u2) (succ u4)} (RingHom.{u2, u4} S Sₘ (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (Semiring.toNonAssocSemiring.{u4} Sₘ (Ring.toSemiring.{u4} Sₘ (CommRing.toRing.{u4} Sₘ _inst_6)))) (fun (_x : RingHom.{u2, u4} S Sₘ (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (Semiring.toNonAssocSemiring.{u4} Sₘ (Ring.toSemiring.{u4} Sₘ (CommRing.toRing.{u4} Sₘ _inst_6)))) => S -> Sₘ) (RingHom.hasCoeToFun.{u2, u4} S Sₘ (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (Semiring.toNonAssocSemiring.{u4} Sₘ (Ring.toSemiring.{u4} Sₘ (CommRing.toRing.{u4} Sₘ _inst_6)))) (algebraMap.{u2, u4} S Sₘ (CommRing.toCommSemiring.{u2} S _inst_2) (Ring.toSemiring.{u4} Sₘ (CommRing.toRing.{u4} Sₘ _inst_6)) _inst_9) x))
-but is expected to have type
-  forall {R : Type.{u4}} [_inst_1 : CommRing.{u4} R] {M : Submonoid.{u4} R (MulZeroOneClass.toMulOneClass.{u4} R (NonAssocSemiring.toMulZeroOneClass.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))} {S : Type.{u3}} [_inst_2 : CommRing.{u3} S] [_inst_3 : Algebra.{u4, u3} R S (CommRing.toCommSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))] {Rₘ : Type.{u2}} {Sₘ : Type.{u1}} [_inst_5 : CommRing.{u2} Rₘ] [_inst_6 : CommRing.{u1} Sₘ] [_inst_7 : Algebra.{u4, u2} R Rₘ (CommRing.toCommSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u2} Rₘ (CommRing.toCommSemiring.{u2} Rₘ _inst_5))] [_inst_8 : IsLocalization.{u4, u2} R (CommRing.toCommSemiring.{u4} R _inst_1) M Rₘ (CommRing.toCommSemiring.{u2} Rₘ _inst_5) _inst_7] [_inst_9 : Algebra.{u3, u1} S Sₘ (CommRing.toCommSemiring.{u3} S _inst_2) (CommSemiring.toSemiring.{u1} Sₘ (CommRing.toCommSemiring.{u1} Sₘ _inst_6))] [_inst_10 : IsLocalization.{u3, u1} S (CommRing.toCommSemiring.{u3} S _inst_2) (Algebra.algebraMapSubmonoid.{u4, u3} R (CommRing.toCommSemiring.{u4} R _inst_1) S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_3 M) Sₘ (CommRing.toCommSemiring.{u1} Sₘ _inst_6) _inst_9] {x : S} (p : Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))), (Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) => S) p) (FunLike.coe.{max (succ u3) (succ u4), succ u4, succ u3} (AlgHom.{u4, u4, u3} R (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) S (CommRing.toCommSemiring.{u4} R _inst_1) (Polynomial.semiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (Polynomial.algebraOfAlgebra.{u4, u4} R R (CommRing.toCommSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (Algebra.id.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) _inst_3) (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (fun (_x : Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) => S) _x) (SMulHomClass.toFunLike.{max u3 u4, u4, u4, u3} (AlgHom.{u4, u4, u3} R (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) S (CommRing.toCommSemiring.{u4} R _inst_1) (Polynomial.semiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (Polynomial.algebraOfAlgebra.{u4, u4} R R (CommRing.toCommSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (Algebra.id.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) _inst_3) R (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) S (SMulZeroClass.toSMul.{u4, u4} R (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (AddMonoid.toZero.{u4} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (AddCommMonoid.toAddMonoid.{u4} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Semiring.toNonAssocSemiring.{u4} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Polynomial.semiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))))) (DistribSMul.toSMulZeroClass.{u4, u4} R (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (AddMonoid.toAddZeroClass.{u4} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (AddCommMonoid.toAddMonoid.{u4} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Semiring.toNonAssocSemiring.{u4} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Polynomial.semiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))))) (DistribMulAction.toDistribSMul.{u4, u4} R (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (AddCommMonoid.toAddMonoid.{u4} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Semiring.toNonAssocSemiring.{u4} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Polynomial.semiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))))) (Module.toDistribMulAction.{u4, u4} R (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Semiring.toNonAssocSemiring.{u4} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Polynomial.semiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (Algebra.toModule.{u4, u4} R (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (CommRing.toCommSemiring.{u4} R _inst_1) (Polynomial.semiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Polynomial.algebraOfAlgebra.{u4, u4} R R (CommRing.toCommSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (Algebra.id.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))))) (SMulZeroClass.toSMul.{u4, u3} R S (AddMonoid.toZero.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))))) (DistribSMul.toSMulZeroClass.{u4, u3} R S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))))) (DistribMulAction.toDistribSMul.{u4, u3} R S (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))) (Module.toDistribMulAction.{u4, u3} R S (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u4, u3} R S (CommRing.toCommSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_3))))) (DistribMulActionHomClass.toSMulHomClass.{max u3 u4, u4, u4, u3} (AlgHom.{u4, u4, u3} R (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) S (CommRing.toCommSemiring.{u4} R _inst_1) (Polynomial.semiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (Polynomial.algebraOfAlgebra.{u4, u4} R R (CommRing.toCommSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (Algebra.id.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) _inst_3) R (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) S (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (AddCommMonoid.toAddMonoid.{u4} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Semiring.toNonAssocSemiring.{u4} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Polynomial.semiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))))) (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))) (Module.toDistribMulAction.{u4, u4} R (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Semiring.toNonAssocSemiring.{u4} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Polynomial.semiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (Algebra.toModule.{u4, u4} R (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (CommRing.toCommSemiring.{u4} R _inst_1) (Polynomial.semiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Polynomial.algebraOfAlgebra.{u4, u4} R R (CommRing.toCommSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (Algebra.id.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Module.toDistribMulAction.{u4, u3} R S (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u4, u3} R S (CommRing.toCommSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_3)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max u3 u4, u4, u4, u3} (AlgHom.{u4, u4, u3} R (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) S (CommRing.toCommSemiring.{u4} R _inst_1) (Polynomial.semiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (Polynomial.algebraOfAlgebra.{u4, u4} R R (CommRing.toCommSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (Algebra.id.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) _inst_3) R (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) S (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Semiring.toNonAssocSemiring.{u4} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Polynomial.semiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (Module.toDistribMulAction.{u4, u4} R (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Semiring.toNonAssocSemiring.{u4} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Polynomial.semiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (Algebra.toModule.{u4, u4} R (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (CommRing.toCommSemiring.{u4} R _inst_1) (Polynomial.semiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Polynomial.algebraOfAlgebra.{u4, u4} R R (CommRing.toCommSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (Algebra.id.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Module.toDistribMulAction.{u4, u3} R S (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u4, u3} R S (CommRing.toCommSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_3)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u4, u4, u3, max u3 u4} R (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) S (CommRing.toCommSemiring.{u4} R _inst_1) (Polynomial.semiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (Polynomial.algebraOfAlgebra.{u4, u4} R R (CommRing.toCommSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (Algebra.id.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) _inst_3 (AlgHom.{u4, u4, u3} R (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) S (CommRing.toCommSemiring.{u4} R _inst_1) (Polynomial.semiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (Polynomial.algebraOfAlgebra.{u4, u4} R R (CommRing.toCommSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (Algebra.id.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) _inst_3) (AlgHom.algHomClass.{u4, u4, u3} R (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) S (CommRing.toCommSemiring.{u4} R _inst_1) (Polynomial.semiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (Polynomial.algebraOfAlgebra.{u4, u4} R R (CommRing.toCommSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (Algebra.id.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) _inst_3))))) (Polynomial.aeval.{u4, u3} R S (CommRing.toCommSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_3 x) p) (OfNat.ofNat.{u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) => S) p) 0 (Zero.toOfNat0.{u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) => S) p) (CommMonoidWithZero.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) => S) p) (CommSemiring.toCommMonoidWithZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) => S) p) (CommRing.toCommSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) => S) p) _inst_2)))))) -> (Membership.mem.{u4, u4} R (Submonoid.{u4} R (MulZeroOneClass.toMulOneClass.{u4} R (NonAssocSemiring.toMulZeroOneClass.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (SetLike.instMembership.{u4, u4} (Submonoid.{u4} R (MulZeroOneClass.toMulOneClass.{u4} R (NonAssocSemiring.toMulZeroOneClass.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) R (Submonoid.instSetLikeSubmonoid.{u4} R (MulZeroOneClass.toMulOneClass.{u4} R (NonAssocSemiring.toMulZeroOneClass.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))))) (Polynomial.leadingCoeff.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) p) M) -> (RingHom.IsIntegralElem.{u2, u1} Rₘ Sₘ _inst_5 (CommRing.toRing.{u1} Sₘ _inst_6) (IsLocalization.map.{u4, u2, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M Rₘ (CommRing.toCommSemiring.{u2} Rₘ _inst_5) _inst_7 S (CommRing.toCommSemiring.{u3} S _inst_2) _inst_8 (Algebra.algebraMapSubmonoid.{u4, u3} R (CommRing.toCommSemiring.{u4} R _inst_1) S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_3 M) Sₘ (CommRing.toCommSemiring.{u1} Sₘ _inst_6) _inst_9 _inst_10 (algebraMap.{u4, u3} R S (CommRing.toCommSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_3) ([mdata let_fun:1 (fun (this : LE.le.{u4} (Submonoid.{u4} R (MulZeroOneClass.toMulOneClass.{u4} R (NonAssocSemiring.toMulZeroOneClass.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (Preorder.toLE.{u4} (Submonoid.{u4} R (MulZeroOneClass.toMulOneClass.{u4} R (NonAssocSemiring.toMulZeroOneClass.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (PartialOrder.toPreorder.{u4} (Submonoid.{u4} R (MulZeroOneClass.toMulOneClass.{u4} R (NonAssocSemiring.toMulZeroOneClass.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (OmegaCompletePartialOrder.toPartialOrder.{u4} (Submonoid.{u4} R (MulZeroOneClass.toMulOneClass.{u4} R (NonAssocSemiring.toMulZeroOneClass.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (CompleteLattice.instOmegaCompletePartialOrder.{u4} (Submonoid.{u4} R (MulZeroOneClass.toMulOneClass.{u4} R (NonAssocSemiring.toMulZeroOneClass.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (Submonoid.instCompleteLatticeSubmonoid.{u4} R (MulZeroOneClass.toMulOneClass.{u4} R (NonAssocSemiring.toMulZeroOneClass.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))))))) M (Submonoid.comap.{u4, u3, max u4 u3} R S (MulZeroOneClass.toMulOneClass.{u4} R (NonAssocSemiring.toMulZeroOneClass.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (MulZeroOneClass.toMulOneClass.{u3} S (NonAssocSemiring.toMulZeroOneClass.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHomClass.toMonoidHomClass.{max u4 u3, u4, u3} (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) R S (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (RingHom.instRingHomClassRingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (algebraMap.{u4, u3} R S (CommRing.toCommSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_3) (Algebra.algebraMapSubmonoid.{u4, u3} R (CommRing.toCommSemiring.{u4} R _inst_1) S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_3 M))) => this) (Submonoid.le_comap_map.{max u4 u3, u3, u4} R S (MulZeroOneClass.toMulOneClass.{u4} R (NonAssocSemiring.toMulZeroOneClass.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (MulZeroOneClass.toMulOneClass.{u3} S (NonAssocSemiring.toMulZeroOneClass.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) M (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHomClass.toMonoidHomClass.{max u4 u3, u4, u3} (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) R S (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (RingHom.instRingHomClassRingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (algebraMap.{u4, u3} R S (CommRing.toCommSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_3))])) (FunLike.coe.{max (succ u3) (succ u1), succ u3, succ u1} (RingHom.{u3, u1} S Sₘ (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (Semiring.toNonAssocSemiring.{u1} Sₘ (CommSemiring.toSemiring.{u1} Sₘ (CommRing.toCommSemiring.{u1} Sₘ _inst_6)))) S (fun (_x : S) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : S) => Sₘ) _x) (MulHomClass.toFunLike.{max u3 u1, u3, u1} (RingHom.{u3, u1} S Sₘ (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (Semiring.toNonAssocSemiring.{u1} Sₘ (CommSemiring.toSemiring.{u1} Sₘ (CommRing.toCommSemiring.{u1} Sₘ _inst_6)))) S Sₘ (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toMul.{u1} Sₘ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} Sₘ (Semiring.toNonAssocSemiring.{u1} Sₘ (CommSemiring.toSemiring.{u1} Sₘ (CommRing.toCommSemiring.{u1} Sₘ _inst_6))))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u1, u3, u1} (RingHom.{u3, u1} S Sₘ (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (Semiring.toNonAssocSemiring.{u1} Sₘ (CommSemiring.toSemiring.{u1} Sₘ (CommRing.toCommSemiring.{u1} Sₘ _inst_6)))) S Sₘ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} Sₘ (Semiring.toNonAssocSemiring.{u1} Sₘ (CommSemiring.toSemiring.{u1} Sₘ (CommRing.toCommSemiring.{u1} Sₘ _inst_6)))) (RingHomClass.toNonUnitalRingHomClass.{max u3 u1, u3, u1} (RingHom.{u3, u1} S Sₘ (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (Semiring.toNonAssocSemiring.{u1} Sₘ (CommSemiring.toSemiring.{u1} Sₘ (CommRing.toCommSemiring.{u1} Sₘ _inst_6)))) S Sₘ (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (Semiring.toNonAssocSemiring.{u1} Sₘ (CommSemiring.toSemiring.{u1} Sₘ (CommRing.toCommSemiring.{u1} Sₘ _inst_6))) (RingHom.instRingHomClassRingHom.{u3, u1} S Sₘ (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (Semiring.toNonAssocSemiring.{u1} Sₘ (CommSemiring.toSemiring.{u1} Sₘ (CommRing.toCommSemiring.{u1} Sₘ _inst_6))))))) (algebraMap.{u3, u1} S Sₘ (CommRing.toCommSemiring.{u3} S _inst_2) (CommSemiring.toSemiring.{u1} Sₘ (CommRing.toCommSemiring.{u1} Sₘ _inst_6)) _inst_9) x))
+<too large>
 Case conversion may be inaccurate. Consider using '#align is_integral_localization_at_leading_coeff is_integral_localization_at_leadingCoeffₓ'. -/
 /-- Given a particular witness to an element being algebraic over an algebra `R → S`,
 We can localize to a submonoid containing the leading coefficient to make it integral.
@@ -300,10 +285,7 @@ theorem is_integral_localization_at_leadingCoeff {x : S} (p : R[X]) (hp : aeval
 #align is_integral_localization_at_leading_coeff is_integral_localization_at_leadingCoeff
 
 /- warning: is_integral_localization -> isIntegral_localization is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {M : Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))} {S : Type.{u2}} [_inst_2 : CommRing.{u2} S] [_inst_3 : Algebra.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))] {Rₘ : Type.{u3}} {Sₘ : Type.{u4}} [_inst_5 : CommRing.{u3} Rₘ] [_inst_6 : CommRing.{u4} Sₘ] [_inst_7 : Algebra.{u1, u3} R Rₘ (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u3} Rₘ (CommRing.toRing.{u3} Rₘ _inst_5))] [_inst_8 : IsLocalization.{u1, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M Rₘ (CommRing.toCommSemiring.{u3} Rₘ _inst_5) _inst_7] [_inst_9 : Algebra.{u2, u4} S Sₘ (CommRing.toCommSemiring.{u2} S _inst_2) (Ring.toSemiring.{u4} Sₘ (CommRing.toRing.{u4} Sₘ _inst_6))] [_inst_10 : IsLocalization.{u2, u4} S (CommRing.toCommSemiring.{u2} S _inst_2) (Algebra.algebraMapSubmonoid.{u1, u2} R (CommRing.toCommSemiring.{u1} R _inst_1) S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) _inst_3 M) Sₘ (CommRing.toCommSemiring.{u4} Sₘ _inst_6) _inst_9], (Algebra.IsIntegral.{u1, u2} R S _inst_1 (CommRing.toRing.{u2} S _inst_2) _inst_3) -> (RingHom.IsIntegral.{u3, u4} Rₘ Sₘ _inst_5 (CommRing.toRing.{u4} Sₘ _inst_6) (IsLocalization.map.{u1, u3, u2, u4} R (CommRing.toCommSemiring.{u1} R _inst_1) M Rₘ (CommRing.toCommSemiring.{u3} Rₘ _inst_5) _inst_7 S (CommRing.toCommSemiring.{u2} S _inst_2) _inst_8 (Algebra.algebraMapSubmonoid.{u1, u2} R (CommRing.toCommSemiring.{u1} R _inst_1) S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) _inst_3 M) Sₘ (CommRing.toCommSemiring.{u4} Sₘ _inst_6) _inst_9 _inst_10 (algebraMap.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) _inst_3) ((fun (this : LE.le.{u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (Preorder.toHasLe.{u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (PartialOrder.toPreorder.{u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (SetLike.partialOrder.{u1, u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) R (Submonoid.setLike.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))))))) M (Submonoid.comap.{u1, u2, max u1 u2} R S (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (MulZeroOneClass.toMulOneClass.{u2} S (NonAssocSemiring.toMulZeroOneClass.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))))) (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)))) (RingHomClass.toMonoidHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)))) R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))) (RingHom.ringHomClass.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))))) (algebraMap.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) _inst_3) (Algebra.algebraMapSubmonoid.{u1, u2} R (CommRing.toCommSemiring.{u1} R _inst_1) S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) _inst_3 M))) => this) (Submonoid.le_comap_map.{u1, u2, max u1 u2} R S (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (MulZeroOneClass.toMulOneClass.{u2} S (NonAssocSemiring.toMulZeroOneClass.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))))) M (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)))) (RingHomClass.toMonoidHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)))) R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))) (RingHom.ringHomClass.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))))) (algebraMap.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) _inst_3)))))
-but is expected to have type
-  forall {R : Type.{u4}} [_inst_1 : CommRing.{u4} R] {M : Submonoid.{u4} R (MulZeroOneClass.toMulOneClass.{u4} R (NonAssocSemiring.toMulZeroOneClass.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))} {S : Type.{u3}} [_inst_2 : CommRing.{u3} S] [_inst_3 : Algebra.{u4, u3} R S (CommRing.toCommSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))] {Rₘ : Type.{u2}} {Sₘ : Type.{u1}} [_inst_5 : CommRing.{u2} Rₘ] [_inst_6 : CommRing.{u1} Sₘ] [_inst_7 : Algebra.{u4, u2} R Rₘ (CommRing.toCommSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u2} Rₘ (CommRing.toCommSemiring.{u2} Rₘ _inst_5))] [_inst_8 : IsLocalization.{u4, u2} R (CommRing.toCommSemiring.{u4} R _inst_1) M Rₘ (CommRing.toCommSemiring.{u2} Rₘ _inst_5) _inst_7] [_inst_9 : Algebra.{u3, u1} S Sₘ (CommRing.toCommSemiring.{u3} S _inst_2) (CommSemiring.toSemiring.{u1} Sₘ (CommRing.toCommSemiring.{u1} Sₘ _inst_6))] [_inst_10 : IsLocalization.{u3, u1} S (CommRing.toCommSemiring.{u3} S _inst_2) (Algebra.algebraMapSubmonoid.{u4, u3} R (CommRing.toCommSemiring.{u4} R _inst_1) S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_3 M) Sₘ (CommRing.toCommSemiring.{u1} Sₘ _inst_6) _inst_9], (Algebra.IsIntegral.{u4, u3} R S _inst_1 (CommRing.toRing.{u3} S _inst_2) _inst_3) -> (RingHom.IsIntegral.{u2, u1} Rₘ Sₘ _inst_5 (CommRing.toRing.{u1} Sₘ _inst_6) (IsLocalization.map.{u4, u2, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M Rₘ (CommRing.toCommSemiring.{u2} Rₘ _inst_5) _inst_7 S (CommRing.toCommSemiring.{u3} S _inst_2) _inst_8 (Algebra.algebraMapSubmonoid.{u4, u3} R (CommRing.toCommSemiring.{u4} R _inst_1) S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_3 M) Sₘ (CommRing.toCommSemiring.{u1} Sₘ _inst_6) _inst_9 _inst_10 (algebraMap.{u4, u3} R S (CommRing.toCommSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_3) ([mdata let_fun:1 (fun (this : LE.le.{u4} (Submonoid.{u4} R (MulZeroOneClass.toMulOneClass.{u4} R (NonAssocSemiring.toMulZeroOneClass.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (Preorder.toLE.{u4} (Submonoid.{u4} R (MulZeroOneClass.toMulOneClass.{u4} R (NonAssocSemiring.toMulZeroOneClass.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (PartialOrder.toPreorder.{u4} (Submonoid.{u4} R (MulZeroOneClass.toMulOneClass.{u4} R (NonAssocSemiring.toMulZeroOneClass.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (OmegaCompletePartialOrder.toPartialOrder.{u4} (Submonoid.{u4} R (MulZeroOneClass.toMulOneClass.{u4} R (NonAssocSemiring.toMulZeroOneClass.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (CompleteLattice.instOmegaCompletePartialOrder.{u4} (Submonoid.{u4} R (MulZeroOneClass.toMulOneClass.{u4} R (NonAssocSemiring.toMulZeroOneClass.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (Submonoid.instCompleteLatticeSubmonoid.{u4} R (MulZeroOneClass.toMulOneClass.{u4} R (NonAssocSemiring.toMulZeroOneClass.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))))))) M (Submonoid.comap.{u4, u3, max u4 u3} R S (MulZeroOneClass.toMulOneClass.{u4} R (NonAssocSemiring.toMulZeroOneClass.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (MulZeroOneClass.toMulOneClass.{u3} S (NonAssocSemiring.toMulZeroOneClass.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHomClass.toMonoidHomClass.{max u4 u3, u4, u3} (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) R S (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (RingHom.instRingHomClassRingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (algebraMap.{u4, u3} R S (CommRing.toCommSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_3) (Algebra.algebraMapSubmonoid.{u4, u3} R (CommRing.toCommSemiring.{u4} R _inst_1) S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_3 M))) => this) (Submonoid.le_comap_map.{max u4 u3, u3, u4} R S (MulZeroOneClass.toMulOneClass.{u4} R (NonAssocSemiring.toMulZeroOneClass.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (MulZeroOneClass.toMulOneClass.{u3} S (NonAssocSemiring.toMulZeroOneClass.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) M (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHomClass.toMonoidHomClass.{max u4 u3, u4, u3} (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) R S (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (RingHom.instRingHomClassRingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (algebraMap.{u4, u3} R S (CommRing.toCommSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_3))])))
+<too large>
 Case conversion may be inaccurate. Consider using '#align is_integral_localization isIntegral_localizationₓ'. -/
 /-- If `R → S` is an integral extension, `M` is a submonoid of `R`,
 `Rₘ` is the localization of `R` at `M`,
@@ -330,10 +312,7 @@ theorem isIntegral_localization (H : Algebra.IsIntegral R S) :
 #align is_integral_localization isIntegral_localization
 
 /- warning: is_integral_localization' -> isIntegral_localization' is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_11 : CommRing.{u1} R] [_inst_12 : CommRing.{u2} S] {f : RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))}, (RingHom.IsIntegral.{u1, u2} R S _inst_11 (CommRing.toRing.{u2} S _inst_12) f) -> (forall (M : Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11)))))), RingHom.IsIntegral.{u1, u2} (Localization.{u1} R (CommRing.toCommMonoid.{u1} R _inst_11) M) (Localization.{u2} S (CommRing.toCommMonoid.{u2} S _inst_12) (Submonoid.map.{u1, u2, max u2 u1} R S (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))))) (Monoid.toMulOneClass.{u2} S (CommMonoid.toMonoid.{u2} S (CommRing.toCommMonoid.{u2} S _inst_12))) (MonoidHom.{u1, u2} R S (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u2} S (NonAssocSemiring.toMulZeroOneClass.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))))) (MonoidHom.monoidHomClass.{u1, u2} R S (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u2} S (NonAssocSemiring.toMulZeroOneClass.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))))) ((fun (a : Sort.{max (succ u1) (succ u2)}) (b : Sort.{max (succ u2) (succ u1)}) [self : HasLiftT.{max (succ u1) (succ u2), max (succ u2) (succ u1)} a b] => self.0) (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))) (MonoidHom.{u1, u2} R S (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u2} S (NonAssocSemiring.toMulZeroOneClass.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))))) (HasLiftT.mk.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))) (MonoidHom.{u1, u2} R S (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u2} S (NonAssocSemiring.toMulZeroOneClass.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))))) (CoeTCₓ.coe.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))) (MonoidHom.{u1, u2} R S (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u2} S (NonAssocSemiring.toMulZeroOneClass.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))))) (MonoidHom.hasCoeT.{u1, u2, max u1 u2} R S (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u2} S (NonAssocSemiring.toMulZeroOneClass.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12))))) (RingHomClass.toMonoidHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))) R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12))) (RingHom.ringHomClass.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))))))) f) M)) (Localization.commRing.{u1} R _inst_11 M) (CommRing.toRing.{u2} (Localization.{u2} S (CommRing.toCommMonoid.{u2} S _inst_12) (Submonoid.map.{u1, u2, max u2 u1} R S (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))))) (Monoid.toMulOneClass.{u2} S (CommMonoid.toMonoid.{u2} S (CommRing.toCommMonoid.{u2} S _inst_12))) (MonoidHom.{u1, u2} R S (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u2} S (NonAssocSemiring.toMulZeroOneClass.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))))) (MonoidHom.monoidHomClass.{u1, u2} R S (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u2} S (NonAssocSemiring.toMulZeroOneClass.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))))) ((fun (a : Sort.{max (succ u1) (succ u2)}) (b : Sort.{max (succ u2) (succ u1)}) [self : HasLiftT.{max (succ u1) (succ u2), max (succ u2) (succ u1)} a b] => self.0) (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))) (MonoidHom.{u1, u2} R S (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u2} S (NonAssocSemiring.toMulZeroOneClass.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))))) (HasLiftT.mk.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))) (MonoidHom.{u1, u2} R S (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u2} S (NonAssocSemiring.toMulZeroOneClass.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))))) (CoeTCₓ.coe.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))) (MonoidHom.{u1, u2} R S (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u2} S (NonAssocSemiring.toMulZeroOneClass.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))))) (MonoidHom.hasCoeT.{u1, u2, max u1 u2} R S (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u2} S (NonAssocSemiring.toMulZeroOneClass.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12))))) (RingHomClass.toMonoidHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))) R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12))) (RingHom.ringHomClass.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))))))) f) M)) (Localization.commRing.{u2} S _inst_12 (Submonoid.map.{u1, u2, max u2 u1} R S (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))))) (Monoid.toMulOneClass.{u2} S (CommMonoid.toMonoid.{u2} S (CommRing.toCommMonoid.{u2} S _inst_12))) (MonoidHom.{u1, u2} R S (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u2} S (NonAssocSemiring.toMulZeroOneClass.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))))) (MonoidHom.monoidHomClass.{u1, u2} R S (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u2} S (NonAssocSemiring.toMulZeroOneClass.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))))) ((fun (a : Sort.{max (succ u1) (succ u2)}) (b : Sort.{max (succ u2) (succ u1)}) [self : HasLiftT.{max (succ u1) (succ u2), max (succ u2) (succ u1)} a b] => self.0) (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))) (MonoidHom.{u1, u2} R S (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u2} S (NonAssocSemiring.toMulZeroOneClass.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))))) (HasLiftT.mk.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))) (MonoidHom.{u1, u2} R S (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u2} S (NonAssocSemiring.toMulZeroOneClass.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))))) (CoeTCₓ.coe.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))) (MonoidHom.{u1, u2} R S (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u2} S (NonAssocSemiring.toMulZeroOneClass.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))))) (MonoidHom.hasCoeT.{u1, u2, max u1 u2} R S (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u2} S (NonAssocSemiring.toMulZeroOneClass.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12))))) (RingHomClass.toMonoidHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))) R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12))) (RingHom.ringHomClass.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))))))) f) M))) (IsLocalization.map.{u1, u1, u2, u2} R (CommRing.toCommSemiring.{u1} R _inst_11) M (Localization.{u1} R (CommRing.toCommMonoid.{u1} R _inst_11) M) (Localization.commSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_11) M) (Localization.algebra.{u1, u1} R (CommRing.toCommSemiring.{u1} R _inst_11) M R (CommRing.toCommSemiring.{u1} R _inst_11) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_11))) S (CommRing.toCommSemiring.{u2} S _inst_12) (Localization.isLocalization.{u1} R (CommRing.toCommSemiring.{u1} R _inst_11) M) (Submonoid.map.{u1, u2, max u2 u1} R S (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u2} S (NonAssocSemiring.toMulZeroOneClass.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12))))) (MonoidHom.{u1, u2} R S (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u2} S (NonAssocSemiring.toMulZeroOneClass.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))))) (MonoidHom.monoidHomClass.{u1, u2} R S (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u2} S (NonAssocSemiring.toMulZeroOneClass.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))))) ((fun (a : Sort.{max (succ u1) (succ u2)}) (b : Sort.{max (succ u2) (succ u1)}) [self : HasLiftT.{max (succ u1) (succ u2), max (succ u2) (succ u1)} a b] => self.0) (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))) (MonoidHom.{u1, u2} R S (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u2} S (NonAssocSemiring.toMulZeroOneClass.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))))) (HasLiftT.mk.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))) (MonoidHom.{u1, u2} R S (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u2} S (NonAssocSemiring.toMulZeroOneClass.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))))) (CoeTCₓ.coe.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))) (MonoidHom.{u1, u2} R S (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u2} S (NonAssocSemiring.toMulZeroOneClass.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))))) (MonoidHom.hasCoeT.{u1, u2, max u1 u2} R S (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u2} S (NonAssocSemiring.toMulZeroOneClass.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12))))) (RingHomClass.toMonoidHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))) R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12))) (RingHom.ringHomClass.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))))))) f) M) (Localization.{u2} S (CommRing.toCommMonoid.{u2} S _inst_12) (Submonoid.map.{u1, u2, max u2 u1} R S (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))))) (Monoid.toMulOneClass.{u2} S (CommMonoid.toMonoid.{u2} S (CommRing.toCommMonoid.{u2} S _inst_12))) (MonoidHom.{u1, u2} R S (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u2} S (NonAssocSemiring.toMulZeroOneClass.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))))) (MonoidHom.monoidHomClass.{u1, u2} R S (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u2} S (NonAssocSemiring.toMulZeroOneClass.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))))) ((fun (a : Sort.{max (succ u1) (succ u2)}) (b : Sort.{max (succ u2) (succ u1)}) [self : HasLiftT.{max (succ u1) (succ u2), max (succ u2) (succ u1)} a b] => self.0) (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))) (MonoidHom.{u1, u2} R S (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u2} S (NonAssocSemiring.toMulZeroOneClass.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))))) (HasLiftT.mk.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))) (MonoidHom.{u1, u2} R S (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u2} S (NonAssocSemiring.toMulZeroOneClass.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))))) (CoeTCₓ.coe.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))) (MonoidHom.{u1, u2} R S (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u2} S (NonAssocSemiring.toMulZeroOneClass.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))))) (MonoidHom.hasCoeT.{u1, u2, max u1 u2} R S (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u2} S (NonAssocSemiring.toMulZeroOneClass.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12))))) (RingHomClass.toMonoidHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))) R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12))) (RingHom.ringHomClass.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))))))) f) M)) (Localization.commSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_12) (Submonoid.map.{u1, u2, max u2 u1} R S (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))))) (Monoid.toMulOneClass.{u2} S (CommMonoid.toMonoid.{u2} S (CommRing.toCommMonoid.{u2} S _inst_12))) (MonoidHom.{u1, u2} R S (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u2} S (NonAssocSemiring.toMulZeroOneClass.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))))) (MonoidHom.monoidHomClass.{u1, u2} R S (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u2} S (NonAssocSemiring.toMulZeroOneClass.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))))) ((fun (a : Sort.{max (succ u1) (succ u2)}) (b : Sort.{max (succ u2) (succ u1)}) [self : HasLiftT.{max (succ u1) (succ u2), max (succ u2) (succ u1)} a b] => self.0) (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))) (MonoidHom.{u1, u2} R S (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u2} S (NonAssocSemiring.toMulZeroOneClass.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))))) (HasLiftT.mk.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))) (MonoidHom.{u1, u2} R S (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u2} S (NonAssocSemiring.toMulZeroOneClass.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))))) (CoeTCₓ.coe.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))) (MonoidHom.{u1, u2} R S (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u2} S (NonAssocSemiring.toMulZeroOneClass.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))))) (MonoidHom.hasCoeT.{u1, u2, max u1 u2} R S (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u2} S (NonAssocSemiring.toMulZeroOneClass.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12))))) (RingHomClass.toMonoidHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))) R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12))) (RingHom.ringHomClass.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))))))) f) M)) (Localization.algebra.{u2, u2} S (CommRing.toCommSemiring.{u2} S _inst_12) (Submonoid.map.{u1, u2, max u2 u1} R S (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))))) (Monoid.toMulOneClass.{u2} S (CommMonoid.toMonoid.{u2} S (CommRing.toCommMonoid.{u2} S _inst_12))) (MonoidHom.{u1, u2} R S (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u2} S (NonAssocSemiring.toMulZeroOneClass.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))))) (MonoidHom.monoidHomClass.{u1, u2} R S (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u2} S (NonAssocSemiring.toMulZeroOneClass.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))))) ((fun (a : Sort.{max (succ u1) (succ u2)}) (b : Sort.{max (succ u2) (succ u1)}) [self : HasLiftT.{max (succ u1) (succ u2), max (succ u2) (succ u1)} a b] => self.0) (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))) (MonoidHom.{u1, u2} R S (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u2} S (NonAssocSemiring.toMulZeroOneClass.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))))) (HasLiftT.mk.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))) (MonoidHom.{u1, u2} R S (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u2} S (NonAssocSemiring.toMulZeroOneClass.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))))) (CoeTCₓ.coe.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))) (MonoidHom.{u1, u2} R S (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u2} S (NonAssocSemiring.toMulZeroOneClass.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))))) (MonoidHom.hasCoeT.{u1, u2, max u1 u2} R S (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u2} S (NonAssocSemiring.toMulZeroOneClass.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12))))) (RingHomClass.toMonoidHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))) R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12))) (RingHom.ringHomClass.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))))))) f) M) S (CommRing.toCommSemiring.{u2} S _inst_12) (Algebra.id.{u2} S (CommRing.toCommSemiring.{u2} S _inst_12))) (Localization.isLocalization.{u2} S (CommRing.toCommSemiring.{u2} S _inst_12) (Submonoid.map.{u1, u2, max u2 u1} R S (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u2} S (NonAssocSemiring.toMulZeroOneClass.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12))))) (MonoidHom.{u1, u2} R S (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u2} S (NonAssocSemiring.toMulZeroOneClass.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))))) (MonoidHom.monoidHomClass.{u1, u2} R S (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u2} S (NonAssocSemiring.toMulZeroOneClass.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))))) ((fun (a : Sort.{max (succ u1) (succ u2)}) (b : Sort.{max (succ u2) (succ u1)}) [self : HasLiftT.{max (succ u1) (succ u2), max (succ u2) (succ u1)} a b] => self.0) (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))) (MonoidHom.{u1, u2} R S (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u2} S (NonAssocSemiring.toMulZeroOneClass.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))))) (HasLiftT.mk.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))) (MonoidHom.{u1, u2} R S (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u2} S (NonAssocSemiring.toMulZeroOneClass.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))))) (CoeTCₓ.coe.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))) (MonoidHom.{u1, u2} R S (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u2} S (NonAssocSemiring.toMulZeroOneClass.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))))) (MonoidHom.hasCoeT.{u1, u2, max u1 u2} R S (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u2} S (NonAssocSemiring.toMulZeroOneClass.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12))))) (RingHomClass.toMonoidHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))) R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12))) (RingHom.ringHomClass.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))))))) f) M)) f (Submonoid.le_comap_map.{u1, u2, max u2 u1} R S (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u2} S (NonAssocSemiring.toMulZeroOneClass.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12))))) M (MonoidHom.{u1, u2} R S (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u2} S (NonAssocSemiring.toMulZeroOneClass.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))))) (MonoidHom.monoidHomClass.{u1, u2} R S (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u2} S (NonAssocSemiring.toMulZeroOneClass.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))))) ((fun (a : Sort.{max (succ u1) (succ u2)}) (b : Sort.{max (succ u2) (succ u1)}) [self : HasLiftT.{max (succ u1) (succ u2), max (succ u2) (succ u1)} a b] => self.0) (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))) (MonoidHom.{u1, u2} R S (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u2} S (NonAssocSemiring.toMulZeroOneClass.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))))) (HasLiftT.mk.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))) (MonoidHom.{u1, u2} R S (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u2} S (NonAssocSemiring.toMulZeroOneClass.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))))) (CoeTCₓ.coe.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))) (MonoidHom.{u1, u2} R S (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u2} S (NonAssocSemiring.toMulZeroOneClass.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))))) (MonoidHom.hasCoeT.{u1, u2, max u1 u2} R S (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u2} S (NonAssocSemiring.toMulZeroOneClass.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12))))) (RingHomClass.toMonoidHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))) R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12))) (RingHom.ringHomClass.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))))))) f))))
-but is expected to have type
-  forall {R : Type.{u2}} {S : Type.{u1}} [_inst_11 : CommRing.{u2} R] [_inst_12 : CommRing.{u1} S] {f : RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_11))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_12)))}, (RingHom.IsIntegral.{u2, u1} R S _inst_11 (CommRing.toRing.{u1} S _inst_12) f) -> (forall (M : Submonoid.{u2} R (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_11)))))), RingHom.IsIntegral.{u2, u1} (Localization.{u2} R (CommRing.toCommMonoid.{u2} R _inst_11) M) (Localization.{u1} S (CommRing.toCommMonoid.{u1} S _inst_12) (Submonoid.map.{u2, u1, max u2 u1} R S (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_11))))) (Monoid.toMulOneClass.{u1} S (CommMonoid.toMonoid.{u1} S (CommRing.toCommMonoid.{u1} S _inst_12))) (MonoidHom.{u2, u1} R S (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u1} S (NonAssocSemiring.toMulZeroOneClass.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_12)))))) (MonoidHom.monoidHomClass.{u2, u1} R S (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u1} S (NonAssocSemiring.toMulZeroOneClass.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_12)))))) (MonoidHomClass.toMonoidHom.{u2, u1, max u2 u1} R S (RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_11))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_12)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u1} S (NonAssocSemiring.toMulZeroOneClass.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_12))))) (RingHomClass.toMonoidHomClass.{max u2 u1, u2, u1} (RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_11))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_12)))) R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_11))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_12))) (RingHom.instRingHomClassRingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_11))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_12))))) f) M)) (Localization.instCommRingLocalizationToCommMonoid.{u2} R _inst_11 M) (CommRing.toRing.{u1} (Localization.{u1} S (CommRing.toCommMonoid.{u1} S _inst_12) (Submonoid.map.{u2, u1, max u2 u1} R S (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_11))))) (Monoid.toMulOneClass.{u1} S (CommMonoid.toMonoid.{u1} S (CommRing.toCommMonoid.{u1} S _inst_12))) (MonoidHom.{u2, u1} R S (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u1} S (NonAssocSemiring.toMulZeroOneClass.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_12)))))) (MonoidHom.monoidHomClass.{u2, u1} R S (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u1} S (NonAssocSemiring.toMulZeroOneClass.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_12)))))) (MonoidHomClass.toMonoidHom.{u2, u1, max u2 u1} R S (RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_11))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_12)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u1} S (NonAssocSemiring.toMulZeroOneClass.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_12))))) (RingHomClass.toMonoidHomClass.{max u2 u1, u2, u1} (RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_11))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_12)))) R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_11))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_12))) (RingHom.instRingHomClassRingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_11))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_12))))) f) M)) (Localization.instCommRingLocalizationToCommMonoid.{u1} S _inst_12 (Submonoid.map.{u2, u1, max u2 u1} R S (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_11))))) (Monoid.toMulOneClass.{u1} S (CommMonoid.toMonoid.{u1} S (CommRing.toCommMonoid.{u1} S _inst_12))) (MonoidHom.{u2, u1} R S (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u1} S (NonAssocSemiring.toMulZeroOneClass.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_12)))))) (MonoidHom.monoidHomClass.{u2, u1} R S (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u1} S (NonAssocSemiring.toMulZeroOneClass.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_12)))))) (MonoidHomClass.toMonoidHom.{u2, u1, max u2 u1} R S (RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_11))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_12)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u1} S (NonAssocSemiring.toMulZeroOneClass.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_12))))) (RingHomClass.toMonoidHomClass.{max u2 u1, u2, u1} (RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_11))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_12)))) R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_11))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_12))) (RingHom.instRingHomClassRingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_11))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_12))))) f) M))) (IsLocalization.map.{u2, u2, u1, u1} R (CommRing.toCommSemiring.{u2} R _inst_11) M (Localization.{u2} R (CommRing.toCommMonoid.{u2} R _inst_11) M) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_11) M) (Localization.instAlgebraLocalizationToCommMonoidToSemiringInstCommSemiringLocalizationToCommMonoid.{u2, u2} R (CommRing.toCommSemiring.{u2} R _inst_11) M R (CommRing.toCommSemiring.{u2} R _inst_11) (Algebra.id.{u2} R (CommRing.toCommSemiring.{u2} R _inst_11))) S (CommRing.toCommSemiring.{u1} S _inst_12) (Localization.isLocalization.{u2} R (CommRing.toCommSemiring.{u2} R _inst_11) M) (Submonoid.map.{u2, u1, max u2 u1} R S (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u1} S (NonAssocSemiring.toMulZeroOneClass.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_12))))) (MonoidHom.{u2, u1} R S (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u1} S (NonAssocSemiring.toMulZeroOneClass.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_12)))))) (MonoidHom.monoidHomClass.{u2, u1} R S (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u1} S (NonAssocSemiring.toMulZeroOneClass.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_12)))))) (MonoidHomClass.toMonoidHom.{u2, u1, max u2 u1} R S (RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_11))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_12)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u1} S (NonAssocSemiring.toMulZeroOneClass.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_12))))) (RingHomClass.toMonoidHomClass.{max u2 u1, u2, u1} (RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_11))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_12)))) R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_11))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_12))) (RingHom.instRingHomClassRingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_11))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_12))))) f) M) (Localization.{u1} S (CommRing.toCommMonoid.{u1} S _inst_12) (Submonoid.map.{u2, u1, max u2 u1} R S (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_11))))) (Monoid.toMulOneClass.{u1} S (CommMonoid.toMonoid.{u1} S (CommRing.toCommMonoid.{u1} S _inst_12))) (MonoidHom.{u2, u1} R S (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u1} S (NonAssocSemiring.toMulZeroOneClass.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_12)))))) (MonoidHom.monoidHomClass.{u2, u1} R S (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u1} S (NonAssocSemiring.toMulZeroOneClass.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_12)))))) (MonoidHomClass.toMonoidHom.{u2, u1, max u2 u1} R S (RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_11))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_12)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u1} S (NonAssocSemiring.toMulZeroOneClass.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_12))))) (RingHomClass.toMonoidHomClass.{max u2 u1, u2, u1} (RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_11))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_12)))) R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_11))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_12))) (RingHom.instRingHomClassRingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_11))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_12))))) f) M)) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} S (CommRing.toCommSemiring.{u1} S _inst_12) (Submonoid.map.{u2, u1, max u2 u1} R S (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_11))))) (Monoid.toMulOneClass.{u1} S (CommMonoid.toMonoid.{u1} S (CommRing.toCommMonoid.{u1} S _inst_12))) (MonoidHom.{u2, u1} R S (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u1} S (NonAssocSemiring.toMulZeroOneClass.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_12)))))) (MonoidHom.monoidHomClass.{u2, u1} R S (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u1} S (NonAssocSemiring.toMulZeroOneClass.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_12)))))) (MonoidHomClass.toMonoidHom.{u2, u1, max u2 u1} R S (RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_11))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_12)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u1} S (NonAssocSemiring.toMulZeroOneClass.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_12))))) (RingHomClass.toMonoidHomClass.{max u2 u1, u2, u1} (RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_11))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_12)))) R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_11))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_12))) (RingHom.instRingHomClassRingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_11))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_12))))) f) M)) (Localization.instAlgebraLocalizationToCommMonoidToSemiringInstCommSemiringLocalizationToCommMonoid.{u1, u1} S (CommRing.toCommSemiring.{u1} S _inst_12) (Submonoid.map.{u2, u1, max u2 u1} R S (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_11))))) (Monoid.toMulOneClass.{u1} S (CommMonoid.toMonoid.{u1} S (CommRing.toCommMonoid.{u1} S _inst_12))) (MonoidHom.{u2, u1} R S (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u1} S (NonAssocSemiring.toMulZeroOneClass.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_12)))))) (MonoidHom.monoidHomClass.{u2, u1} R S (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u1} S (NonAssocSemiring.toMulZeroOneClass.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_12)))))) (MonoidHomClass.toMonoidHom.{u2, u1, max u2 u1} R S (RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_11))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_12)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u1} S (NonAssocSemiring.toMulZeroOneClass.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_12))))) (RingHomClass.toMonoidHomClass.{max u2 u1, u2, u1} (RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_11))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_12)))) R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_11))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_12))) (RingHom.instRingHomClassRingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_11))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_12))))) f) M) S (CommRing.toCommSemiring.{u1} S _inst_12) (Algebra.id.{u1} S (CommRing.toCommSemiring.{u1} S _inst_12))) (Localization.isLocalization.{u1} S (CommRing.toCommSemiring.{u1} S _inst_12) (Submonoid.map.{u2, u1, max u2 u1} R S (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u1} S (NonAssocSemiring.toMulZeroOneClass.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_12))))) (MonoidHom.{u2, u1} R S (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u1} S (NonAssocSemiring.toMulZeroOneClass.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_12)))))) (MonoidHom.monoidHomClass.{u2, u1} R S (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u1} S (NonAssocSemiring.toMulZeroOneClass.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_12)))))) (MonoidHomClass.toMonoidHom.{u2, u1, max u2 u1} R S (RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_11))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_12)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u1} S (NonAssocSemiring.toMulZeroOneClass.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_12))))) (RingHomClass.toMonoidHomClass.{max u2 u1, u2, u1} (RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_11))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_12)))) R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_11))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_12))) (RingHom.instRingHomClassRingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_11))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_12))))) f) M)) f (Submonoid.le_comap_map.{max u2 u1, u1, u2} R S (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u1} S (NonAssocSemiring.toMulZeroOneClass.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_12))))) M (MonoidHom.{u2, u1} R S (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u1} S (NonAssocSemiring.toMulZeroOneClass.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_12)))))) (MonoidHom.monoidHomClass.{u2, u1} R S (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u1} S (NonAssocSemiring.toMulZeroOneClass.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_12)))))) (MonoidHomClass.toMonoidHom.{u2, u1, max u2 u1} R S (RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_11))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_12)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u1} S (NonAssocSemiring.toMulZeroOneClass.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_12))))) (RingHomClass.toMonoidHomClass.{max u2 u1, u2, u1} (RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_11))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_12)))) R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_11))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_12))) (RingHom.instRingHomClassRingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_11))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_12))))) f))))
+<too large>
 Case conversion may be inaccurate. Consider using '#align is_integral_localization' isIntegral_localization'ₓ'. -/
 theorem isIntegral_localization' {R S : Type _} [CommRing R] [CommRing S] {f : R →+* S}
     (hf : f.IsIntegral) (M : Submonoid R) :
@@ -346,10 +325,7 @@ theorem isIntegral_localization' {R S : Type _} [CommRing R] [CommRing S] {f : R
 variable (M)
 
 /- warning: is_localization.scale_roots_common_denom_mem_lifts -> IsLocalization.scaleRoots_commonDenom_mem_lifts is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] (M : Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) {Rₘ : Type.{u2}} [_inst_5 : CommRing.{u2} Rₘ] [_inst_7 : Algebra.{u1, u2} R Rₘ (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} Rₘ (CommRing.toRing.{u2} Rₘ _inst_5))] [_inst_8 : IsLocalization.{u1, u2} R (CommRing.toCommSemiring.{u1} R _inst_1) M Rₘ (CommRing.toCommSemiring.{u2} Rₘ _inst_5) _inst_7] (p : Polynomial.{u2} Rₘ (Ring.toSemiring.{u2} Rₘ (CommRing.toRing.{u2} Rₘ _inst_5))), (Membership.Mem.{u2, u2} Rₘ (Subring.{u2} Rₘ (CommRing.toRing.{u2} Rₘ _inst_5)) (SetLike.hasMem.{u2, u2} (Subring.{u2} Rₘ (CommRing.toRing.{u2} Rₘ _inst_5)) Rₘ (Subring.setLike.{u2} Rₘ (CommRing.toRing.{u2} Rₘ _inst_5))) (Polynomial.leadingCoeff.{u2} Rₘ (Ring.toSemiring.{u2} Rₘ (CommRing.toRing.{u2} Rₘ _inst_5)) p) (RingHom.range.{u1, u2} R Rₘ (CommRing.toRing.{u1} R _inst_1) (CommRing.toRing.{u2} Rₘ _inst_5) (algebraMap.{u1, u2} R Rₘ (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} Rₘ (CommRing.toRing.{u2} Rₘ _inst_5)) _inst_7))) -> (Membership.Mem.{u2, u2} (Polynomial.{u2} Rₘ (Ring.toSemiring.{u2} Rₘ (CommRing.toRing.{u2} Rₘ _inst_5))) (Subsemiring.{u2} (Polynomial.{u2} Rₘ (Ring.toSemiring.{u2} Rₘ (CommRing.toRing.{u2} Rₘ _inst_5))) (Semiring.toNonAssocSemiring.{u2} (Polynomial.{u2} Rₘ (Ring.toSemiring.{u2} Rₘ (CommRing.toRing.{u2} Rₘ _inst_5))) (Polynomial.semiring.{u2} Rₘ (Ring.toSemiring.{u2} Rₘ (CommRing.toRing.{u2} Rₘ _inst_5))))) (SetLike.hasMem.{u2, u2} (Subsemiring.{u2} (Polynomial.{u2} Rₘ (Ring.toSemiring.{u2} Rₘ (CommRing.toRing.{u2} Rₘ _inst_5))) (Semiring.toNonAssocSemiring.{u2} (Polynomial.{u2} Rₘ (Ring.toSemiring.{u2} Rₘ (CommRing.toRing.{u2} Rₘ _inst_5))) (Polynomial.semiring.{u2} Rₘ (Ring.toSemiring.{u2} Rₘ (CommRing.toRing.{u2} Rₘ _inst_5))))) (Polynomial.{u2} Rₘ (Ring.toSemiring.{u2} Rₘ (CommRing.toRing.{u2} Rₘ _inst_5))) (Subsemiring.setLike.{u2} (Polynomial.{u2} Rₘ (Ring.toSemiring.{u2} Rₘ (CommRing.toRing.{u2} Rₘ _inst_5))) (Semiring.toNonAssocSemiring.{u2} (Polynomial.{u2} Rₘ (Ring.toSemiring.{u2} Rₘ (CommRing.toRing.{u2} Rₘ _inst_5))) (Polynomial.semiring.{u2} Rₘ (Ring.toSemiring.{u2} Rₘ (CommRing.toRing.{u2} Rₘ _inst_5)))))) (Polynomial.scaleRoots.{u2} Rₘ _inst_5 p (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R Rₘ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} Rₘ (Ring.toSemiring.{u2} Rₘ (CommRing.toRing.{u2} Rₘ _inst_5)))) (fun (_x : RingHom.{u1, u2} R Rₘ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} Rₘ (Ring.toSemiring.{u2} Rₘ (CommRing.toRing.{u2} Rₘ _inst_5)))) => R -> Rₘ) (RingHom.hasCoeToFun.{u1, u2} R Rₘ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} Rₘ (Ring.toSemiring.{u2} Rₘ (CommRing.toRing.{u2} Rₘ _inst_5)))) (algebraMap.{u1, u2} R Rₘ (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} Rₘ (CommRing.toRing.{u2} Rₘ _inst_5)) _inst_7) ((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 (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) R (Submonoid.setLike.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) M) R (HasLiftT.mk.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) R (Submonoid.setLike.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) M) R (CoeTCₓ.coe.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) R (Submonoid.setLike.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) M) R (coeBase.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) R (Submonoid.setLike.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) M) R (coeSubtype.{succ u1} R (fun (x : R) => Membership.Mem.{u1, u1} R (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (SetLike.hasMem.{u1, u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) R (Submonoid.setLike.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) x M))))) (IsLocalization.commonDenom.{u1, u2, 0} R _inst_1 M Rₘ _inst_5 _inst_7 _inst_8 Nat (Polynomial.support.{u2} Rₘ (Ring.toSemiring.{u2} Rₘ (CommRing.toRing.{u2} Rₘ _inst_5)) p) (Polynomial.coeff.{u2} Rₘ (Ring.toSemiring.{u2} Rₘ (CommRing.toRing.{u2} Rₘ _inst_5)) p))))) (Polynomial.lifts.{u1, u2} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) Rₘ (Ring.toSemiring.{u2} Rₘ (CommRing.toRing.{u2} Rₘ _inst_5)) (algebraMap.{u1, u2} R Rₘ (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} Rₘ (CommRing.toRing.{u2} Rₘ _inst_5)) _inst_7)))
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] (M : Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) {Rₘ : Type.{u2}} [_inst_5 : CommRing.{u2} Rₘ] [_inst_7 : Algebra.{u1, u2} R Rₘ (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} Rₘ (CommRing.toCommSemiring.{u2} Rₘ _inst_5))] [_inst_8 : IsLocalization.{u1, u2} R (CommRing.toCommSemiring.{u1} R _inst_1) M Rₘ (CommRing.toCommSemiring.{u2} Rₘ _inst_5) _inst_7] (p : Polynomial.{u2} Rₘ (CommSemiring.toSemiring.{u2} Rₘ (CommRing.toCommSemiring.{u2} Rₘ _inst_5))), (Membership.mem.{u2, u2} Rₘ (Subring.{u2} Rₘ (CommRing.toRing.{u2} Rₘ _inst_5)) (SetLike.instMembership.{u2, u2} (Subring.{u2} Rₘ (CommRing.toRing.{u2} Rₘ _inst_5)) Rₘ (Subring.instSetLikeSubring.{u2} Rₘ (CommRing.toRing.{u2} Rₘ _inst_5))) (Polynomial.leadingCoeff.{u2} Rₘ (CommSemiring.toSemiring.{u2} Rₘ (CommRing.toCommSemiring.{u2} Rₘ _inst_5)) p) (RingHom.range.{u1, u2} R Rₘ (CommRing.toRing.{u1} R _inst_1) (CommRing.toRing.{u2} Rₘ _inst_5) (algebraMap.{u1, u2} R Rₘ (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} Rₘ (CommRing.toCommSemiring.{u2} Rₘ _inst_5)) _inst_7))) -> (Membership.mem.{u2, u2} (Polynomial.{u2} Rₘ (CommSemiring.toSemiring.{u2} Rₘ (CommRing.toCommSemiring.{u2} Rₘ _inst_5))) (Subsemiring.{u2} (Polynomial.{u2} Rₘ (CommSemiring.toSemiring.{u2} Rₘ (CommRing.toCommSemiring.{u2} Rₘ _inst_5))) (Semiring.toNonAssocSemiring.{u2} (Polynomial.{u2} Rₘ (CommSemiring.toSemiring.{u2} Rₘ (CommRing.toCommSemiring.{u2} Rₘ _inst_5))) (Polynomial.semiring.{u2} Rₘ (CommSemiring.toSemiring.{u2} Rₘ (CommRing.toCommSemiring.{u2} Rₘ _inst_5))))) (SetLike.instMembership.{u2, u2} (Subsemiring.{u2} (Polynomial.{u2} Rₘ (CommSemiring.toSemiring.{u2} Rₘ (CommRing.toCommSemiring.{u2} Rₘ _inst_5))) (Semiring.toNonAssocSemiring.{u2} (Polynomial.{u2} Rₘ (CommSemiring.toSemiring.{u2} Rₘ (CommRing.toCommSemiring.{u2} Rₘ _inst_5))) (Polynomial.semiring.{u2} Rₘ (CommSemiring.toSemiring.{u2} Rₘ (CommRing.toCommSemiring.{u2} Rₘ _inst_5))))) (Polynomial.{u2} Rₘ (CommSemiring.toSemiring.{u2} Rₘ (CommRing.toCommSemiring.{u2} Rₘ _inst_5))) (Subsemiring.instSetLikeSubsemiring.{u2} (Polynomial.{u2} Rₘ (CommSemiring.toSemiring.{u2} Rₘ (CommRing.toCommSemiring.{u2} Rₘ _inst_5))) (Semiring.toNonAssocSemiring.{u2} (Polynomial.{u2} Rₘ (CommSemiring.toSemiring.{u2} Rₘ (CommRing.toCommSemiring.{u2} Rₘ _inst_5))) (Polynomial.semiring.{u2} Rₘ (CommSemiring.toSemiring.{u2} Rₘ (CommRing.toCommSemiring.{u2} Rₘ _inst_5)))))) (Polynomial.scaleRoots.{u2} Rₘ _inst_5 p (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (RingHom.{u1, u2} R Rₘ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} Rₘ (CommSemiring.toSemiring.{u2} Rₘ (CommRing.toCommSemiring.{u2} Rₘ _inst_5)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => Rₘ) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (RingHom.{u1, u2} R Rₘ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} Rₘ (CommSemiring.toSemiring.{u2} Rₘ (CommRing.toCommSemiring.{u2} Rₘ _inst_5)))) R Rₘ (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (NonUnitalNonAssocSemiring.toMul.{u2} Rₘ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} Rₘ (Semiring.toNonAssocSemiring.{u2} Rₘ (CommSemiring.toSemiring.{u2} Rₘ (CommRing.toCommSemiring.{u2} Rₘ _inst_5))))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R Rₘ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} Rₘ (CommSemiring.toSemiring.{u2} Rₘ (CommRing.toCommSemiring.{u2} Rₘ _inst_5)))) R Rₘ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} Rₘ (Semiring.toNonAssocSemiring.{u2} Rₘ (CommSemiring.toSemiring.{u2} Rₘ (CommRing.toCommSemiring.{u2} Rₘ _inst_5)))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R Rₘ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} Rₘ (CommSemiring.toSemiring.{u2} Rₘ (CommRing.toCommSemiring.{u2} Rₘ _inst_5)))) R Rₘ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} Rₘ (CommSemiring.toSemiring.{u2} Rₘ (CommRing.toCommSemiring.{u2} Rₘ _inst_5))) (RingHom.instRingHomClassRingHom.{u1, u2} R Rₘ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} Rₘ (CommSemiring.toSemiring.{u2} Rₘ (CommRing.toCommSemiring.{u2} Rₘ _inst_5))))))) (algebraMap.{u1, u2} R Rₘ (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} Rₘ (CommRing.toCommSemiring.{u2} Rₘ _inst_5)) _inst_7) (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 (CommRing.toCommSemiring.{u1} R _inst_1)))))) R (Submonoid.instSetLikeSubmonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) M)) (IsLocalization.commonDenom.{u1, u2, 0} R _inst_1 M Rₘ _inst_5 _inst_7 _inst_8 Nat (Polynomial.support.{u2} Rₘ (CommSemiring.toSemiring.{u2} Rₘ (CommRing.toCommSemiring.{u2} Rₘ _inst_5)) p) (Polynomial.coeff.{u2} Rₘ (CommSemiring.toSemiring.{u2} Rₘ (CommRing.toCommSemiring.{u2} Rₘ _inst_5)) p))))) (Polynomial.lifts.{u1, u2} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) Rₘ (CommSemiring.toSemiring.{u2} Rₘ (CommRing.toCommSemiring.{u2} Rₘ _inst_5)) (algebraMap.{u1, u2} R Rₘ (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} Rₘ (CommRing.toCommSemiring.{u2} Rₘ _inst_5)) _inst_7)))
+<too large>
 Case conversion may be inaccurate. Consider using '#align is_localization.scale_roots_common_denom_mem_lifts IsLocalization.scaleRoots_commonDenom_mem_liftsₓ'. -/
 theorem IsLocalization.scaleRoots_commonDenom_mem_lifts (p : Rₘ[X])
     (hp : p.leadingCoeff ∈ (algebraMap R Rₘ).range) :
@@ -376,10 +352,7 @@ theorem IsLocalization.scaleRoots_commonDenom_mem_lifts (p : Rₘ[X])
 #align is_localization.scale_roots_common_denom_mem_lifts IsLocalization.scaleRoots_commonDenom_mem_lifts
 
 /- warning: is_integral.exists_multiple_integral_of_is_localization -> IsIntegral.exists_multiple_integral_of_isLocalization is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] (M : Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) {S : Type.{u2}} [_inst_2 : CommRing.{u2} S] [_inst_3 : Algebra.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))] {Rₘ : Type.{u3}} [_inst_5 : CommRing.{u3} Rₘ] [_inst_7 : Algebra.{u1, u3} R Rₘ (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u3} Rₘ (CommRing.toRing.{u3} Rₘ _inst_5))] [_inst_8 : IsLocalization.{u1, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M Rₘ (CommRing.toCommSemiring.{u3} Rₘ _inst_5) _inst_7] [_inst_11 : Algebra.{u3, u2} Rₘ S (CommRing.toCommSemiring.{u3} Rₘ _inst_5) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))] [_inst_12 : IsScalarTower.{u1, u3, u2} R Rₘ S (SMulZeroClass.toHasSmul.{u1, u3} R Rₘ (AddZeroClass.toHasZero.{u3} Rₘ (AddMonoid.toAddZeroClass.{u3} Rₘ (AddCommMonoid.toAddMonoid.{u3} Rₘ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} Rₘ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} Rₘ (Semiring.toNonAssocSemiring.{u3} Rₘ (Ring.toSemiring.{u3} Rₘ (CommRing.toRing.{u3} Rₘ _inst_5)))))))) (SMulWithZero.toSmulZeroClass.{u1, u3} R Rₘ (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u3} Rₘ (AddMonoid.toAddZeroClass.{u3} Rₘ (AddCommMonoid.toAddMonoid.{u3} Rₘ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} Rₘ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} Rₘ (Semiring.toNonAssocSemiring.{u3} Rₘ (Ring.toSemiring.{u3} Rₘ (CommRing.toRing.{u3} Rₘ _inst_5)))))))) (MulActionWithZero.toSMulWithZero.{u1, u3} R Rₘ (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u3} Rₘ (AddMonoid.toAddZeroClass.{u3} Rₘ (AddCommMonoid.toAddMonoid.{u3} Rₘ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} Rₘ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} Rₘ (Semiring.toNonAssocSemiring.{u3} Rₘ (Ring.toSemiring.{u3} Rₘ (CommRing.toRing.{u3} Rₘ _inst_5)))))))) (Module.toMulActionWithZero.{u1, u3} R Rₘ (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} Rₘ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} Rₘ (Semiring.toNonAssocSemiring.{u3} Rₘ (Ring.toSemiring.{u3} Rₘ (CommRing.toRing.{u3} Rₘ _inst_5))))) (Algebra.toModule.{u1, u3} R Rₘ (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u3} Rₘ (CommRing.toRing.{u3} Rₘ _inst_5)) _inst_7))))) (SMulZeroClass.toHasSmul.{u3, u2} Rₘ S (AddZeroClass.toHasZero.{u2} S (AddMonoid.toAddZeroClass.{u2} S (AddCommMonoid.toAddMonoid.{u2} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)))))))) (SMulWithZero.toSmulZeroClass.{u3, u2} Rₘ S (MulZeroClass.toHasZero.{u3} Rₘ (MulZeroOneClass.toMulZeroClass.{u3} Rₘ (MonoidWithZero.toMulZeroOneClass.{u3} Rₘ (Semiring.toMonoidWithZero.{u3} Rₘ (CommSemiring.toSemiring.{u3} Rₘ (CommRing.toCommSemiring.{u3} Rₘ _inst_5)))))) (AddZeroClass.toHasZero.{u2} S (AddMonoid.toAddZeroClass.{u2} S (AddCommMonoid.toAddMonoid.{u2} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)))))))) (MulActionWithZero.toSMulWithZero.{u3, u2} Rₘ S (Semiring.toMonoidWithZero.{u3} Rₘ (CommSemiring.toSemiring.{u3} Rₘ (CommRing.toCommSemiring.{u3} Rₘ _inst_5))) (AddZeroClass.toHasZero.{u2} S (AddMonoid.toAddZeroClass.{u2} S (AddCommMonoid.toAddMonoid.{u2} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)))))))) (Module.toMulActionWithZero.{u3, u2} Rₘ S (CommSemiring.toSemiring.{u3} Rₘ (CommRing.toCommSemiring.{u3} Rₘ _inst_5)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))))) (Algebra.toModule.{u3, u2} Rₘ S (CommRing.toCommSemiring.{u3} Rₘ _inst_5) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) _inst_11))))) (SMulZeroClass.toHasSmul.{u1, u2} R S (AddZeroClass.toHasZero.{u2} S (AddMonoid.toAddZeroClass.{u2} S (AddCommMonoid.toAddMonoid.{u2} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)))))))) (SMulWithZero.toSmulZeroClass.{u1, u2} R S (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u2} S (AddMonoid.toAddZeroClass.{u2} S (AddCommMonoid.toAddMonoid.{u2} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)))))))) (MulActionWithZero.toSMulWithZero.{u1, u2} R S (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u2} S (AddMonoid.toAddZeroClass.{u2} S (AddCommMonoid.toAddMonoid.{u2} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)))))))) (Module.toMulActionWithZero.{u1, u2} R S (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))))) (Algebra.toModule.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) _inst_3)))))] (x : S), (IsIntegral.{u3, u2} Rₘ S _inst_5 (CommRing.toRing.{u2} S _inst_2) _inst_11 x) -> (Exists.{succ u1} (coeSort.{succ u1, succ (succ u1)} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) R (Submonoid.setLike.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) M) (fun (m : coeSort.{succ u1, succ (succ u1)} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) R (Submonoid.setLike.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) M) => IsIntegral.{u1, u2} R S _inst_1 (CommRing.toRing.{u2} S _inst_2) _inst_3 (SMul.smul.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) R (Submonoid.setLike.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) M) S (Submonoid.hasSmul.{u1, u2} R S (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (SMulZeroClass.toHasSmul.{u1, u2} R S (AddZeroClass.toHasZero.{u2} S (AddMonoid.toAddZeroClass.{u2} S (AddCommMonoid.toAddMonoid.{u2} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)))))))) (SMulWithZero.toSmulZeroClass.{u1, u2} R S (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u2} S (AddMonoid.toAddZeroClass.{u2} S (AddCommMonoid.toAddMonoid.{u2} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)))))))) (MulActionWithZero.toSMulWithZero.{u1, u2} R S (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u2} S (AddMonoid.toAddZeroClass.{u2} S (AddCommMonoid.toAddMonoid.{u2} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)))))))) (Module.toMulActionWithZero.{u1, u2} R S (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))))) (Algebra.toModule.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) _inst_3))))) M) m x)))
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] (M : Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) {S : Type.{u2}} [_inst_2 : CommRing.{u2} S] [_inst_3 : Algebra.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))] {Rₘ : Type.{u3}} [_inst_5 : CommRing.{u3} Rₘ] [_inst_7 : Algebra.{u1, u3} R Rₘ (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u3} Rₘ (CommRing.toCommSemiring.{u3} Rₘ _inst_5))] [_inst_8 : IsLocalization.{u1, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M Rₘ (CommRing.toCommSemiring.{u3} Rₘ _inst_5) _inst_7] [_inst_11 : Algebra.{u3, u2} Rₘ S (CommRing.toCommSemiring.{u3} Rₘ _inst_5) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))] [_inst_12 : IsScalarTower.{u1, u3, u2} R Rₘ S (Algebra.toSMul.{u1, u3} R Rₘ (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u3} Rₘ (CommRing.toCommSemiring.{u3} Rₘ _inst_5)) _inst_7) (Algebra.toSMul.{u3, u2} Rₘ S (CommRing.toCommSemiring.{u3} Rₘ _inst_5) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) _inst_11) (Algebra.toSMul.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) _inst_3)] (x : S), (IsIntegral.{u3, u2} Rₘ S _inst_5 (CommRing.toRing.{u2} S _inst_2) _inst_11 x) -> (Exists.{succ u1} (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 (CommRing.toCommSemiring.{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 (CommRing.toCommSemiring.{u1} R _inst_1)))))) R (Submonoid.instSetLikeSubmonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))) x M)) (fun (m : 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 (CommRing.toCommSemiring.{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 (CommRing.toCommSemiring.{u1} R _inst_1)))))) R (Submonoid.instSetLikeSubmonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))) x M)) => IsIntegral.{u1, u2} R S _inst_1 (CommRing.toRing.{u2} S _inst_2) _inst_3 (HSMul.hSMul.{u1, u2, u2} (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 (CommRing.toCommSemiring.{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 (CommRing.toCommSemiring.{u1} R _inst_1)))))) R (Submonoid.instSetLikeSubmonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))) x M)) S S (instHSMul.{u1, u2} (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 (CommRing.toCommSemiring.{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 (CommRing.toCommSemiring.{u1} R _inst_1)))))) R (Submonoid.instSetLikeSubmonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))) x M)) S (Submonoid.smul.{u1, u2} R S (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Algebra.toSMul.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) _inst_3) M)) m x)))
+<too large>
 Case conversion may be inaccurate. Consider using '#align is_integral.exists_multiple_integral_of_is_localization IsIntegral.exists_multiple_integral_of_isLocalizationₓ'. -/
 theorem IsIntegral.exists_multiple_integral_of_isLocalization [Algebra Rₘ S] [IsScalarTower R Rₘ S]
     (x : S) (hx : IsIntegral Rₘ x) : ∃ m : M, IsIntegral R (m • x) :=
@@ -414,10 +387,7 @@ variable [Algebra A C] [IsScalarTower A C L]
 open Algebra
 
 /- warning: is_integral_closure.is_fraction_ring_of_algebraic -> IsIntegralClosure.isFractionRing_of_algebraic 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))] {L : Type.{u2}} [_inst_8 : Field.{u2} L] [_inst_10 : Algebra.{u1, u2} A L (CommRing.toCommSemiring.{u1} A _inst_5) (Ring.toSemiring.{u2} L (DivisionRing.toRing.{u2} L (Field.toDivisionRing.{u2} L _inst_8)))] (C : Type.{u3}) [_inst_12 : CommRing.{u3} C] [_inst_13 : IsDomain.{u3} C (Ring.toSemiring.{u3} C (CommRing.toRing.{u3} C _inst_12))] [_inst_14 : Algebra.{u3, u2} C L (CommRing.toCommSemiring.{u3} C _inst_12) (Ring.toSemiring.{u2} L (DivisionRing.toRing.{u2} L (Field.toDivisionRing.{u2} L _inst_8)))] [_inst_15 : IsIntegralClosure.{u3, u1, u2} C A L _inst_5 (CommRing.toCommSemiring.{u3} C _inst_12) (EuclideanDomain.toCommRing.{u2} L (Field.toEuclideanDomain.{u2} L _inst_8)) _inst_10 _inst_14] [_inst_16 : Algebra.{u1, u3} A C (CommRing.toCommSemiring.{u1} A _inst_5) (Ring.toSemiring.{u3} C (CommRing.toRing.{u3} C _inst_12))] [_inst_17 : IsScalarTower.{u1, u3, u2} A C L (SMulZeroClass.toHasSmul.{u1, u3} A C (AddZeroClass.toHasZero.{u3} C (AddMonoid.toAddZeroClass.{u3} C (AddCommMonoid.toAddMonoid.{u3} C (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} C (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} C (Semiring.toNonAssocSemiring.{u3} C (Ring.toSemiring.{u3} C (CommRing.toRing.{u3} C _inst_12)))))))) (SMulWithZero.toSmulZeroClass.{u1, u3} A C (MulZeroClass.toHasZero.{u1} A (MulZeroOneClass.toMulZeroClass.{u1} A (MonoidWithZero.toMulZeroOneClass.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_5)))))) (AddZeroClass.toHasZero.{u3} C (AddMonoid.toAddZeroClass.{u3} C (AddCommMonoid.toAddMonoid.{u3} C (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} C (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} C (Semiring.toNonAssocSemiring.{u3} C (Ring.toSemiring.{u3} C (CommRing.toRing.{u3} C _inst_12)))))))) (MulActionWithZero.toSMulWithZero.{u1, u3} A C (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_5))) (AddZeroClass.toHasZero.{u3} C (AddMonoid.toAddZeroClass.{u3} C (AddCommMonoid.toAddMonoid.{u3} C (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} C (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} C (Semiring.toNonAssocSemiring.{u3} C (Ring.toSemiring.{u3} C (CommRing.toRing.{u3} C _inst_12)))))))) (Module.toMulActionWithZero.{u1, u3} A C (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_5)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} C (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} C (Semiring.toNonAssocSemiring.{u3} C (Ring.toSemiring.{u3} C (CommRing.toRing.{u3} C _inst_12))))) (Algebra.toModule.{u1, u3} A C (CommRing.toCommSemiring.{u1} A _inst_5) (Ring.toSemiring.{u3} C (CommRing.toRing.{u3} C _inst_12)) _inst_16))))) (SMulZeroClass.toHasSmul.{u3, u2} C L (AddZeroClass.toHasZero.{u2} L (AddMonoid.toAddZeroClass.{u2} L (AddCommMonoid.toAddMonoid.{u2} L (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} L (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} L (Semiring.toNonAssocSemiring.{u2} L (Ring.toSemiring.{u2} L (DivisionRing.toRing.{u2} L (Field.toDivisionRing.{u2} L _inst_8))))))))) (SMulWithZero.toSmulZeroClass.{u3, u2} C L (MulZeroClass.toHasZero.{u3} C (MulZeroOneClass.toMulZeroClass.{u3} C (MonoidWithZero.toMulZeroOneClass.{u3} C (Semiring.toMonoidWithZero.{u3} C (CommSemiring.toSemiring.{u3} C (CommRing.toCommSemiring.{u3} C _inst_12)))))) (AddZeroClass.toHasZero.{u2} L (AddMonoid.toAddZeroClass.{u2} L (AddCommMonoid.toAddMonoid.{u2} L (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} L (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} L (Semiring.toNonAssocSemiring.{u2} L (Ring.toSemiring.{u2} L (DivisionRing.toRing.{u2} L (Field.toDivisionRing.{u2} L _inst_8))))))))) (MulActionWithZero.toSMulWithZero.{u3, u2} C L (Semiring.toMonoidWithZero.{u3} C (CommSemiring.toSemiring.{u3} C (CommRing.toCommSemiring.{u3} C _inst_12))) (AddZeroClass.toHasZero.{u2} L (AddMonoid.toAddZeroClass.{u2} L (AddCommMonoid.toAddMonoid.{u2} L (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} L (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} L (Semiring.toNonAssocSemiring.{u2} L (Ring.toSemiring.{u2} L (DivisionRing.toRing.{u2} L (Field.toDivisionRing.{u2} L _inst_8))))))))) (Module.toMulActionWithZero.{u3, u2} C L (CommSemiring.toSemiring.{u3} C (CommRing.toCommSemiring.{u3} C _inst_12)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} L (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} L (Semiring.toNonAssocSemiring.{u2} L (Ring.toSemiring.{u2} L (DivisionRing.toRing.{u2} L (Field.toDivisionRing.{u2} L _inst_8)))))) (Algebra.toModule.{u3, u2} C L (CommRing.toCommSemiring.{u3} C _inst_12) (Ring.toSemiring.{u2} L (DivisionRing.toRing.{u2} L (Field.toDivisionRing.{u2} L _inst_8))) _inst_14))))) (SMulZeroClass.toHasSmul.{u1, u2} A L (AddZeroClass.toHasZero.{u2} L (AddMonoid.toAddZeroClass.{u2} L (AddCommMonoid.toAddMonoid.{u2} L (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} L (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} L (Semiring.toNonAssocSemiring.{u2} L (Ring.toSemiring.{u2} L (DivisionRing.toRing.{u2} L (Field.toDivisionRing.{u2} L _inst_8))))))))) (SMulWithZero.toSmulZeroClass.{u1, u2} A L (MulZeroClass.toHasZero.{u1} A (MulZeroOneClass.toMulZeroClass.{u1} A (MonoidWithZero.toMulZeroOneClass.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_5)))))) (AddZeroClass.toHasZero.{u2} L (AddMonoid.toAddZeroClass.{u2} L (AddCommMonoid.toAddMonoid.{u2} L (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} L (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} L (Semiring.toNonAssocSemiring.{u2} L (Ring.toSemiring.{u2} L (DivisionRing.toRing.{u2} L (Field.toDivisionRing.{u2} L _inst_8))))))))) (MulActionWithZero.toSMulWithZero.{u1, u2} A L (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_5))) (AddZeroClass.toHasZero.{u2} L (AddMonoid.toAddZeroClass.{u2} L (AddCommMonoid.toAddMonoid.{u2} L (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} L (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} L (Semiring.toNonAssocSemiring.{u2} L (Ring.toSemiring.{u2} L (DivisionRing.toRing.{u2} L (Field.toDivisionRing.{u2} L _inst_8))))))))) (Module.toMulActionWithZero.{u1, u2} A L (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_5)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} L (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} L (Semiring.toNonAssocSemiring.{u2} L (Ring.toSemiring.{u2} L (DivisionRing.toRing.{u2} L (Field.toDivisionRing.{u2} L _inst_8)))))) (Algebra.toModule.{u1, u2} A L (CommRing.toCommSemiring.{u1} A _inst_5) (Ring.toSemiring.{u2} L (DivisionRing.toRing.{u2} L (Field.toDivisionRing.{u2} L _inst_8))) _inst_10)))))], (Algebra.IsAlgebraic.{u1, u2} A L _inst_5 (DivisionRing.toRing.{u2} L (Field.toDivisionRing.{u2} L _inst_8)) _inst_10) -> (forall (x : A), (Eq.{succ u2} L (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} A L (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_5))) (Semiring.toNonAssocSemiring.{u2} L (Ring.toSemiring.{u2} L (DivisionRing.toRing.{u2} L (Field.toDivisionRing.{u2} L _inst_8))))) (fun (_x : RingHom.{u1, u2} A L (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_5))) (Semiring.toNonAssocSemiring.{u2} L (Ring.toSemiring.{u2} L (DivisionRing.toRing.{u2} L (Field.toDivisionRing.{u2} L _inst_8))))) => A -> L) (RingHom.hasCoeToFun.{u1, u2} A L (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_5))) (Semiring.toNonAssocSemiring.{u2} L (Ring.toSemiring.{u2} L (DivisionRing.toRing.{u2} L (Field.toDivisionRing.{u2} L _inst_8))))) (algebraMap.{u1, u2} A L (CommRing.toCommSemiring.{u1} A _inst_5) (Ring.toSemiring.{u2} L (DivisionRing.toRing.{u2} L (Field.toDivisionRing.{u2} L _inst_8))) _inst_10) x) (OfNat.ofNat.{u2} L 0 (OfNat.mk.{u2} L 0 (Zero.zero.{u2} L (MulZeroClass.toHasZero.{u2} L (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} L (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} L (NonAssocRing.toNonUnitalNonAssocRing.{u2} L (Ring.toNonAssocRing.{u2} L (DivisionRing.toRing.{u2} L (Field.toDivisionRing.{u2} L _inst_8))))))))))) -> (Eq.{succ u1} A x (OfNat.ofNat.{u1} A 0 (OfNat.mk.{u1} A 0 (Zero.zero.{u1} A (MulZeroClass.toHasZero.{u1} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_5))))))))))) -> (IsFractionRing.{u3, u2} C _inst_12 L (EuclideanDomain.toCommRing.{u2} L (Field.toEuclideanDomain.{u2} L _inst_8)) _inst_14)
-but is expected to have type
-  forall (A : Type.{u3}) [_inst_5 : CommRing.{u3} A] [_inst_6 : IsDomain.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_5))] {L : Type.{u2}} [_inst_8 : Field.{u2} L] [_inst_10 : Algebra.{u3, u2} A L (CommRing.toCommSemiring.{u3} A _inst_5) (DivisionSemiring.toSemiring.{u2} L (Semifield.toDivisionSemiring.{u2} L (Field.toSemifield.{u2} L _inst_8)))] (C : Type.{u1}) [_inst_12 : CommRing.{u1} C] [_inst_13 : IsDomain.{u1} C (CommSemiring.toSemiring.{u1} C (CommRing.toCommSemiring.{u1} C _inst_12))] [_inst_14 : Algebra.{u1, u2} C L (CommRing.toCommSemiring.{u1} C _inst_12) (DivisionSemiring.toSemiring.{u2} L (Semifield.toDivisionSemiring.{u2} L (Field.toSemifield.{u2} L _inst_8)))] [_inst_15 : IsIntegralClosure.{u1, u3, u2} C A L _inst_5 (CommRing.toCommSemiring.{u1} C _inst_12) (EuclideanDomain.toCommRing.{u2} L (Field.toEuclideanDomain.{u2} L _inst_8)) _inst_10 _inst_14] [_inst_16 : Algebra.{u3, u1} A C (CommRing.toCommSemiring.{u3} A _inst_5) (CommSemiring.toSemiring.{u1} C (CommRing.toCommSemiring.{u1} C _inst_12))] [_inst_17 : IsScalarTower.{u3, u1, u2} A C L (Algebra.toSMul.{u3, u1} A C (CommRing.toCommSemiring.{u3} A _inst_5) (CommSemiring.toSemiring.{u1} C (CommRing.toCommSemiring.{u1} C _inst_12)) _inst_16) (Algebra.toSMul.{u1, u2} C L (CommRing.toCommSemiring.{u1} C _inst_12) (DivisionSemiring.toSemiring.{u2} L (Semifield.toDivisionSemiring.{u2} L (Field.toSemifield.{u2} L _inst_8))) _inst_14) (Algebra.toSMul.{u3, u2} A L (CommRing.toCommSemiring.{u3} A _inst_5) (DivisionSemiring.toSemiring.{u2} L (Semifield.toDivisionSemiring.{u2} L (Field.toSemifield.{u2} L _inst_8))) _inst_10)], (Algebra.IsAlgebraic.{u3, u2} A L _inst_5 (DivisionRing.toRing.{u2} L (Field.toDivisionRing.{u2} L _inst_8)) _inst_10) -> (forall (x : A), (Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : A) => L) x) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (RingHom.{u3, u2} A L (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_5))) (Semiring.toNonAssocSemiring.{u2} L (DivisionSemiring.toSemiring.{u2} L (Semifield.toDivisionSemiring.{u2} L (Field.toSemifield.{u2} L _inst_8))))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : A) => L) _x) (MulHomClass.toFunLike.{max u3 u2, u3, u2} (RingHom.{u3, u2} A L (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_5))) (Semiring.toNonAssocSemiring.{u2} L (DivisionSemiring.toSemiring.{u2} L (Semifield.toDivisionSemiring.{u2} L (Field.toSemifield.{u2} L _inst_8))))) A L (NonUnitalNonAssocSemiring.toMul.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_5))))) (NonUnitalNonAssocSemiring.toMul.{u2} L (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} L (Semiring.toNonAssocSemiring.{u2} L (DivisionSemiring.toSemiring.{u2} L (Semifield.toDivisionSemiring.{u2} L (Field.toSemifield.{u2} L _inst_8)))))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u2, u3, u2} (RingHom.{u3, u2} A L (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_5))) (Semiring.toNonAssocSemiring.{u2} L (DivisionSemiring.toSemiring.{u2} L (Semifield.toDivisionSemiring.{u2} L (Field.toSemifield.{u2} L _inst_8))))) A L (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_5)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} L (Semiring.toNonAssocSemiring.{u2} L (DivisionSemiring.toSemiring.{u2} L (Semifield.toDivisionSemiring.{u2} L (Field.toSemifield.{u2} L _inst_8))))) (RingHomClass.toNonUnitalRingHomClass.{max u3 u2, u3, u2} (RingHom.{u3, u2} A L (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_5))) (Semiring.toNonAssocSemiring.{u2} L (DivisionSemiring.toSemiring.{u2} L (Semifield.toDivisionSemiring.{u2} L (Field.toSemifield.{u2} L _inst_8))))) A L (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_5))) (Semiring.toNonAssocSemiring.{u2} L (DivisionSemiring.toSemiring.{u2} L (Semifield.toDivisionSemiring.{u2} L (Field.toSemifield.{u2} L _inst_8)))) (RingHom.instRingHomClassRingHom.{u3, u2} A L (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_5))) (Semiring.toNonAssocSemiring.{u2} L (DivisionSemiring.toSemiring.{u2} L (Semifield.toDivisionSemiring.{u2} L (Field.toSemifield.{u2} L _inst_8)))))))) (algebraMap.{u3, u2} A L (CommRing.toCommSemiring.{u3} A _inst_5) (DivisionSemiring.toSemiring.{u2} L (Semifield.toDivisionSemiring.{u2} L (Field.toSemifield.{u2} L _inst_8))) _inst_10) x) (OfNat.ofNat.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : A) => L) x) 0 (Zero.toOfNat0.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : A) => L) x) (CommMonoidWithZero.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : A) => L) x) (CommGroupWithZero.toCommMonoidWithZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : A) => L) x) (Semifield.toCommGroupWithZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : A) => L) x) (Field.toSemifield.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : A) => L) x) _inst_8))))))) -> (Eq.{succ u3} A x (OfNat.ofNat.{u3} A 0 (Zero.toOfNat0.{u3} A (CommMonoidWithZero.toZero.{u3} A (CancelCommMonoidWithZero.toCommMonoidWithZero.{u3} A (IsDomain.toCancelCommMonoidWithZero.{u3} A (CommRing.toCommSemiring.{u3} A _inst_5) _inst_6))))))) -> (IsFractionRing.{u1, u2} C _inst_12 L (EuclideanDomain.toCommRing.{u2} L (Field.toEuclideanDomain.{u2} L _inst_8)) _inst_14)
+<too large>
 Case conversion may be inaccurate. Consider using '#align is_integral_closure.is_fraction_ring_of_algebraic IsIntegralClosure.isFractionRing_of_algebraicₓ'. -/
 /-- If the field `L` is an algebraic extension of the integral domain `A`,
 the integral closure `C` of `A` in `L` has fraction field `L`. -/
@@ -442,10 +412,7 @@ theorem isFractionRing_of_algebraic (alg : IsAlgebraic A L)
 variable (K L)
 
 /- warning: is_integral_closure.is_fraction_ring_of_finite_extension -> IsIntegralClosure.isFractionRing_of_finite_extension is a dubious translation:
-lean 3 declaration is
-  forall (A : Type.{u1}) (K : Type.{u2}) [_inst_5 : CommRing.{u1} A] [_inst_6 : IsDomain.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_5))] (L : Type.{u3}) [_inst_7 : Field.{u2} K] [_inst_8 : Field.{u3} L] [_inst_9 : Algebra.{u1, u2} A K (CommRing.toCommSemiring.{u1} A _inst_5) (Ring.toSemiring.{u2} K (DivisionRing.toRing.{u2} K (Field.toDivisionRing.{u2} K _inst_7)))] [_inst_10 : Algebra.{u1, u3} A L (CommRing.toCommSemiring.{u1} A _inst_5) (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L (Field.toDivisionRing.{u3} L _inst_8)))] [_inst_11 : IsFractionRing.{u1, u2} A _inst_5 K (EuclideanDomain.toCommRing.{u2} K (Field.toEuclideanDomain.{u2} K _inst_7)) _inst_9] (C : Type.{u4}) [_inst_12 : CommRing.{u4} C] [_inst_13 : IsDomain.{u4} C (Ring.toSemiring.{u4} C (CommRing.toRing.{u4} C _inst_12))] [_inst_14 : Algebra.{u4, u3} C L (CommRing.toCommSemiring.{u4} C _inst_12) (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L (Field.toDivisionRing.{u3} L _inst_8)))] [_inst_15 : IsIntegralClosure.{u4, u1, u3} C A L _inst_5 (CommRing.toCommSemiring.{u4} C _inst_12) (EuclideanDomain.toCommRing.{u3} L (Field.toEuclideanDomain.{u3} L _inst_8)) _inst_10 _inst_14] [_inst_16 : Algebra.{u1, u4} A C (CommRing.toCommSemiring.{u1} A _inst_5) (Ring.toSemiring.{u4} C (CommRing.toRing.{u4} C _inst_12))] [_inst_17 : IsScalarTower.{u1, u4, u3} A C L (SMulZeroClass.toHasSmul.{u1, u4} A C (AddZeroClass.toHasZero.{u4} C (AddMonoid.toAddZeroClass.{u4} C (AddCommMonoid.toAddMonoid.{u4} C (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} C (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} C (Semiring.toNonAssocSemiring.{u4} C (Ring.toSemiring.{u4} C (CommRing.toRing.{u4} C _inst_12)))))))) (SMulWithZero.toSmulZeroClass.{u1, u4} A C (MulZeroClass.toHasZero.{u1} A (MulZeroOneClass.toMulZeroClass.{u1} A (MonoidWithZero.toMulZeroOneClass.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_5)))))) (AddZeroClass.toHasZero.{u4} C (AddMonoid.toAddZeroClass.{u4} C (AddCommMonoid.toAddMonoid.{u4} C (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} C (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} C (Semiring.toNonAssocSemiring.{u4} C (Ring.toSemiring.{u4} C (CommRing.toRing.{u4} C _inst_12)))))))) (MulActionWithZero.toSMulWithZero.{u1, u4} A C (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_5))) (AddZeroClass.toHasZero.{u4} C (AddMonoid.toAddZeroClass.{u4} C (AddCommMonoid.toAddMonoid.{u4} C (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} C (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} C (Semiring.toNonAssocSemiring.{u4} C (Ring.toSemiring.{u4} C (CommRing.toRing.{u4} C _inst_12)))))))) (Module.toMulActionWithZero.{u1, u4} A C (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_5)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} C (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} C (Semiring.toNonAssocSemiring.{u4} C (Ring.toSemiring.{u4} C (CommRing.toRing.{u4} C _inst_12))))) (Algebra.toModule.{u1, u4} A C (CommRing.toCommSemiring.{u1} A _inst_5) (Ring.toSemiring.{u4} C (CommRing.toRing.{u4} C _inst_12)) _inst_16))))) (SMulZeroClass.toHasSmul.{u4, u3} C L (AddZeroClass.toHasZero.{u3} L (AddMonoid.toAddZeroClass.{u3} L (AddCommMonoid.toAddMonoid.{u3} L (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} L (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} L (Semiring.toNonAssocSemiring.{u3} L (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L (Field.toDivisionRing.{u3} L _inst_8))))))))) (SMulWithZero.toSmulZeroClass.{u4, u3} C L (MulZeroClass.toHasZero.{u4} C (MulZeroOneClass.toMulZeroClass.{u4} C (MonoidWithZero.toMulZeroOneClass.{u4} C (Semiring.toMonoidWithZero.{u4} C (CommSemiring.toSemiring.{u4} C (CommRing.toCommSemiring.{u4} C _inst_12)))))) (AddZeroClass.toHasZero.{u3} L (AddMonoid.toAddZeroClass.{u3} L (AddCommMonoid.toAddMonoid.{u3} L (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} L (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} L (Semiring.toNonAssocSemiring.{u3} L (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L (Field.toDivisionRing.{u3} L _inst_8))))))))) (MulActionWithZero.toSMulWithZero.{u4, u3} C L (Semiring.toMonoidWithZero.{u4} C (CommSemiring.toSemiring.{u4} C (CommRing.toCommSemiring.{u4} C _inst_12))) (AddZeroClass.toHasZero.{u3} L (AddMonoid.toAddZeroClass.{u3} L (AddCommMonoid.toAddMonoid.{u3} L (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} L (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} L (Semiring.toNonAssocSemiring.{u3} L (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L (Field.toDivisionRing.{u3} L _inst_8))))))))) (Module.toMulActionWithZero.{u4, u3} C L (CommSemiring.toSemiring.{u4} C (CommRing.toCommSemiring.{u4} C _inst_12)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} L (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} L (Semiring.toNonAssocSemiring.{u3} L (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L (Field.toDivisionRing.{u3} L _inst_8)))))) (Algebra.toModule.{u4, u3} C L (CommRing.toCommSemiring.{u4} C _inst_12) (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L (Field.toDivisionRing.{u3} L _inst_8))) _inst_14))))) (SMulZeroClass.toHasSmul.{u1, u3} A L (AddZeroClass.toHasZero.{u3} L (AddMonoid.toAddZeroClass.{u3} L (AddCommMonoid.toAddMonoid.{u3} L (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} L (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} L (Semiring.toNonAssocSemiring.{u3} L (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L (Field.toDivisionRing.{u3} L _inst_8))))))))) (SMulWithZero.toSmulZeroClass.{u1, u3} A L (MulZeroClass.toHasZero.{u1} A (MulZeroOneClass.toMulZeroClass.{u1} A (MonoidWithZero.toMulZeroOneClass.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_5)))))) (AddZeroClass.toHasZero.{u3} L (AddMonoid.toAddZeroClass.{u3} L (AddCommMonoid.toAddMonoid.{u3} L (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} L (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} L (Semiring.toNonAssocSemiring.{u3} L (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L (Field.toDivisionRing.{u3} L _inst_8))))))))) (MulActionWithZero.toSMulWithZero.{u1, u3} A L (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_5))) (AddZeroClass.toHasZero.{u3} L (AddMonoid.toAddZeroClass.{u3} L (AddCommMonoid.toAddMonoid.{u3} L (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} L (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} L (Semiring.toNonAssocSemiring.{u3} L (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L (Field.toDivisionRing.{u3} L _inst_8))))))))) (Module.toMulActionWithZero.{u1, u3} A L (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_5)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} L (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} L (Semiring.toNonAssocSemiring.{u3} L (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L (Field.toDivisionRing.{u3} L _inst_8)))))) (Algebra.toModule.{u1, u3} A L (CommRing.toCommSemiring.{u1} A _inst_5) (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L (Field.toDivisionRing.{u3} L _inst_8))) _inst_10)))))] [_inst_18 : Algebra.{u2, u3} K L (Semifield.toCommSemiring.{u2} K (Field.toSemifield.{u2} K _inst_7)) (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L (Field.toDivisionRing.{u3} L _inst_8)))] [_inst_19 : IsScalarTower.{u1, u2, u3} A K L (SMulZeroClass.toHasSmul.{u1, u2} A K (AddZeroClass.toHasZero.{u2} K (AddMonoid.toAddZeroClass.{u2} K (AddCommMonoid.toAddMonoid.{u2} K (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} K (Semiring.toNonAssocSemiring.{u2} K (Ring.toSemiring.{u2} K (DivisionRing.toRing.{u2} K (Field.toDivisionRing.{u2} K _inst_7))))))))) (SMulWithZero.toSmulZeroClass.{u1, u2} A K (MulZeroClass.toHasZero.{u1} A (MulZeroOneClass.toMulZeroClass.{u1} A (MonoidWithZero.toMulZeroOneClass.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_5)))))) (AddZeroClass.toHasZero.{u2} K (AddMonoid.toAddZeroClass.{u2} K (AddCommMonoid.toAddMonoid.{u2} K (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} K (Semiring.toNonAssocSemiring.{u2} K (Ring.toSemiring.{u2} K (DivisionRing.toRing.{u2} K (Field.toDivisionRing.{u2} K _inst_7))))))))) (MulActionWithZero.toSMulWithZero.{u1, u2} A K (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_5))) (AddZeroClass.toHasZero.{u2} K (AddMonoid.toAddZeroClass.{u2} K (AddCommMonoid.toAddMonoid.{u2} K (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} K (Semiring.toNonAssocSemiring.{u2} K (Ring.toSemiring.{u2} K (DivisionRing.toRing.{u2} K (Field.toDivisionRing.{u2} K _inst_7))))))))) (Module.toMulActionWithZero.{u1, u2} A K (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_5)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} K (Semiring.toNonAssocSemiring.{u2} K (Ring.toSemiring.{u2} K (DivisionRing.toRing.{u2} K (Field.toDivisionRing.{u2} K _inst_7)))))) (Algebra.toModule.{u1, u2} A K (CommRing.toCommSemiring.{u1} A _inst_5) (Ring.toSemiring.{u2} K (DivisionRing.toRing.{u2} K (Field.toDivisionRing.{u2} K _inst_7))) _inst_9))))) (SMulZeroClass.toHasSmul.{u2, u3} K L (AddZeroClass.toHasZero.{u3} L (AddMonoid.toAddZeroClass.{u3} L (AddCommMonoid.toAddMonoid.{u3} L (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} L (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} L (Semiring.toNonAssocSemiring.{u3} L (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L (Field.toDivisionRing.{u3} L _inst_8))))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} K L (MulZeroClass.toHasZero.{u2} K (MulZeroOneClass.toMulZeroClass.{u2} K (MonoidWithZero.toMulZeroOneClass.{u2} K (Semiring.toMonoidWithZero.{u2} K (CommSemiring.toSemiring.{u2} K (Semifield.toCommSemiring.{u2} K (Field.toSemifield.{u2} K _inst_7))))))) (AddZeroClass.toHasZero.{u3} L (AddMonoid.toAddZeroClass.{u3} L (AddCommMonoid.toAddMonoid.{u3} L (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} L (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} L (Semiring.toNonAssocSemiring.{u3} L (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L (Field.toDivisionRing.{u3} L _inst_8))))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} K L (Semiring.toMonoidWithZero.{u2} K (CommSemiring.toSemiring.{u2} K (Semifield.toCommSemiring.{u2} K (Field.toSemifield.{u2} K _inst_7)))) (AddZeroClass.toHasZero.{u3} L (AddMonoid.toAddZeroClass.{u3} L (AddCommMonoid.toAddMonoid.{u3} L (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} L (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} L (Semiring.toNonAssocSemiring.{u3} L (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L (Field.toDivisionRing.{u3} L _inst_8))))))))) (Module.toMulActionWithZero.{u2, u3} K L (CommSemiring.toSemiring.{u2} K (Semifield.toCommSemiring.{u2} K (Field.toSemifield.{u2} K _inst_7))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} L (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} L (Semiring.toNonAssocSemiring.{u3} L (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L (Field.toDivisionRing.{u3} L _inst_8)))))) (Algebra.toModule.{u2, u3} K L (Semifield.toCommSemiring.{u2} K (Field.toSemifield.{u2} K _inst_7)) (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L (Field.toDivisionRing.{u3} L _inst_8))) _inst_18))))) (SMulZeroClass.toHasSmul.{u1, u3} A L (AddZeroClass.toHasZero.{u3} L (AddMonoid.toAddZeroClass.{u3} L (AddCommMonoid.toAddMonoid.{u3} L (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} L (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} L (Semiring.toNonAssocSemiring.{u3} L (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L (Field.toDivisionRing.{u3} L _inst_8))))))))) (SMulWithZero.toSmulZeroClass.{u1, u3} A L (MulZeroClass.toHasZero.{u1} A (MulZeroOneClass.toMulZeroClass.{u1} A (MonoidWithZero.toMulZeroOneClass.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_5)))))) (AddZeroClass.toHasZero.{u3} L (AddMonoid.toAddZeroClass.{u3} L (AddCommMonoid.toAddMonoid.{u3} L (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} L (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} L (Semiring.toNonAssocSemiring.{u3} L (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L (Field.toDivisionRing.{u3} L _inst_8))))))))) (MulActionWithZero.toSMulWithZero.{u1, u3} A L (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_5))) (AddZeroClass.toHasZero.{u3} L (AddMonoid.toAddZeroClass.{u3} L (AddCommMonoid.toAddMonoid.{u3} L (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} L (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} L (Semiring.toNonAssocSemiring.{u3} L (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L (Field.toDivisionRing.{u3} L _inst_8))))))))) (Module.toMulActionWithZero.{u1, u3} A L (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_5)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} L (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} L (Semiring.toNonAssocSemiring.{u3} L (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L (Field.toDivisionRing.{u3} L _inst_8)))))) (Algebra.toModule.{u1, u3} A L (CommRing.toCommSemiring.{u1} A _inst_5) (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L (Field.toDivisionRing.{u3} L _inst_8))) _inst_10)))))] [_inst_20 : FiniteDimensional.{u2, u3} K L (Field.toDivisionRing.{u2} K _inst_7) (NonUnitalNonAssocRing.toAddCommGroup.{u3} L (NonAssocRing.toNonUnitalNonAssocRing.{u3} L (Ring.toNonAssocRing.{u3} L (DivisionRing.toRing.{u3} L (Field.toDivisionRing.{u3} L _inst_8))))) (Algebra.toModule.{u2, u3} K L (Semifield.toCommSemiring.{u2} K (Field.toSemifield.{u2} K _inst_7)) (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L (Field.toDivisionRing.{u3} L _inst_8))) _inst_18)], IsFractionRing.{u4, u3} C _inst_12 L (EuclideanDomain.toCommRing.{u3} L (Field.toEuclideanDomain.{u3} L _inst_8)) _inst_14
-but is expected to have type
-  forall (A : Type.{u2}) (K : Type.{u4}) [_inst_5 : CommRing.{u2} A] [_inst_6 : IsDomain.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_5))] (L : Type.{u3}) [_inst_7 : Field.{u4} K] [_inst_8 : Field.{u3} L] [_inst_9 : Algebra.{u2, u4} A K (CommRing.toCommSemiring.{u2} A _inst_5) (DivisionSemiring.toSemiring.{u4} K (Semifield.toDivisionSemiring.{u4} K (Field.toSemifield.{u4} K _inst_7)))] [_inst_10 : Algebra.{u2, u3} A L (CommRing.toCommSemiring.{u2} A _inst_5) (DivisionSemiring.toSemiring.{u3} L (Semifield.toDivisionSemiring.{u3} L (Field.toSemifield.{u3} L _inst_8)))] [_inst_11 : IsFractionRing.{u2, u4} A _inst_5 K (EuclideanDomain.toCommRing.{u4} K (Field.toEuclideanDomain.{u4} K _inst_7)) _inst_9] (C : Type.{u1}) [_inst_12 : CommRing.{u1} C] [_inst_13 : IsDomain.{u1} C (CommSemiring.toSemiring.{u1} C (CommRing.toCommSemiring.{u1} C _inst_12))] [_inst_14 : Algebra.{u1, u3} C L (CommRing.toCommSemiring.{u1} C _inst_12) (DivisionSemiring.toSemiring.{u3} L (Semifield.toDivisionSemiring.{u3} L (Field.toSemifield.{u3} L _inst_8)))] [_inst_15 : IsIntegralClosure.{u1, u2, u3} C A L _inst_5 (CommRing.toCommSemiring.{u1} C _inst_12) (EuclideanDomain.toCommRing.{u3} L (Field.toEuclideanDomain.{u3} L _inst_8)) _inst_10 _inst_14] [_inst_16 : Algebra.{u2, u1} A C (CommRing.toCommSemiring.{u2} A _inst_5) (CommSemiring.toSemiring.{u1} C (CommRing.toCommSemiring.{u1} C _inst_12))] [_inst_17 : IsScalarTower.{u2, u1, u3} A C L (Algebra.toSMul.{u2, u1} A C (CommRing.toCommSemiring.{u2} A _inst_5) (CommSemiring.toSemiring.{u1} C (CommRing.toCommSemiring.{u1} C _inst_12)) _inst_16) (Algebra.toSMul.{u1, u3} C L (CommRing.toCommSemiring.{u1} C _inst_12) (DivisionSemiring.toSemiring.{u3} L (Semifield.toDivisionSemiring.{u3} L (Field.toSemifield.{u3} L _inst_8))) _inst_14) (Algebra.toSMul.{u2, u3} A L (CommRing.toCommSemiring.{u2} A _inst_5) (DivisionSemiring.toSemiring.{u3} L (Semifield.toDivisionSemiring.{u3} L (Field.toSemifield.{u3} L _inst_8))) _inst_10)] [_inst_18 : Algebra.{u4, u3} K L (Semifield.toCommSemiring.{u4} K (Field.toSemifield.{u4} K _inst_7)) (DivisionSemiring.toSemiring.{u3} L (Semifield.toDivisionSemiring.{u3} L (Field.toSemifield.{u3} L _inst_8)))] [_inst_19 : IsScalarTower.{u2, u4, u3} A K L (Algebra.toSMul.{u2, u4} A K (CommRing.toCommSemiring.{u2} A _inst_5) (DivisionSemiring.toSemiring.{u4} K (Semifield.toDivisionSemiring.{u4} K (Field.toSemifield.{u4} K _inst_7))) _inst_9) (Algebra.toSMul.{u4, u3} K L (Semifield.toCommSemiring.{u4} K (Field.toSemifield.{u4} K _inst_7)) (DivisionSemiring.toSemiring.{u3} L (Semifield.toDivisionSemiring.{u3} L (Field.toSemifield.{u3} L _inst_8))) _inst_18) (Algebra.toSMul.{u2, u3} A L (CommRing.toCommSemiring.{u2} A _inst_5) (DivisionSemiring.toSemiring.{u3} L (Semifield.toDivisionSemiring.{u3} L (Field.toSemifield.{u3} L _inst_8))) _inst_10)] [_inst_20 : FiniteDimensional.{u4, u3} K L (Field.toDivisionRing.{u4} K _inst_7) (Ring.toAddCommGroup.{u3} L (DivisionRing.toRing.{u3} L (Field.toDivisionRing.{u3} L _inst_8))) (Algebra.toModule.{u4, u3} K L (Semifield.toCommSemiring.{u4} K (Field.toSemifield.{u4} K _inst_7)) (DivisionSemiring.toSemiring.{u3} L (Semifield.toDivisionSemiring.{u3} L (Field.toSemifield.{u3} L _inst_8))) _inst_18)], IsFractionRing.{u1, u3} C _inst_12 L (EuclideanDomain.toCommRing.{u3} L (Field.toEuclideanDomain.{u3} L _inst_8)) _inst_14
+<too large>
 Case conversion may be inaccurate. Consider using '#align is_integral_closure.is_fraction_ring_of_finite_extension IsIntegralClosure.isFractionRing_of_finite_extensionₓ'. -/
 /-- If the field `L` is a finite extension of the fraction field of the integral domain `A`,
 the integral closure `C` of `A` in `L` has fraction field `L`. -/
@@ -466,10 +433,7 @@ variable {L : Type _} [Field K] [Field L] [Algebra A K] [IsFractionRing A K]
 open Algebra
 
 /- warning: integral_closure.is_fraction_ring_of_algebraic -> integralClosure.isFractionRing_of_algebraic 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))] {L : Type.{u2}} [_inst_8 : Field.{u2} L] [_inst_11 : Algebra.{u1, u2} A L (CommRing.toCommSemiring.{u1} A _inst_5) (Ring.toSemiring.{u2} L (DivisionRing.toRing.{u2} L (Field.toDivisionRing.{u2} L _inst_8)))], (Algebra.IsAlgebraic.{u1, u2} A L _inst_5 (DivisionRing.toRing.{u2} L (Field.toDivisionRing.{u2} L _inst_8)) _inst_11) -> (forall (x : A), (Eq.{succ u2} L (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} A L (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_5))) (Semiring.toNonAssocSemiring.{u2} L (Ring.toSemiring.{u2} L (DivisionRing.toRing.{u2} L (Field.toDivisionRing.{u2} L _inst_8))))) (fun (_x : RingHom.{u1, u2} A L (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_5))) (Semiring.toNonAssocSemiring.{u2} L (Ring.toSemiring.{u2} L (DivisionRing.toRing.{u2} L (Field.toDivisionRing.{u2} L _inst_8))))) => A -> L) (RingHom.hasCoeToFun.{u1, u2} A L (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_5))) (Semiring.toNonAssocSemiring.{u2} L (Ring.toSemiring.{u2} L (DivisionRing.toRing.{u2} L (Field.toDivisionRing.{u2} L _inst_8))))) (algebraMap.{u1, u2} A L (CommRing.toCommSemiring.{u1} A _inst_5) (Ring.toSemiring.{u2} L (DivisionRing.toRing.{u2} L (Field.toDivisionRing.{u2} L _inst_8))) _inst_11) x) (OfNat.ofNat.{u2} L 0 (OfNat.mk.{u2} L 0 (Zero.zero.{u2} L (MulZeroClass.toHasZero.{u2} L (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} L (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} L (NonAssocRing.toNonUnitalNonAssocRing.{u2} L (Ring.toNonAssocRing.{u2} L (DivisionRing.toRing.{u2} L (Field.toDivisionRing.{u2} L _inst_8))))))))))) -> (Eq.{succ u1} A x (OfNat.ofNat.{u1} A 0 (OfNat.mk.{u1} A 0 (Zero.zero.{u1} A (MulZeroClass.toHasZero.{u1} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_5))))))))))) -> (IsFractionRing.{u2, u2} (coeSort.{succ u2, succ (succ u2)} (Subalgebra.{u1, u2} A L (CommRing.toCommSemiring.{u1} A _inst_5) (Ring.toSemiring.{u2} L (CommRing.toRing.{u2} L (EuclideanDomain.toCommRing.{u2} L (Field.toEuclideanDomain.{u2} L _inst_8)))) _inst_11) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Subalgebra.{u1, u2} A L (CommRing.toCommSemiring.{u1} A _inst_5) (Ring.toSemiring.{u2} L (CommRing.toRing.{u2} L (EuclideanDomain.toCommRing.{u2} L (Field.toEuclideanDomain.{u2} L _inst_8)))) _inst_11) L (Subalgebra.setLike.{u1, u2} A L (CommRing.toCommSemiring.{u1} A _inst_5) (Ring.toSemiring.{u2} L (CommRing.toRing.{u2} L (EuclideanDomain.toCommRing.{u2} L (Field.toEuclideanDomain.{u2} L _inst_8)))) _inst_11)) (integralClosure.{u1, u2} A L _inst_5 (EuclideanDomain.toCommRing.{u2} L (Field.toEuclideanDomain.{u2} L _inst_8)) _inst_11)) (Subalgebra.toCommRing.{u1, u2} A L _inst_5 (EuclideanDomain.toCommRing.{u2} L (Field.toEuclideanDomain.{u2} L _inst_8)) _inst_11 (integralClosure.{u1, u2} A L _inst_5 (EuclideanDomain.toCommRing.{u2} L (Field.toEuclideanDomain.{u2} L _inst_8)) _inst_11)) L (EuclideanDomain.toCommRing.{u2} L (Field.toEuclideanDomain.{u2} L _inst_8)) (Subalgebra.toAlgebra.{u2, u1, u2} L A L (CommRing.toCommSemiring.{u1} A _inst_5) (Semifield.toCommSemiring.{u2} L (Field.toSemifield.{u2} L _inst_8)) (Ring.toSemiring.{u2} L (CommRing.toRing.{u2} L (EuclideanDomain.toCommRing.{u2} L (Field.toEuclideanDomain.{u2} L _inst_8)))) _inst_11 (Algebra.id.{u2} L (Semifield.toCommSemiring.{u2} L (Field.toSemifield.{u2} L _inst_8))) (integralClosure.{u1, u2} A L _inst_5 (EuclideanDomain.toCommRing.{u2} L (Field.toEuclideanDomain.{u2} L _inst_8)) _inst_11)))
-but is expected to have type
-  forall {A : Type.{u2}} [_inst_5 : CommRing.{u2} A] [_inst_6 : IsDomain.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_5))] {L : Type.{u1}} [_inst_8 : Field.{u1} L] [_inst_11 : Algebra.{u2, u1} A L (CommRing.toCommSemiring.{u2} A _inst_5) (DivisionSemiring.toSemiring.{u1} L (Semifield.toDivisionSemiring.{u1} L (Field.toSemifield.{u1} L _inst_8)))], (Algebra.IsAlgebraic.{u2, u1} A L _inst_5 (DivisionRing.toRing.{u1} L (Field.toDivisionRing.{u1} L _inst_8)) _inst_11) -> (forall (x : A), (Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : A) => L) x) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (RingHom.{u2, u1} A L (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_5))) (Semiring.toNonAssocSemiring.{u1} L (DivisionSemiring.toSemiring.{u1} L (Semifield.toDivisionSemiring.{u1} L (Field.toSemifield.{u1} L _inst_8))))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : A) => L) _x) (MulHomClass.toFunLike.{max u2 u1, u2, u1} (RingHom.{u2, u1} A L (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_5))) (Semiring.toNonAssocSemiring.{u1} L (DivisionSemiring.toSemiring.{u1} L (Semifield.toDivisionSemiring.{u1} L (Field.toSemifield.{u1} L _inst_8))))) A L (NonUnitalNonAssocSemiring.toMul.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_5))))) (NonUnitalNonAssocSemiring.toMul.{u1} L (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} L (Semiring.toNonAssocSemiring.{u1} L (DivisionSemiring.toSemiring.{u1} L (Semifield.toDivisionSemiring.{u1} L (Field.toSemifield.{u1} L _inst_8)))))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u1, u2, u1} (RingHom.{u2, u1} A L (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_5))) (Semiring.toNonAssocSemiring.{u1} L (DivisionSemiring.toSemiring.{u1} L (Semifield.toDivisionSemiring.{u1} L (Field.toSemifield.{u1} L _inst_8))))) A L (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_5)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} L (Semiring.toNonAssocSemiring.{u1} L (DivisionSemiring.toSemiring.{u1} L (Semifield.toDivisionSemiring.{u1} L (Field.toSemifield.{u1} L _inst_8))))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u1, u2, u1} (RingHom.{u2, u1} A L (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_5))) (Semiring.toNonAssocSemiring.{u1} L (DivisionSemiring.toSemiring.{u1} L (Semifield.toDivisionSemiring.{u1} L (Field.toSemifield.{u1} L _inst_8))))) A L (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_5))) (Semiring.toNonAssocSemiring.{u1} L (DivisionSemiring.toSemiring.{u1} L (Semifield.toDivisionSemiring.{u1} L (Field.toSemifield.{u1} L _inst_8)))) (RingHom.instRingHomClassRingHom.{u2, u1} A L (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_5))) (Semiring.toNonAssocSemiring.{u1} L (DivisionSemiring.toSemiring.{u1} L (Semifield.toDivisionSemiring.{u1} L (Field.toSemifield.{u1} L _inst_8)))))))) (algebraMap.{u2, u1} A L (CommRing.toCommSemiring.{u2} A _inst_5) (DivisionSemiring.toSemiring.{u1} L (Semifield.toDivisionSemiring.{u1} L (Field.toSemifield.{u1} L _inst_8))) _inst_11) x) (OfNat.ofNat.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : A) => L) x) 0 (Zero.toOfNat0.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : A) => L) x) (CommMonoidWithZero.toZero.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : A) => L) x) (CommGroupWithZero.toCommMonoidWithZero.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : A) => L) x) (Semifield.toCommGroupWithZero.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : A) => L) x) (Field.toSemifield.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : A) => L) x) _inst_8))))))) -> (Eq.{succ u2} A x (OfNat.ofNat.{u2} A 0 (Zero.toOfNat0.{u2} A (CommMonoidWithZero.toZero.{u2} A (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} A (IsDomain.toCancelCommMonoidWithZero.{u2} A (CommRing.toCommSemiring.{u2} A _inst_5) _inst_6))))))) -> (IsFractionRing.{u1, u1} (Subtype.{succ u1} L (fun (x : L) => Membership.mem.{u1, u1} L (Subalgebra.{u2, u1} A L (CommRing.toCommSemiring.{u2} A _inst_5) (CommSemiring.toSemiring.{u1} L (CommRing.toCommSemiring.{u1} L (EuclideanDomain.toCommRing.{u1} L (Field.toEuclideanDomain.{u1} L _inst_8)))) _inst_11) (SetLike.instMembership.{u1, u1} (Subalgebra.{u2, u1} A L (CommRing.toCommSemiring.{u2} A _inst_5) (CommSemiring.toSemiring.{u1} L (CommRing.toCommSemiring.{u1} L (EuclideanDomain.toCommRing.{u1} L (Field.toEuclideanDomain.{u1} L _inst_8)))) _inst_11) L (Subalgebra.instSetLikeSubalgebra.{u2, u1} A L (CommRing.toCommSemiring.{u2} A _inst_5) (CommSemiring.toSemiring.{u1} L (CommRing.toCommSemiring.{u1} L (EuclideanDomain.toCommRing.{u1} L (Field.toEuclideanDomain.{u1} L _inst_8)))) _inst_11)) x (integralClosure.{u2, u1} A L _inst_5 (EuclideanDomain.toCommRing.{u1} L (Field.toEuclideanDomain.{u1} L _inst_8)) _inst_11))) (Subalgebra.toCommRing.{u2, u1} A L _inst_5 (EuclideanDomain.toCommRing.{u1} L (Field.toEuclideanDomain.{u1} L _inst_8)) _inst_11 (integralClosure.{u2, u1} A L _inst_5 (EuclideanDomain.toCommRing.{u1} L (Field.toEuclideanDomain.{u1} L _inst_8)) _inst_11)) L (EuclideanDomain.toCommRing.{u1} L (Field.toEuclideanDomain.{u1} L _inst_8)) (Subalgebra.toAlgebra.{u1, u2, u1} L A L (CommRing.toCommSemiring.{u2} A _inst_5) (Semifield.toCommSemiring.{u1} L (Field.toSemifield.{u1} L _inst_8)) (CommSemiring.toSemiring.{u1} L (CommRing.toCommSemiring.{u1} L (EuclideanDomain.toCommRing.{u1} L (Field.toEuclideanDomain.{u1} L _inst_8)))) _inst_11 (Algebra.id.{u1} L (Semifield.toCommSemiring.{u1} L (Field.toSemifield.{u1} L _inst_8))) (integralClosure.{u2, u1} A L _inst_5 (EuclideanDomain.toCommRing.{u1} L (Field.toEuclideanDomain.{u1} L _inst_8)) _inst_11)))
+<too large>
 Case conversion may be inaccurate. Consider using '#align integral_closure.is_fraction_ring_of_algebraic integralClosure.isFractionRing_of_algebraicₓ'. -/
 /-- If the field `L` is an algebraic extension of the integral domain `A`,
 the integral closure of `A` in `L` has fraction field `L`. -/
@@ -481,10 +445,7 @@ theorem isFractionRing_of_algebraic [Algebra A L] (alg : IsAlgebraic A L)
 variable (K L)
 
 /- warning: integral_closure.is_fraction_ring_of_finite_extension -> integralClosure.isFractionRing_of_finite_extension is a dubious translation:
-lean 3 declaration is
-  forall {A : Type.{u1}} (K : Type.{u2}) [_inst_5 : CommRing.{u1} A] [_inst_6 : IsDomain.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_5))] (L : Type.{u3}) [_inst_7 : Field.{u2} K] [_inst_8 : Field.{u3} L] [_inst_9 : Algebra.{u1, u2} A K (CommRing.toCommSemiring.{u1} A _inst_5) (Ring.toSemiring.{u2} K (DivisionRing.toRing.{u2} K (Field.toDivisionRing.{u2} K _inst_7)))] [_inst_10 : IsFractionRing.{u1, u2} A _inst_5 K (EuclideanDomain.toCommRing.{u2} K (Field.toEuclideanDomain.{u2} K _inst_7)) _inst_9] [_inst_11 : Algebra.{u1, u3} A L (CommRing.toCommSemiring.{u1} A _inst_5) (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L (Field.toDivisionRing.{u3} L _inst_8)))] [_inst_12 : Algebra.{u2, u3} K L (Semifield.toCommSemiring.{u2} K (Field.toSemifield.{u2} K _inst_7)) (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L (Field.toDivisionRing.{u3} L _inst_8)))] [_inst_13 : IsScalarTower.{u1, u2, u3} A K L (SMulZeroClass.toHasSmul.{u1, u2} A K (AddZeroClass.toHasZero.{u2} K (AddMonoid.toAddZeroClass.{u2} K (AddCommMonoid.toAddMonoid.{u2} K (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} K (Semiring.toNonAssocSemiring.{u2} K (Ring.toSemiring.{u2} K (DivisionRing.toRing.{u2} K (Field.toDivisionRing.{u2} K _inst_7))))))))) (SMulWithZero.toSmulZeroClass.{u1, u2} A K (MulZeroClass.toHasZero.{u1} A (MulZeroOneClass.toMulZeroClass.{u1} A (MonoidWithZero.toMulZeroOneClass.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_5)))))) (AddZeroClass.toHasZero.{u2} K (AddMonoid.toAddZeroClass.{u2} K (AddCommMonoid.toAddMonoid.{u2} K (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} K (Semiring.toNonAssocSemiring.{u2} K (Ring.toSemiring.{u2} K (DivisionRing.toRing.{u2} K (Field.toDivisionRing.{u2} K _inst_7))))))))) (MulActionWithZero.toSMulWithZero.{u1, u2} A K (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_5))) (AddZeroClass.toHasZero.{u2} K (AddMonoid.toAddZeroClass.{u2} K (AddCommMonoid.toAddMonoid.{u2} K (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} K (Semiring.toNonAssocSemiring.{u2} K (Ring.toSemiring.{u2} K (DivisionRing.toRing.{u2} K (Field.toDivisionRing.{u2} K _inst_7))))))))) (Module.toMulActionWithZero.{u1, u2} A K (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_5)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} K (Semiring.toNonAssocSemiring.{u2} K (Ring.toSemiring.{u2} K (DivisionRing.toRing.{u2} K (Field.toDivisionRing.{u2} K _inst_7)))))) (Algebra.toModule.{u1, u2} A K (CommRing.toCommSemiring.{u1} A _inst_5) (Ring.toSemiring.{u2} K (DivisionRing.toRing.{u2} K (Field.toDivisionRing.{u2} K _inst_7))) _inst_9))))) (SMulZeroClass.toHasSmul.{u2, u3} K L (AddZeroClass.toHasZero.{u3} L (AddMonoid.toAddZeroClass.{u3} L (AddCommMonoid.toAddMonoid.{u3} L (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} L (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} L (Semiring.toNonAssocSemiring.{u3} L (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L (Field.toDivisionRing.{u3} L _inst_8))))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} K L (MulZeroClass.toHasZero.{u2} K (MulZeroOneClass.toMulZeroClass.{u2} K (MonoidWithZero.toMulZeroOneClass.{u2} K (Semiring.toMonoidWithZero.{u2} K (CommSemiring.toSemiring.{u2} K (Semifield.toCommSemiring.{u2} K (Field.toSemifield.{u2} K _inst_7))))))) (AddZeroClass.toHasZero.{u3} L (AddMonoid.toAddZeroClass.{u3} L (AddCommMonoid.toAddMonoid.{u3} L (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} L (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} L (Semiring.toNonAssocSemiring.{u3} L (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L (Field.toDivisionRing.{u3} L _inst_8))))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} K L (Semiring.toMonoidWithZero.{u2} K (CommSemiring.toSemiring.{u2} K (Semifield.toCommSemiring.{u2} K (Field.toSemifield.{u2} K _inst_7)))) (AddZeroClass.toHasZero.{u3} L (AddMonoid.toAddZeroClass.{u3} L (AddCommMonoid.toAddMonoid.{u3} L (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} L (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} L (Semiring.toNonAssocSemiring.{u3} L (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L (Field.toDivisionRing.{u3} L _inst_8))))))))) (Module.toMulActionWithZero.{u2, u3} K L (CommSemiring.toSemiring.{u2} K (Semifield.toCommSemiring.{u2} K (Field.toSemifield.{u2} K _inst_7))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} L (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} L (Semiring.toNonAssocSemiring.{u3} L (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L (Field.toDivisionRing.{u3} L _inst_8)))))) (Algebra.toModule.{u2, u3} K L (Semifield.toCommSemiring.{u2} K (Field.toSemifield.{u2} K _inst_7)) (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L (Field.toDivisionRing.{u3} L _inst_8))) _inst_12))))) (SMulZeroClass.toHasSmul.{u1, u3} A L (AddZeroClass.toHasZero.{u3} L (AddMonoid.toAddZeroClass.{u3} L (AddCommMonoid.toAddMonoid.{u3} L (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} L (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} L (Semiring.toNonAssocSemiring.{u3} L (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L (Field.toDivisionRing.{u3} L _inst_8))))))))) (SMulWithZero.toSmulZeroClass.{u1, u3} A L (MulZeroClass.toHasZero.{u1} A (MulZeroOneClass.toMulZeroClass.{u1} A (MonoidWithZero.toMulZeroOneClass.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_5)))))) (AddZeroClass.toHasZero.{u3} L (AddMonoid.toAddZeroClass.{u3} L (AddCommMonoid.toAddMonoid.{u3} L (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} L (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} L (Semiring.toNonAssocSemiring.{u3} L (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L (Field.toDivisionRing.{u3} L _inst_8))))))))) (MulActionWithZero.toSMulWithZero.{u1, u3} A L (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_5))) (AddZeroClass.toHasZero.{u3} L (AddMonoid.toAddZeroClass.{u3} L (AddCommMonoid.toAddMonoid.{u3} L (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} L (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} L (Semiring.toNonAssocSemiring.{u3} L (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L (Field.toDivisionRing.{u3} L _inst_8))))))))) (Module.toMulActionWithZero.{u1, u3} A L (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_5)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} L (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} L (Semiring.toNonAssocSemiring.{u3} L (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L (Field.toDivisionRing.{u3} L _inst_8)))))) (Algebra.toModule.{u1, u3} A L (CommRing.toCommSemiring.{u1} A _inst_5) (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L (Field.toDivisionRing.{u3} L _inst_8))) _inst_11)))))] [_inst_14 : FiniteDimensional.{u2, u3} K L (Field.toDivisionRing.{u2} K _inst_7) (NonUnitalNonAssocRing.toAddCommGroup.{u3} L (NonAssocRing.toNonUnitalNonAssocRing.{u3} L (Ring.toNonAssocRing.{u3} L (DivisionRing.toRing.{u3} L (Field.toDivisionRing.{u3} L _inst_8))))) (Algebra.toModule.{u2, u3} K L (Semifield.toCommSemiring.{u2} K (Field.toSemifield.{u2} K _inst_7)) (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L (Field.toDivisionRing.{u3} L _inst_8))) _inst_12)], IsFractionRing.{u3, u3} (coeSort.{succ u3, succ (succ u3)} (Subalgebra.{u1, u3} A L (CommRing.toCommSemiring.{u1} A _inst_5) (Ring.toSemiring.{u3} L (CommRing.toRing.{u3} L (EuclideanDomain.toCommRing.{u3} L (Field.toEuclideanDomain.{u3} L _inst_8)))) _inst_11) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Subalgebra.{u1, u3} A L (CommRing.toCommSemiring.{u1} A _inst_5) (Ring.toSemiring.{u3} L (CommRing.toRing.{u3} L (EuclideanDomain.toCommRing.{u3} L (Field.toEuclideanDomain.{u3} L _inst_8)))) _inst_11) L (Subalgebra.setLike.{u1, u3} A L (CommRing.toCommSemiring.{u1} A _inst_5) (Ring.toSemiring.{u3} L (CommRing.toRing.{u3} L (EuclideanDomain.toCommRing.{u3} L (Field.toEuclideanDomain.{u3} L _inst_8)))) _inst_11)) (integralClosure.{u1, u3} A L _inst_5 (EuclideanDomain.toCommRing.{u3} L (Field.toEuclideanDomain.{u3} L _inst_8)) _inst_11)) (Subalgebra.toCommRing.{u1, u3} A L _inst_5 (EuclideanDomain.toCommRing.{u3} L (Field.toEuclideanDomain.{u3} L _inst_8)) _inst_11 (integralClosure.{u1, u3} A L _inst_5 (EuclideanDomain.toCommRing.{u3} L (Field.toEuclideanDomain.{u3} L _inst_8)) _inst_11)) L (EuclideanDomain.toCommRing.{u3} L (Field.toEuclideanDomain.{u3} L _inst_8)) (Subalgebra.toAlgebra.{u3, u1, u3} L A L (CommRing.toCommSemiring.{u1} A _inst_5) (Semifield.toCommSemiring.{u3} L (Field.toSemifield.{u3} L _inst_8)) (Ring.toSemiring.{u3} L (CommRing.toRing.{u3} L (EuclideanDomain.toCommRing.{u3} L (Field.toEuclideanDomain.{u3} L _inst_8)))) _inst_11 (Algebra.id.{u3} L (Semifield.toCommSemiring.{u3} L (Field.toSemifield.{u3} L _inst_8))) (integralClosure.{u1, u3} A L _inst_5 (EuclideanDomain.toCommRing.{u3} L (Field.toEuclideanDomain.{u3} L _inst_8)) _inst_11))
-but is expected to have type
-  forall {A : Type.{u3}} (K : Type.{u1}) [_inst_5 : CommRing.{u3} A] [_inst_6 : IsDomain.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_5))] (L : Type.{u2}) [_inst_7 : Field.{u1} K] [_inst_8 : Field.{u2} L] [_inst_9 : Algebra.{u3, u1} A K (CommRing.toCommSemiring.{u3} A _inst_5) (DivisionSemiring.toSemiring.{u1} K (Semifield.toDivisionSemiring.{u1} K (Field.toSemifield.{u1} K _inst_7)))] [_inst_10 : IsFractionRing.{u3, u1} A _inst_5 K (EuclideanDomain.toCommRing.{u1} K (Field.toEuclideanDomain.{u1} K _inst_7)) _inst_9] [_inst_11 : Algebra.{u3, u2} A L (CommRing.toCommSemiring.{u3} A _inst_5) (DivisionSemiring.toSemiring.{u2} L (Semifield.toDivisionSemiring.{u2} L (Field.toSemifield.{u2} L _inst_8)))] [_inst_12 : Algebra.{u1, u2} K L (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_7)) (DivisionSemiring.toSemiring.{u2} L (Semifield.toDivisionSemiring.{u2} L (Field.toSemifield.{u2} L _inst_8)))] [_inst_13 : IsScalarTower.{u3, u1, u2} A K L (Algebra.toSMul.{u3, u1} A K (CommRing.toCommSemiring.{u3} A _inst_5) (DivisionSemiring.toSemiring.{u1} K (Semifield.toDivisionSemiring.{u1} K (Field.toSemifield.{u1} K _inst_7))) _inst_9) (Algebra.toSMul.{u1, u2} K L (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_7)) (DivisionSemiring.toSemiring.{u2} L (Semifield.toDivisionSemiring.{u2} L (Field.toSemifield.{u2} L _inst_8))) _inst_12) (Algebra.toSMul.{u3, u2} A L (CommRing.toCommSemiring.{u3} A _inst_5) (DivisionSemiring.toSemiring.{u2} L (Semifield.toDivisionSemiring.{u2} L (Field.toSemifield.{u2} L _inst_8))) _inst_11)] [_inst_14 : FiniteDimensional.{u1, u2} K L (Field.toDivisionRing.{u1} K _inst_7) (Ring.toAddCommGroup.{u2} L (DivisionRing.toRing.{u2} L (Field.toDivisionRing.{u2} L _inst_8))) (Algebra.toModule.{u1, u2} K L (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_7)) (DivisionSemiring.toSemiring.{u2} L (Semifield.toDivisionSemiring.{u2} L (Field.toSemifield.{u2} L _inst_8))) _inst_12)], IsFractionRing.{u2, u2} (Subtype.{succ u2} L (fun (x : L) => Membership.mem.{u2, u2} L (Subalgebra.{u3, u2} A L (CommRing.toCommSemiring.{u3} A _inst_5) (CommSemiring.toSemiring.{u2} L (CommRing.toCommSemiring.{u2} L (EuclideanDomain.toCommRing.{u2} L (Field.toEuclideanDomain.{u2} L _inst_8)))) _inst_11) (SetLike.instMembership.{u2, u2} (Subalgebra.{u3, u2} A L (CommRing.toCommSemiring.{u3} A _inst_5) (CommSemiring.toSemiring.{u2} L (CommRing.toCommSemiring.{u2} L (EuclideanDomain.toCommRing.{u2} L (Field.toEuclideanDomain.{u2} L _inst_8)))) _inst_11) L (Subalgebra.instSetLikeSubalgebra.{u3, u2} A L (CommRing.toCommSemiring.{u3} A _inst_5) (CommSemiring.toSemiring.{u2} L (CommRing.toCommSemiring.{u2} L (EuclideanDomain.toCommRing.{u2} L (Field.toEuclideanDomain.{u2} L _inst_8)))) _inst_11)) x (integralClosure.{u3, u2} A L _inst_5 (EuclideanDomain.toCommRing.{u2} L (Field.toEuclideanDomain.{u2} L _inst_8)) _inst_11))) (Subalgebra.toCommRing.{u3, u2} A L _inst_5 (EuclideanDomain.toCommRing.{u2} L (Field.toEuclideanDomain.{u2} L _inst_8)) _inst_11 (integralClosure.{u3, u2} A L _inst_5 (EuclideanDomain.toCommRing.{u2} L (Field.toEuclideanDomain.{u2} L _inst_8)) _inst_11)) L (EuclideanDomain.toCommRing.{u2} L (Field.toEuclideanDomain.{u2} L _inst_8)) (Subalgebra.toAlgebra.{u2, u3, u2} L A L (CommRing.toCommSemiring.{u3} A _inst_5) (Semifield.toCommSemiring.{u2} L (Field.toSemifield.{u2} L _inst_8)) (CommSemiring.toSemiring.{u2} L (CommRing.toCommSemiring.{u2} L (EuclideanDomain.toCommRing.{u2} L (Field.toEuclideanDomain.{u2} L _inst_8)))) _inst_11 (Algebra.id.{u2} L (Semifield.toCommSemiring.{u2} L (Field.toSemifield.{u2} L _inst_8))) (integralClosure.{u3, u2} A L _inst_5 (EuclideanDomain.toCommRing.{u2} L (Field.toEuclideanDomain.{u2} L _inst_8)) _inst_11))
+<too large>
 Case conversion may be inaccurate. Consider using '#align integral_closure.is_fraction_ring_of_finite_extension integralClosure.isFractionRing_of_finite_extensionₓ'. -/
 /-- If the field `L` is a finite extension of the fraction field of the integral domain `A`,
 the integral closure of `A` in `L` has fraction field `L`. -/
@@ -500,10 +461,7 @@ namespace IsFractionRing
 variable (R S K)
 
 /- warning: is_fraction_ring.is_algebraic_iff' -> IsFractionRing.isAlgebraic_iff' is a dubious translation:
-lean 3 declaration is
-  forall (R : Type.{u1}) [_inst_1 : CommRing.{u1} R] (S : Type.{u2}) [_inst_2 : CommRing.{u2} S] [_inst_3 : Algebra.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))] (K : Type.{u3}) [_inst_7 : Field.{u3} K] [_inst_8 : IsDomain.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))] [_inst_9 : IsDomain.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))] [_inst_10 : Algebra.{u1, u3} R K (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u3} K (DivisionRing.toRing.{u3} K (Field.toDivisionRing.{u3} K _inst_7)))] [_inst_11 : Algebra.{u2, u3} S K (CommRing.toCommSemiring.{u2} S _inst_2) (Ring.toSemiring.{u3} K (DivisionRing.toRing.{u3} K (Field.toDivisionRing.{u3} K _inst_7)))] [_inst_12 : NoZeroSMulDivisors.{u1, u3} R K (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (MulZeroClass.toHasZero.{u3} K (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} K (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} K (NonAssocRing.toNonUnitalNonAssocRing.{u3} K (Ring.toNonAssocRing.{u3} K (DivisionRing.toRing.{u3} K (Field.toDivisionRing.{u3} K _inst_7))))))) (SMulZeroClass.toHasSmul.{u1, u3} R K (AddZeroClass.toHasZero.{u3} K (AddMonoid.toAddZeroClass.{u3} K (AddCommMonoid.toAddMonoid.{u3} K (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} K (Semiring.toNonAssocSemiring.{u3} K (Ring.toSemiring.{u3} K (DivisionRing.toRing.{u3} K (Field.toDivisionRing.{u3} K _inst_7))))))))) (SMulWithZero.toSmulZeroClass.{u1, u3} R K (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u3} K (AddMonoid.toAddZeroClass.{u3} K (AddCommMonoid.toAddMonoid.{u3} K (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} K (Semiring.toNonAssocSemiring.{u3} K (Ring.toSemiring.{u3} K (DivisionRing.toRing.{u3} K (Field.toDivisionRing.{u3} K _inst_7))))))))) (MulActionWithZero.toSMulWithZero.{u1, u3} R K (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u3} K (AddMonoid.toAddZeroClass.{u3} K (AddCommMonoid.toAddMonoid.{u3} K (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} K (Semiring.toNonAssocSemiring.{u3} K (Ring.toSemiring.{u3} K (DivisionRing.toRing.{u3} K (Field.toDivisionRing.{u3} K _inst_7))))))))) (Module.toMulActionWithZero.{u1, u3} R K (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} K (Semiring.toNonAssocSemiring.{u3} K (Ring.toSemiring.{u3} K (DivisionRing.toRing.{u3} K (Field.toDivisionRing.{u3} K _inst_7)))))) (Algebra.toModule.{u1, u3} R K (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u3} K (DivisionRing.toRing.{u3} K (Field.toDivisionRing.{u3} K _inst_7))) _inst_10)))))] [_inst_13 : IsFractionRing.{u2, u3} S _inst_2 K (EuclideanDomain.toCommRing.{u3} K (Field.toEuclideanDomain.{u3} K _inst_7)) _inst_11] [_inst_14 : IsScalarTower.{u1, u2, u3} R S K (SMulZeroClass.toHasSmul.{u1, u2} R S (AddZeroClass.toHasZero.{u2} S (AddMonoid.toAddZeroClass.{u2} S (AddCommMonoid.toAddMonoid.{u2} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)))))))) (SMulWithZero.toSmulZeroClass.{u1, u2} R S (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u2} S (AddMonoid.toAddZeroClass.{u2} S (AddCommMonoid.toAddMonoid.{u2} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)))))))) (MulActionWithZero.toSMulWithZero.{u1, u2} R S (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u2} S (AddMonoid.toAddZeroClass.{u2} S (AddCommMonoid.toAddMonoid.{u2} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)))))))) (Module.toMulActionWithZero.{u1, u2} R S (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))))) (Algebra.toModule.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) _inst_3))))) (SMulZeroClass.toHasSmul.{u2, u3} S K (AddZeroClass.toHasZero.{u3} K (AddMonoid.toAddZeroClass.{u3} K (AddCommMonoid.toAddMonoid.{u3} K (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} K (Semiring.toNonAssocSemiring.{u3} K (Ring.toSemiring.{u3} K (DivisionRing.toRing.{u3} K (Field.toDivisionRing.{u3} K _inst_7))))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} S K (MulZeroClass.toHasZero.{u2} S (MulZeroOneClass.toMulZeroClass.{u2} S (MonoidWithZero.toMulZeroOneClass.{u2} S (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))))) (AddZeroClass.toHasZero.{u3} K (AddMonoid.toAddZeroClass.{u3} K (AddCommMonoid.toAddMonoid.{u3} K (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} K (Semiring.toNonAssocSemiring.{u3} K (Ring.toSemiring.{u3} K (DivisionRing.toRing.{u3} K (Field.toDivisionRing.{u3} K _inst_7))))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} S K (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (AddZeroClass.toHasZero.{u3} K (AddMonoid.toAddZeroClass.{u3} K (AddCommMonoid.toAddMonoid.{u3} K (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} K (Semiring.toNonAssocSemiring.{u3} K (Ring.toSemiring.{u3} K (DivisionRing.toRing.{u3} K (Field.toDivisionRing.{u3} K _inst_7))))))))) (Module.toMulActionWithZero.{u2, u3} S K (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} K (Semiring.toNonAssocSemiring.{u3} K (Ring.toSemiring.{u3} K (DivisionRing.toRing.{u3} K (Field.toDivisionRing.{u3} K _inst_7)))))) (Algebra.toModule.{u2, u3} S K (CommRing.toCommSemiring.{u2} S _inst_2) (Ring.toSemiring.{u3} K (DivisionRing.toRing.{u3} K (Field.toDivisionRing.{u3} K _inst_7))) _inst_11))))) (SMulZeroClass.toHasSmul.{u1, u3} R K (AddZeroClass.toHasZero.{u3} K (AddMonoid.toAddZeroClass.{u3} K (AddCommMonoid.toAddMonoid.{u3} K (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} K (Semiring.toNonAssocSemiring.{u3} K (Ring.toSemiring.{u3} K (DivisionRing.toRing.{u3} K (Field.toDivisionRing.{u3} K _inst_7))))))))) (SMulWithZero.toSmulZeroClass.{u1, u3} R K (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u3} K (AddMonoid.toAddZeroClass.{u3} K (AddCommMonoid.toAddMonoid.{u3} K (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} K (Semiring.toNonAssocSemiring.{u3} K (Ring.toSemiring.{u3} K (DivisionRing.toRing.{u3} K (Field.toDivisionRing.{u3} K _inst_7))))))))) (MulActionWithZero.toSMulWithZero.{u1, u3} R K (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u3} K (AddMonoid.toAddZeroClass.{u3} K (AddCommMonoid.toAddMonoid.{u3} K (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} K (Semiring.toNonAssocSemiring.{u3} K (Ring.toSemiring.{u3} K (DivisionRing.toRing.{u3} K (Field.toDivisionRing.{u3} K _inst_7))))))))) (Module.toMulActionWithZero.{u1, u3} R K (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} K (Semiring.toNonAssocSemiring.{u3} K (Ring.toSemiring.{u3} K (DivisionRing.toRing.{u3} K (Field.toDivisionRing.{u3} K _inst_7)))))) (Algebra.toModule.{u1, u3} R K (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u3} K (DivisionRing.toRing.{u3} K (Field.toDivisionRing.{u3} K _inst_7))) _inst_10)))))], Iff (Algebra.IsAlgebraic.{u1, u2} R S _inst_1 (CommRing.toRing.{u2} S _inst_2) _inst_3) (Algebra.IsAlgebraic.{u1, u3} R K _inst_1 (DivisionRing.toRing.{u3} K (Field.toDivisionRing.{u3} K _inst_7)) _inst_10)
-but is expected to have type
-  forall (R : Type.{u2}) [_inst_1 : CommRing.{u2} R] (S : Type.{u1}) [_inst_2 : CommRing.{u1} S] [_inst_3 : Algebra.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))] (K : Type.{u3}) [_inst_7 : Field.{u3} K] [_inst_8 : IsDomain.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))] [_inst_9 : IsDomain.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))] [_inst_10 : Algebra.{u2, u3} R K (CommRing.toCommSemiring.{u2} R _inst_1) (DivisionSemiring.toSemiring.{u3} K (Semifield.toDivisionSemiring.{u3} K (Field.toSemifield.{u3} K _inst_7)))] [_inst_11 : Algebra.{u1, u3} S K (CommRing.toCommSemiring.{u1} S _inst_2) (DivisionSemiring.toSemiring.{u3} K (Semifield.toDivisionSemiring.{u3} K (Field.toSemifield.{u3} K _inst_7)))] [_inst_12 : NoZeroSMulDivisors.{u2, u3} R K (CommMonoidWithZero.toZero.{u2} R (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} R (IsDomain.toCancelCommMonoidWithZero.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_8))) (CommMonoidWithZero.toZero.{u3} K (CommGroupWithZero.toCommMonoidWithZero.{u3} K (Semifield.toCommGroupWithZero.{u3} K (Field.toSemifield.{u3} K _inst_7)))) (Algebra.toSMul.{u2, u3} R K (CommRing.toCommSemiring.{u2} R _inst_1) (DivisionSemiring.toSemiring.{u3} K (Semifield.toDivisionSemiring.{u3} K (Field.toSemifield.{u3} K _inst_7))) _inst_10)] [_inst_13 : IsFractionRing.{u1, u3} S _inst_2 K (EuclideanDomain.toCommRing.{u3} K (Field.toEuclideanDomain.{u3} K _inst_7)) _inst_11] [_inst_14 : IsScalarTower.{u2, u1, u3} R S K (Algebra.toSMul.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) _inst_3) (Algebra.toSMul.{u1, u3} S K (CommRing.toCommSemiring.{u1} S _inst_2) (DivisionSemiring.toSemiring.{u3} K (Semifield.toDivisionSemiring.{u3} K (Field.toSemifield.{u3} K _inst_7))) _inst_11) (Algebra.toSMul.{u2, u3} R K (CommRing.toCommSemiring.{u2} R _inst_1) (DivisionSemiring.toSemiring.{u3} K (Semifield.toDivisionSemiring.{u3} K (Field.toSemifield.{u3} K _inst_7))) _inst_10)], Iff (Algebra.IsAlgebraic.{u2, u1} R S _inst_1 (CommRing.toRing.{u1} S _inst_2) _inst_3) (Algebra.IsAlgebraic.{u2, u3} R K _inst_1 (DivisionRing.toRing.{u3} K (Field.toDivisionRing.{u3} K _inst_7)) _inst_10)
+<too large>
 Case conversion may be inaccurate. Consider using '#align is_fraction_ring.is_algebraic_iff' IsFractionRing.isAlgebraic_iff'ₓ'. -/
 /-- `S` is algebraic over `R` iff a fraction ring of `S` is algebraic over `R` -/
 theorem isAlgebraic_iff' [Field K] [IsDomain R] [IsDomain S] [Algebra R K] [Algebra S K]
@@ -555,10 +513,7 @@ open nonZeroDivisors
 variable (R) {S K}
 
 /- warning: is_fraction_ring.ideal_span_singleton_map_subset -> IsFractionRing.ideal_span_singleton_map_subset is a dubious translation:
-lean 3 declaration is
-  forall (R : Type.{u1}) [_inst_1 : CommRing.{u1} R] {S : Type.{u2}} [_inst_2 : CommRing.{u2} S] [_inst_3 : Algebra.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))] {K : Type.{u3}} {L : Type.{u4}} [_inst_7 : IsDomain.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))] [_inst_8 : IsDomain.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))] [_inst_9 : Field.{u3} K] [_inst_10 : Field.{u4} L] [_inst_11 : Algebra.{u1, u3} R K (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u3} K (DivisionRing.toRing.{u3} K (Field.toDivisionRing.{u3} K _inst_9)))] [_inst_12 : Algebra.{u1, u4} R L (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u4} L (DivisionRing.toRing.{u4} L (Field.toDivisionRing.{u4} L _inst_10)))] [_inst_13 : Algebra.{u2, u4} S L (CommRing.toCommSemiring.{u2} S _inst_2) (Ring.toSemiring.{u4} L (DivisionRing.toRing.{u4} L (Field.toDivisionRing.{u4} L _inst_10)))] [_inst_14 : IsIntegralClosure.{u2, u1, u4} S R L _inst_1 (CommRing.toCommSemiring.{u2} S _inst_2) (EuclideanDomain.toCommRing.{u4} L (Field.toEuclideanDomain.{u4} L _inst_10)) _inst_12 _inst_13] [_inst_15 : IsFractionRing.{u2, u4} S _inst_2 L (EuclideanDomain.toCommRing.{u4} L (Field.toEuclideanDomain.{u4} L _inst_10)) _inst_13] [_inst_16 : Algebra.{u3, u4} K L (Semifield.toCommSemiring.{u3} K (Field.toSemifield.{u3} K _inst_9)) (Ring.toSemiring.{u4} L (DivisionRing.toRing.{u4} L (Field.toDivisionRing.{u4} L _inst_10)))] [_inst_17 : IsScalarTower.{u1, u2, u4} R S L (SMulZeroClass.toHasSmul.{u1, u2} R S (AddZeroClass.toHasZero.{u2} S (AddMonoid.toAddZeroClass.{u2} S (AddCommMonoid.toAddMonoid.{u2} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)))))))) (SMulWithZero.toSmulZeroClass.{u1, u2} R S (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u2} S (AddMonoid.toAddZeroClass.{u2} S (AddCommMonoid.toAddMonoid.{u2} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)))))))) (MulActionWithZero.toSMulWithZero.{u1, u2} R S (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u2} S (AddMonoid.toAddZeroClass.{u2} S (AddCommMonoid.toAddMonoid.{u2} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)))))))) (Module.toMulActionWithZero.{u1, u2} R S (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))))) (Algebra.toModule.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) _inst_3))))) (SMulZeroClass.toHasSmul.{u2, u4} S L (AddZeroClass.toHasZero.{u4} L (AddMonoid.toAddZeroClass.{u4} L (AddCommMonoid.toAddMonoid.{u4} L (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} L (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} L (Semiring.toNonAssocSemiring.{u4} L (Ring.toSemiring.{u4} L (DivisionRing.toRing.{u4} L (Field.toDivisionRing.{u4} L _inst_10))))))))) (SMulWithZero.toSmulZeroClass.{u2, u4} S L (MulZeroClass.toHasZero.{u2} S (MulZeroOneClass.toMulZeroClass.{u2} S (MonoidWithZero.toMulZeroOneClass.{u2} S (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))))) (AddZeroClass.toHasZero.{u4} L (AddMonoid.toAddZeroClass.{u4} L (AddCommMonoid.toAddMonoid.{u4} L (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} L (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} L (Semiring.toNonAssocSemiring.{u4} L (Ring.toSemiring.{u4} L (DivisionRing.toRing.{u4} L (Field.toDivisionRing.{u4} L _inst_10))))))))) (MulActionWithZero.toSMulWithZero.{u2, u4} S L (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (AddZeroClass.toHasZero.{u4} L (AddMonoid.toAddZeroClass.{u4} L (AddCommMonoid.toAddMonoid.{u4} L (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} L (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} L (Semiring.toNonAssocSemiring.{u4} L (Ring.toSemiring.{u4} L (DivisionRing.toRing.{u4} L (Field.toDivisionRing.{u4} L _inst_10))))))))) (Module.toMulActionWithZero.{u2, u4} S L (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} L (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} L (Semiring.toNonAssocSemiring.{u4} L (Ring.toSemiring.{u4} L (DivisionRing.toRing.{u4} L (Field.toDivisionRing.{u4} L _inst_10)))))) (Algebra.toModule.{u2, u4} S L (CommRing.toCommSemiring.{u2} S _inst_2) (Ring.toSemiring.{u4} L (DivisionRing.toRing.{u4} L (Field.toDivisionRing.{u4} L _inst_10))) _inst_13))))) (SMulZeroClass.toHasSmul.{u1, u4} R L (AddZeroClass.toHasZero.{u4} L (AddMonoid.toAddZeroClass.{u4} L (AddCommMonoid.toAddMonoid.{u4} L (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} L (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} L (Semiring.toNonAssocSemiring.{u4} L (Ring.toSemiring.{u4} L (DivisionRing.toRing.{u4} L (Field.toDivisionRing.{u4} L _inst_10))))))))) (SMulWithZero.toSmulZeroClass.{u1, u4} R L (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u4} L (AddMonoid.toAddZeroClass.{u4} L (AddCommMonoid.toAddMonoid.{u4} L (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} L (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} L (Semiring.toNonAssocSemiring.{u4} L (Ring.toSemiring.{u4} L (DivisionRing.toRing.{u4} L (Field.toDivisionRing.{u4} L _inst_10))))))))) (MulActionWithZero.toSMulWithZero.{u1, u4} R L (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u4} L (AddMonoid.toAddZeroClass.{u4} L (AddCommMonoid.toAddMonoid.{u4} L (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} L (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} L (Semiring.toNonAssocSemiring.{u4} L (Ring.toSemiring.{u4} L (DivisionRing.toRing.{u4} L (Field.toDivisionRing.{u4} L _inst_10))))))))) (Module.toMulActionWithZero.{u1, u4} R L (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} L (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} L (Semiring.toNonAssocSemiring.{u4} L (Ring.toSemiring.{u4} L (DivisionRing.toRing.{u4} L (Field.toDivisionRing.{u4} L _inst_10)))))) (Algebra.toModule.{u1, u4} R L (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u4} L (DivisionRing.toRing.{u4} L (Field.toDivisionRing.{u4} L _inst_10))) _inst_12)))))] [_inst_18 : IsScalarTower.{u1, u3, u4} R K L (SMulZeroClass.toHasSmul.{u1, u3} R K (AddZeroClass.toHasZero.{u3} K (AddMonoid.toAddZeroClass.{u3} K (AddCommMonoid.toAddMonoid.{u3} K (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} K (Semiring.toNonAssocSemiring.{u3} K (Ring.toSemiring.{u3} K (DivisionRing.toRing.{u3} K (Field.toDivisionRing.{u3} K _inst_9))))))))) (SMulWithZero.toSmulZeroClass.{u1, u3} R K (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u3} K (AddMonoid.toAddZeroClass.{u3} K (AddCommMonoid.toAddMonoid.{u3} K (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} K (Semiring.toNonAssocSemiring.{u3} K (Ring.toSemiring.{u3} K (DivisionRing.toRing.{u3} K (Field.toDivisionRing.{u3} K _inst_9))))))))) (MulActionWithZero.toSMulWithZero.{u1, u3} R K (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u3} K (AddMonoid.toAddZeroClass.{u3} K (AddCommMonoid.toAddMonoid.{u3} K (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} K (Semiring.toNonAssocSemiring.{u3} K (Ring.toSemiring.{u3} K (DivisionRing.toRing.{u3} K (Field.toDivisionRing.{u3} K _inst_9))))))))) (Module.toMulActionWithZero.{u1, u3} R K (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} K (Semiring.toNonAssocSemiring.{u3} K (Ring.toSemiring.{u3} K (DivisionRing.toRing.{u3} K (Field.toDivisionRing.{u3} K _inst_9)))))) (Algebra.toModule.{u1, u3} R K (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u3} K (DivisionRing.toRing.{u3} K (Field.toDivisionRing.{u3} K _inst_9))) _inst_11))))) (SMulZeroClass.toHasSmul.{u3, u4} K L (AddZeroClass.toHasZero.{u4} L (AddMonoid.toAddZeroClass.{u4} L (AddCommMonoid.toAddMonoid.{u4} L (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} L (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} L (Semiring.toNonAssocSemiring.{u4} L (Ring.toSemiring.{u4} L (DivisionRing.toRing.{u4} L (Field.toDivisionRing.{u4} L _inst_10))))))))) (SMulWithZero.toSmulZeroClass.{u3, u4} K L (MulZeroClass.toHasZero.{u3} K (MulZeroOneClass.toMulZeroClass.{u3} K (MonoidWithZero.toMulZeroOneClass.{u3} K (Semiring.toMonoidWithZero.{u3} K (CommSemiring.toSemiring.{u3} K (Semifield.toCommSemiring.{u3} K (Field.toSemifield.{u3} K _inst_9))))))) (AddZeroClass.toHasZero.{u4} L (AddMonoid.toAddZeroClass.{u4} L (AddCommMonoid.toAddMonoid.{u4} L (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} L (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} L (Semiring.toNonAssocSemiring.{u4} L (Ring.toSemiring.{u4} L (DivisionRing.toRing.{u4} L (Field.toDivisionRing.{u4} L _inst_10))))))))) (MulActionWithZero.toSMulWithZero.{u3, u4} K L (Semiring.toMonoidWithZero.{u3} K (CommSemiring.toSemiring.{u3} K (Semifield.toCommSemiring.{u3} K (Field.toSemifield.{u3} K _inst_9)))) (AddZeroClass.toHasZero.{u4} L (AddMonoid.toAddZeroClass.{u4} L (AddCommMonoid.toAddMonoid.{u4} L (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} L (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} L (Semiring.toNonAssocSemiring.{u4} L (Ring.toSemiring.{u4} L (DivisionRing.toRing.{u4} L (Field.toDivisionRing.{u4} L _inst_10))))))))) (Module.toMulActionWithZero.{u3, u4} K L (CommSemiring.toSemiring.{u3} K (Semifield.toCommSemiring.{u3} K (Field.toSemifield.{u3} K _inst_9))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} L (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} L (Semiring.toNonAssocSemiring.{u4} L (Ring.toSemiring.{u4} L (DivisionRing.toRing.{u4} L (Field.toDivisionRing.{u4} L _inst_10)))))) (Algebra.toModule.{u3, u4} K L (Semifield.toCommSemiring.{u3} K (Field.toSemifield.{u3} K _inst_9)) (Ring.toSemiring.{u4} L (DivisionRing.toRing.{u4} L (Field.toDivisionRing.{u4} L _inst_10))) _inst_16))))) (SMulZeroClass.toHasSmul.{u1, u4} R L (AddZeroClass.toHasZero.{u4} L (AddMonoid.toAddZeroClass.{u4} L (AddCommMonoid.toAddMonoid.{u4} L (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} L (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} L (Semiring.toNonAssocSemiring.{u4} L (Ring.toSemiring.{u4} L (DivisionRing.toRing.{u4} L (Field.toDivisionRing.{u4} L _inst_10))))))))) (SMulWithZero.toSmulZeroClass.{u1, u4} R L (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u4} L (AddMonoid.toAddZeroClass.{u4} L (AddCommMonoid.toAddMonoid.{u4} L (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} L (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} L (Semiring.toNonAssocSemiring.{u4} L (Ring.toSemiring.{u4} L (DivisionRing.toRing.{u4} L (Field.toDivisionRing.{u4} L _inst_10))))))))) (MulActionWithZero.toSMulWithZero.{u1, u4} R L (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u4} L (AddMonoid.toAddZeroClass.{u4} L (AddCommMonoid.toAddMonoid.{u4} L (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} L (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} L (Semiring.toNonAssocSemiring.{u4} L (Ring.toSemiring.{u4} L (DivisionRing.toRing.{u4} L (Field.toDivisionRing.{u4} L _inst_10))))))))) (Module.toMulActionWithZero.{u1, u4} R L (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} L (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} L (Semiring.toNonAssocSemiring.{u4} L (Ring.toSemiring.{u4} L (DivisionRing.toRing.{u4} L (Field.toDivisionRing.{u4} L _inst_10)))))) (Algebra.toModule.{u1, u4} R L (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u4} L (DivisionRing.toRing.{u4} L (Field.toDivisionRing.{u4} L _inst_10))) _inst_12)))))] {a : S} {b : Set.{u2} S}, (Algebra.IsAlgebraic.{u1, u4} R L _inst_1 (DivisionRing.toRing.{u4} L (Field.toDivisionRing.{u4} L _inst_10)) _inst_12) -> (Function.Injective.{succ u1, succ u4} R L (coeFn.{max (succ u1) (succ u4), max (succ u1) (succ u4)} (RingHom.{u1, u4} R L (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u4} L (Ring.toSemiring.{u4} L (DivisionRing.toRing.{u4} L (Field.toDivisionRing.{u4} L _inst_10))))) (fun (_x : RingHom.{u1, u4} R L (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u4} L (Ring.toSemiring.{u4} L (DivisionRing.toRing.{u4} L (Field.toDivisionRing.{u4} L _inst_10))))) => R -> L) (RingHom.hasCoeToFun.{u1, u4} R L (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u4} L (Ring.toSemiring.{u4} L (DivisionRing.toRing.{u4} L (Field.toDivisionRing.{u4} L _inst_10))))) (algebraMap.{u1, u4} R L (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u4} L (DivisionRing.toRing.{u4} L (Field.toDivisionRing.{u4} L _inst_10))) _inst_12))) -> (HasSubset.Subset.{u2} (Set.{u2} S) (Set.hasSubset.{u2} S) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Ideal.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))) (Set.{u2} S) (HasLiftT.mk.{succ u2, succ u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))) (Set.{u2} S) (CoeTCₓ.coe.{succ u2, succ u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))) (Set.{u2} S) (SetLike.Set.hasCoeT.{u2, u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))) S (Submodule.setLike.{u2, u2} S S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))))) (Semiring.toModule.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))))))) (Ideal.span.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) (Singleton.singleton.{u2, u2} S (Set.{u2} S) (Set.hasSingleton.{u2} S) a))) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Submodule.{u1, u2} R S (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} S (NonUnitalNonAssocRing.toAddCommGroup.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2))))) (Algebra.toModule.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) _inst_3)) (Set.{u2} S) (HasLiftT.mk.{succ u2, succ u2} (Submodule.{u1, u2} R S (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} S (NonUnitalNonAssocRing.toAddCommGroup.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2))))) (Algebra.toModule.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) _inst_3)) (Set.{u2} S) (CoeTCₓ.coe.{succ u2, succ u2} (Submodule.{u1, u2} R S (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} S (NonUnitalNonAssocRing.toAddCommGroup.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2))))) (Algebra.toModule.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) _inst_3)) (Set.{u2} S) (SetLike.Set.hasCoeT.{u2, u2} (Submodule.{u1, u2} R S (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} S (NonUnitalNonAssocRing.toAddCommGroup.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2))))) (Algebra.toModule.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) _inst_3)) S (Submodule.setLike.{u1, u2} R S (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} S (NonUnitalNonAssocRing.toAddCommGroup.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2))))) (Algebra.toModule.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) _inst_3))))) (Submodule.span.{u1, u2} R S (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} S (NonUnitalNonAssocRing.toAddCommGroup.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2))))) (Algebra.toModule.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) _inst_3) b))) -> (HasSubset.Subset.{u4} (Set.{u4} L) (Set.hasSubset.{u4} L) ((fun (a : Type.{u4}) (b : Type.{u4}) [self : HasLiftT.{succ u4, succ u4} a b] => self.0) (Ideal.{u4} L (Ring.toSemiring.{u4} L (DivisionRing.toRing.{u4} L (Field.toDivisionRing.{u4} L _inst_10)))) (Set.{u4} L) (HasLiftT.mk.{succ u4, succ u4} (Ideal.{u4} L (Ring.toSemiring.{u4} L (DivisionRing.toRing.{u4} L (Field.toDivisionRing.{u4} L _inst_10)))) (Set.{u4} L) (CoeTCₓ.coe.{succ u4, succ u4} (Ideal.{u4} L (Ring.toSemiring.{u4} L (DivisionRing.toRing.{u4} L (Field.toDivisionRing.{u4} L _inst_10)))) (Set.{u4} L) (SetLike.Set.hasCoeT.{u4, u4} (Ideal.{u4} L (Ring.toSemiring.{u4} L (DivisionRing.toRing.{u4} L (Field.toDivisionRing.{u4} L _inst_10)))) L (Submodule.setLike.{u4, u4} L L (Ring.toSemiring.{u4} L (DivisionRing.toRing.{u4} L (Field.toDivisionRing.{u4} L _inst_10))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} L (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} L (Semiring.toNonAssocSemiring.{u4} L (Ring.toSemiring.{u4} L (DivisionRing.toRing.{u4} L (Field.toDivisionRing.{u4} L _inst_10)))))) (Semiring.toModule.{u4} L (Ring.toSemiring.{u4} L (DivisionRing.toRing.{u4} L (Field.toDivisionRing.{u4} L _inst_10)))))))) (Ideal.span.{u4} L (Ring.toSemiring.{u4} L (DivisionRing.toRing.{u4} L (Field.toDivisionRing.{u4} L _inst_10))) (Singleton.singleton.{u4, u4} L (Set.{u4} L) (Set.hasSingleton.{u4} L) (coeFn.{max (succ u2) (succ u4), max (succ u2) (succ u4)} (RingHom.{u2, u4} S L (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (Semiring.toNonAssocSemiring.{u4} L (Ring.toSemiring.{u4} L (DivisionRing.toRing.{u4} L (Field.toDivisionRing.{u4} L _inst_10))))) (fun (_x : RingHom.{u2, u4} S L (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (Semiring.toNonAssocSemiring.{u4} L (Ring.toSemiring.{u4} L (DivisionRing.toRing.{u4} L (Field.toDivisionRing.{u4} L _inst_10))))) => S -> L) (RingHom.hasCoeToFun.{u2, u4} S L (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (Semiring.toNonAssocSemiring.{u4} L (Ring.toSemiring.{u4} L (DivisionRing.toRing.{u4} L (Field.toDivisionRing.{u4} L _inst_10))))) (algebraMap.{u2, u4} S L (CommRing.toCommSemiring.{u2} S _inst_2) (Ring.toSemiring.{u4} L (DivisionRing.toRing.{u4} L (Field.toDivisionRing.{u4} L _inst_10))) _inst_13) a)))) ((fun (a : Type.{u4}) (b : Type.{u4}) [self : HasLiftT.{succ u4, succ u4} a b] => self.0) (Submodule.{u3, u4} K L (Ring.toSemiring.{u3} K (DivisionRing.toRing.{u3} K (Field.toDivisionRing.{u3} K _inst_9))) (AddCommGroup.toAddCommMonoid.{u4} L (NonUnitalNonAssocRing.toAddCommGroup.{u4} L (NonAssocRing.toNonUnitalNonAssocRing.{u4} L (Ring.toNonAssocRing.{u4} L (DivisionRing.toRing.{u4} L (Field.toDivisionRing.{u4} L _inst_10)))))) (Algebra.toModule.{u3, u4} K L (Semifield.toCommSemiring.{u3} K (Field.toSemifield.{u3} K _inst_9)) (Ring.toSemiring.{u4} L (DivisionRing.toRing.{u4} L (Field.toDivisionRing.{u4} L _inst_10))) _inst_16)) (Set.{u4} L) (HasLiftT.mk.{succ u4, succ u4} (Submodule.{u3, u4} K L (Ring.toSemiring.{u3} K (DivisionRing.toRing.{u3} K (Field.toDivisionRing.{u3} K _inst_9))) (AddCommGroup.toAddCommMonoid.{u4} L (NonUnitalNonAssocRing.toAddCommGroup.{u4} L (NonAssocRing.toNonUnitalNonAssocRing.{u4} L (Ring.toNonAssocRing.{u4} L (DivisionRing.toRing.{u4} L (Field.toDivisionRing.{u4} L _inst_10)))))) (Algebra.toModule.{u3, u4} K L (Semifield.toCommSemiring.{u3} K (Field.toSemifield.{u3} K _inst_9)) (Ring.toSemiring.{u4} L (DivisionRing.toRing.{u4} L (Field.toDivisionRing.{u4} L _inst_10))) _inst_16)) (Set.{u4} L) (CoeTCₓ.coe.{succ u4, succ u4} (Submodule.{u3, u4} K L (Ring.toSemiring.{u3} K (DivisionRing.toRing.{u3} K (Field.toDivisionRing.{u3} K _inst_9))) (AddCommGroup.toAddCommMonoid.{u4} L (NonUnitalNonAssocRing.toAddCommGroup.{u4} L (NonAssocRing.toNonUnitalNonAssocRing.{u4} L (Ring.toNonAssocRing.{u4} L (DivisionRing.toRing.{u4} L (Field.toDivisionRing.{u4} L _inst_10)))))) (Algebra.toModule.{u3, u4} K L (Semifield.toCommSemiring.{u3} K (Field.toSemifield.{u3} K _inst_9)) (Ring.toSemiring.{u4} L (DivisionRing.toRing.{u4} L (Field.toDivisionRing.{u4} L _inst_10))) _inst_16)) (Set.{u4} L) (SetLike.Set.hasCoeT.{u4, u4} (Submodule.{u3, u4} K L (Ring.toSemiring.{u3} K (DivisionRing.toRing.{u3} K (Field.toDivisionRing.{u3} K _inst_9))) (AddCommGroup.toAddCommMonoid.{u4} L (NonUnitalNonAssocRing.toAddCommGroup.{u4} L (NonAssocRing.toNonUnitalNonAssocRing.{u4} L (Ring.toNonAssocRing.{u4} L (DivisionRing.toRing.{u4} L (Field.toDivisionRing.{u4} L _inst_10)))))) (Algebra.toModule.{u3, u4} K L (Semifield.toCommSemiring.{u3} K (Field.toSemifield.{u3} K _inst_9)) (Ring.toSemiring.{u4} L (DivisionRing.toRing.{u4} L (Field.toDivisionRing.{u4} L _inst_10))) _inst_16)) L (Submodule.setLike.{u3, u4} K L (Ring.toSemiring.{u3} K (DivisionRing.toRing.{u3} K (Field.toDivisionRing.{u3} K _inst_9))) (AddCommGroup.toAddCommMonoid.{u4} L (NonUnitalNonAssocRing.toAddCommGroup.{u4} L (NonAssocRing.toNonUnitalNonAssocRing.{u4} L (Ring.toNonAssocRing.{u4} L (DivisionRing.toRing.{u4} L (Field.toDivisionRing.{u4} L _inst_10)))))) (Algebra.toModule.{u3, u4} K L (Semifield.toCommSemiring.{u3} K (Field.toSemifield.{u3} K _inst_9)) (Ring.toSemiring.{u4} L (DivisionRing.toRing.{u4} L (Field.toDivisionRing.{u4} L _inst_10))) _inst_16))))) (Submodule.span.{u3, u4} K L (Ring.toSemiring.{u3} K (DivisionRing.toRing.{u3} K (Field.toDivisionRing.{u3} K _inst_9))) (AddCommGroup.toAddCommMonoid.{u4} L (NonUnitalNonAssocRing.toAddCommGroup.{u4} L (NonAssocRing.toNonUnitalNonAssocRing.{u4} L (Ring.toNonAssocRing.{u4} L (DivisionRing.toRing.{u4} L (Field.toDivisionRing.{u4} L _inst_10)))))) (Algebra.toModule.{u3, u4} K L (Semifield.toCommSemiring.{u3} K (Field.toSemifield.{u3} K _inst_9)) (Ring.toSemiring.{u4} L (DivisionRing.toRing.{u4} L (Field.toDivisionRing.{u4} L _inst_10))) _inst_16) (Set.image.{u2, u4} S L (coeFn.{max (succ u2) (succ u4), max (succ u2) (succ u4)} (RingHom.{u2, u4} S L (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (Semiring.toNonAssocSemiring.{u4} L (Ring.toSemiring.{u4} L (DivisionRing.toRing.{u4} L (Field.toDivisionRing.{u4} L _inst_10))))) (fun (_x : RingHom.{u2, u4} S L (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (Semiring.toNonAssocSemiring.{u4} L (Ring.toSemiring.{u4} L (DivisionRing.toRing.{u4} L (Field.toDivisionRing.{u4} L _inst_10))))) => S -> L) (RingHom.hasCoeToFun.{u2, u4} S L (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (Semiring.toNonAssocSemiring.{u4} L (Ring.toSemiring.{u4} L (DivisionRing.toRing.{u4} L (Field.toDivisionRing.{u4} L _inst_10))))) (algebraMap.{u2, u4} S L (CommRing.toCommSemiring.{u2} S _inst_2) (Ring.toSemiring.{u4} L (DivisionRing.toRing.{u4} L (Field.toDivisionRing.{u4} L _inst_10))) _inst_13)) b))))
-but is expected to have type
-  forall (R : Type.{u3}) [_inst_1 : CommRing.{u3} R] {S : Type.{u2}} [_inst_2 : CommRing.{u2} S] [_inst_3 : Algebra.{u3, u2} R S (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))] {K : Type.{u1}} {L : Type.{u4}} [_inst_7 : IsDomain.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))] [_inst_8 : IsDomain.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))] [_inst_9 : Field.{u1} K] [_inst_10 : Field.{u4} L] [_inst_11 : Algebra.{u3, u1} R K (CommRing.toCommSemiring.{u3} R _inst_1) (DivisionSemiring.toSemiring.{u1} K (Semifield.toDivisionSemiring.{u1} K (Field.toSemifield.{u1} K _inst_9)))] [_inst_12 : Algebra.{u3, u4} R L (CommRing.toCommSemiring.{u3} R _inst_1) (DivisionSemiring.toSemiring.{u4} L (Semifield.toDivisionSemiring.{u4} L (Field.toSemifield.{u4} L _inst_10)))] [_inst_13 : Algebra.{u2, u4} S L (CommRing.toCommSemiring.{u2} S _inst_2) (DivisionSemiring.toSemiring.{u4} L (Semifield.toDivisionSemiring.{u4} L (Field.toSemifield.{u4} L _inst_10)))] [_inst_14 : IsIntegralClosure.{u2, u3, u4} S R L _inst_1 (CommRing.toCommSemiring.{u2} S _inst_2) (EuclideanDomain.toCommRing.{u4} L (Field.toEuclideanDomain.{u4} L _inst_10)) _inst_12 _inst_13] [_inst_15 : IsFractionRing.{u2, u4} S _inst_2 L (EuclideanDomain.toCommRing.{u4} L (Field.toEuclideanDomain.{u4} L _inst_10)) _inst_13] [_inst_16 : Algebra.{u1, u4} K L (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_9)) (DivisionSemiring.toSemiring.{u4} L (Semifield.toDivisionSemiring.{u4} L (Field.toSemifield.{u4} L _inst_10)))] [_inst_17 : IsScalarTower.{u3, u2, u4} R S L (Algebra.toSMul.{u3, u2} R S (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) _inst_3) (Algebra.toSMul.{u2, u4} S L (CommRing.toCommSemiring.{u2} S _inst_2) (DivisionSemiring.toSemiring.{u4} L (Semifield.toDivisionSemiring.{u4} L (Field.toSemifield.{u4} L _inst_10))) _inst_13) (Algebra.toSMul.{u3, u4} R L (CommRing.toCommSemiring.{u3} R _inst_1) (DivisionSemiring.toSemiring.{u4} L (Semifield.toDivisionSemiring.{u4} L (Field.toSemifield.{u4} L _inst_10))) _inst_12)] [_inst_18 : IsScalarTower.{u3, u1, u4} R K L (Algebra.toSMul.{u3, u1} R K (CommRing.toCommSemiring.{u3} R _inst_1) (DivisionSemiring.toSemiring.{u1} K (Semifield.toDivisionSemiring.{u1} K (Field.toSemifield.{u1} K _inst_9))) _inst_11) (Algebra.toSMul.{u1, u4} K L (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_9)) (DivisionSemiring.toSemiring.{u4} L (Semifield.toDivisionSemiring.{u4} L (Field.toSemifield.{u4} L _inst_10))) _inst_16) (Algebra.toSMul.{u3, u4} R L (CommRing.toCommSemiring.{u3} R _inst_1) (DivisionSemiring.toSemiring.{u4} L (Semifield.toDivisionSemiring.{u4} L (Field.toSemifield.{u4} L _inst_10))) _inst_12)] {a : S} {b : Set.{u2} S}, (Algebra.IsAlgebraic.{u3, u4} R L _inst_1 (DivisionRing.toRing.{u4} L (Field.toDivisionRing.{u4} L _inst_10)) _inst_12) -> (Function.Injective.{succ u3, succ u4} R L (FunLike.coe.{max (succ u3) (succ u4), succ u3, succ u4} (RingHom.{u3, u4} R L (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (Semiring.toNonAssocSemiring.{u4} L (DivisionSemiring.toSemiring.{u4} L (Semifield.toDivisionSemiring.{u4} L (Field.toSemifield.{u4} L _inst_10))))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => L) _x) (MulHomClass.toFunLike.{max u3 u4, u3, u4} (RingHom.{u3, u4} R L (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (Semiring.toNonAssocSemiring.{u4} L (DivisionSemiring.toSemiring.{u4} L (Semifield.toDivisionSemiring.{u4} L (Field.toSemifield.{u4} L _inst_10))))) R L (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))) (NonUnitalNonAssocSemiring.toMul.{u4} L (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} L (Semiring.toNonAssocSemiring.{u4} L (DivisionSemiring.toSemiring.{u4} L (Semifield.toDivisionSemiring.{u4} L (Field.toSemifield.{u4} L _inst_10)))))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u4, u3, u4} (RingHom.{u3, u4} R L (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (Semiring.toNonAssocSemiring.{u4} L (DivisionSemiring.toSemiring.{u4} L (Semifield.toDivisionSemiring.{u4} L (Field.toSemifield.{u4} L _inst_10))))) R L (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} L (Semiring.toNonAssocSemiring.{u4} L (DivisionSemiring.toSemiring.{u4} L (Semifield.toDivisionSemiring.{u4} L (Field.toSemifield.{u4} L _inst_10))))) (RingHomClass.toNonUnitalRingHomClass.{max u3 u4, u3, u4} (RingHom.{u3, u4} R L (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (Semiring.toNonAssocSemiring.{u4} L (DivisionSemiring.toSemiring.{u4} L (Semifield.toDivisionSemiring.{u4} L (Field.toSemifield.{u4} L _inst_10))))) R L (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (Semiring.toNonAssocSemiring.{u4} L (DivisionSemiring.toSemiring.{u4} L (Semifield.toDivisionSemiring.{u4} L (Field.toSemifield.{u4} L _inst_10)))) (RingHom.instRingHomClassRingHom.{u3, u4} R L (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (Semiring.toNonAssocSemiring.{u4} L (DivisionSemiring.toSemiring.{u4} L (Semifield.toDivisionSemiring.{u4} L (Field.toSemifield.{u4} L _inst_10)))))))) (algebraMap.{u3, u4} R L (CommRing.toCommSemiring.{u3} R _inst_1) (DivisionSemiring.toSemiring.{u4} L (Semifield.toDivisionSemiring.{u4} L (Field.toSemifield.{u4} L _inst_10))) _inst_12))) -> (HasSubset.Subset.{u2} (Set.{u2} S) (Set.instHasSubsetSet.{u2} S) (SetLike.coe.{u2, u2} (Ideal.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) S (Submodule.setLike.{u2, u2} S S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (Semiring.toModule.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (Ideal.span.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (Singleton.singleton.{u2, u2} S (Set.{u2} S) (Set.instSingletonSet.{u2} S) a))) (SetLike.coe.{u2, u2} (Submodule.{u3, u2} R S (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2))))) (Algebra.toModule.{u3, u2} R S (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) _inst_3)) S (Submodule.setLike.{u3, u2} R S (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2))))) (Algebra.toModule.{u3, u2} R S (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) _inst_3)) (Submodule.span.{u3, u2} R S (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2))))) (Algebra.toModule.{u3, u2} R S (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) _inst_3) b))) -> (HasSubset.Subset.{u4} (Set.{u4} L) (Set.instHasSubsetSet.{u4} L) (SetLike.coe.{u4, u4} (Ideal.{u4} L (DivisionSemiring.toSemiring.{u4} L (Semifield.toDivisionSemiring.{u4} L (Field.toSemifield.{u4} L _inst_10)))) L (Submodule.setLike.{u4, u4} L L (DivisionSemiring.toSemiring.{u4} L (Semifield.toDivisionSemiring.{u4} L (Field.toSemifield.{u4} L _inst_10))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} L (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} L (Semiring.toNonAssocSemiring.{u4} L (DivisionSemiring.toSemiring.{u4} L (Semifield.toDivisionSemiring.{u4} L (Field.toSemifield.{u4} L _inst_10)))))) (Semiring.toModule.{u4} L (DivisionSemiring.toSemiring.{u4} L (Semifield.toDivisionSemiring.{u4} L (Field.toSemifield.{u4} L _inst_10))))) (Ideal.span.{u4} L (DivisionSemiring.toSemiring.{u4} L (Semifield.toDivisionSemiring.{u4} L (Field.toSemifield.{u4} L _inst_10))) (Singleton.singleton.{u4, u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : S) => L) a) (Set.{u4} L) (Set.instSingletonSet.{u4} L) (FunLike.coe.{max (succ u2) (succ u4), succ u2, succ u4} (RingHom.{u2, u4} S L (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (Semiring.toNonAssocSemiring.{u4} L (DivisionSemiring.toSemiring.{u4} L (Semifield.toDivisionSemiring.{u4} L (Field.toSemifield.{u4} L _inst_10))))) S (fun (_x : S) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : S) => L) _x) (MulHomClass.toFunLike.{max u2 u4, u2, u4} (RingHom.{u2, u4} S L (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (Semiring.toNonAssocSemiring.{u4} L (DivisionSemiring.toSemiring.{u4} L (Semifield.toDivisionSemiring.{u4} L (Field.toSemifield.{u4} L _inst_10))))) S L (NonUnitalNonAssocSemiring.toMul.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (NonUnitalNonAssocSemiring.toMul.{u4} L (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} L (Semiring.toNonAssocSemiring.{u4} L (DivisionSemiring.toSemiring.{u4} L (Semifield.toDivisionSemiring.{u4} L (Field.toSemifield.{u4} L _inst_10)))))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u4, u2, u4} (RingHom.{u2, u4} S L (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (Semiring.toNonAssocSemiring.{u4} L (DivisionSemiring.toSemiring.{u4} L (Semifield.toDivisionSemiring.{u4} L (Field.toSemifield.{u4} L _inst_10))))) S L (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} L (Semiring.toNonAssocSemiring.{u4} L (DivisionSemiring.toSemiring.{u4} L (Semifield.toDivisionSemiring.{u4} L (Field.toSemifield.{u4} L _inst_10))))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u4, u2, u4} (RingHom.{u2, u4} S L (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (Semiring.toNonAssocSemiring.{u4} L (DivisionSemiring.toSemiring.{u4} L (Semifield.toDivisionSemiring.{u4} L (Field.toSemifield.{u4} L _inst_10))))) S L (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (Semiring.toNonAssocSemiring.{u4} L (DivisionSemiring.toSemiring.{u4} L (Semifield.toDivisionSemiring.{u4} L (Field.toSemifield.{u4} L _inst_10)))) (RingHom.instRingHomClassRingHom.{u2, u4} S L (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (Semiring.toNonAssocSemiring.{u4} L (DivisionSemiring.toSemiring.{u4} L (Semifield.toDivisionSemiring.{u4} L (Field.toSemifield.{u4} L _inst_10)))))))) (algebraMap.{u2, u4} S L (CommRing.toCommSemiring.{u2} S _inst_2) (DivisionSemiring.toSemiring.{u4} L (Semifield.toDivisionSemiring.{u4} L (Field.toSemifield.{u4} L _inst_10))) _inst_13) a)))) (SetLike.coe.{u4, u4} (Submodule.{u1, u4} K L (DivisionSemiring.toSemiring.{u1} K (Semifield.toDivisionSemiring.{u1} K (Field.toSemifield.{u1} K _inst_9))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} L (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} L (NonAssocRing.toNonUnitalNonAssocRing.{u4} L (Ring.toNonAssocRing.{u4} L (DivisionRing.toRing.{u4} L (Field.toDivisionRing.{u4} L _inst_10)))))) (Algebra.toModule.{u1, u4} K L (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_9)) (DivisionSemiring.toSemiring.{u4} L (Semifield.toDivisionSemiring.{u4} L (Field.toSemifield.{u4} L _inst_10))) _inst_16)) L (Submodule.setLike.{u1, u4} K L (DivisionSemiring.toSemiring.{u1} K (Semifield.toDivisionSemiring.{u1} K (Field.toSemifield.{u1} K _inst_9))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} L (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} L (NonAssocRing.toNonUnitalNonAssocRing.{u4} L (Ring.toNonAssocRing.{u4} L (DivisionRing.toRing.{u4} L (Field.toDivisionRing.{u4} L _inst_10)))))) (Algebra.toModule.{u1, u4} K L (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_9)) (DivisionSemiring.toSemiring.{u4} L (Semifield.toDivisionSemiring.{u4} L (Field.toSemifield.{u4} L _inst_10))) _inst_16)) (Submodule.span.{u1, u4} K L (DivisionSemiring.toSemiring.{u1} K (Semifield.toDivisionSemiring.{u1} K (Field.toSemifield.{u1} K _inst_9))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} L (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} L (NonAssocRing.toNonUnitalNonAssocRing.{u4} L (Ring.toNonAssocRing.{u4} L (DivisionRing.toRing.{u4} L (Field.toDivisionRing.{u4} L _inst_10)))))) (Algebra.toModule.{u1, u4} K L (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_9)) (DivisionSemiring.toSemiring.{u4} L (Semifield.toDivisionSemiring.{u4} L (Field.toSemifield.{u4} L _inst_10))) _inst_16) (Set.image.{u2, u4} S L (FunLike.coe.{max (succ u2) (succ u4), succ u2, succ u4} (RingHom.{u2, u4} S L (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (Semiring.toNonAssocSemiring.{u4} L (DivisionSemiring.toSemiring.{u4} L (Semifield.toDivisionSemiring.{u4} L (Field.toSemifield.{u4} L _inst_10))))) S (fun (_x : S) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : S) => L) _x) (MulHomClass.toFunLike.{max u2 u4, u2, u4} (RingHom.{u2, u4} S L (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (Semiring.toNonAssocSemiring.{u4} L (DivisionSemiring.toSemiring.{u4} L (Semifield.toDivisionSemiring.{u4} L (Field.toSemifield.{u4} L _inst_10))))) S L (NonUnitalNonAssocSemiring.toMul.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (NonUnitalNonAssocSemiring.toMul.{u4} L (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} L (Semiring.toNonAssocSemiring.{u4} L (DivisionSemiring.toSemiring.{u4} L (Semifield.toDivisionSemiring.{u4} L (Field.toSemifield.{u4} L _inst_10)))))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u4, u2, u4} (RingHom.{u2, u4} S L (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (Semiring.toNonAssocSemiring.{u4} L (DivisionSemiring.toSemiring.{u4} L (Semifield.toDivisionSemiring.{u4} L (Field.toSemifield.{u4} L _inst_10))))) S L (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} L (Semiring.toNonAssocSemiring.{u4} L (DivisionSemiring.toSemiring.{u4} L (Semifield.toDivisionSemiring.{u4} L (Field.toSemifield.{u4} L _inst_10))))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u4, u2, u4} (RingHom.{u2, u4} S L (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (Semiring.toNonAssocSemiring.{u4} L (DivisionSemiring.toSemiring.{u4} L (Semifield.toDivisionSemiring.{u4} L (Field.toSemifield.{u4} L _inst_10))))) S L (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (Semiring.toNonAssocSemiring.{u4} L (DivisionSemiring.toSemiring.{u4} L (Semifield.toDivisionSemiring.{u4} L (Field.toSemifield.{u4} L _inst_10)))) (RingHom.instRingHomClassRingHom.{u2, u4} S L (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (Semiring.toNonAssocSemiring.{u4} L (DivisionSemiring.toSemiring.{u4} L (Semifield.toDivisionSemiring.{u4} L (Field.toSemifield.{u4} L _inst_10)))))))) (algebraMap.{u2, u4} S L (CommRing.toCommSemiring.{u2} S _inst_2) (DivisionSemiring.toSemiring.{u4} L (Semifield.toDivisionSemiring.{u4} L (Field.toSemifield.{u4} L _inst_10))) _inst_13)) b))))
+<too large>
 Case conversion may be inaccurate. Consider using '#align is_fraction_ring.ideal_span_singleton_map_subset IsFractionRing.ideal_span_singleton_map_subsetₓ'. -/
 /-- If the `S`-multiples of `a` are contained in some `R`-span, then `Frac(S)`-multiples of `a`
 are contained in the equivalent `Frac(R)`-span. -/
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.integral
-! leanprover-community/mathlib commit 831c494092374cfe9f50591ed0ac81a25efc5b86
+! leanprover-community/mathlib commit 61db041ab8e4aaf8cb5c7dc10a7d4ff261997536
 ! Please do not edit these lines, except to modify the commit id
 ! if you have ported upstream changes.
 -/
@@ -21,6 +21,9 @@ import Mathbin.Tactic.RingExp
 /-!
 # Integral and algebraic elements of a fraction field
 
+> THIS FILE IS SYNCHRONIZED WITH MATHLIB4.
+> Any changes to this file require a corresponding PR to mathlib4.
+
 ## Implementation notes
 
 See `src/ring_theory/localization/basic.lean` for a design overview.
Diff
@@ -158,7 +158,7 @@ theorem integerNormalization_eval₂_eq_zero (g : S →+* R') (p : S[X]) {x : R'
 lean 3 declaration is
   forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] (M : Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) {S : Type.{u2}} [_inst_2 : CommRing.{u2} S] [_inst_3 : Algebra.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))] [_inst_5 : IsLocalization.{u1, u2} R (CommRing.toCommSemiring.{u1} R _inst_1) M S (CommRing.toCommSemiring.{u2} S _inst_2) _inst_3] {R' : Type.{u3}} [_inst_6 : CommRing.{u3} R'] [_inst_7 : Algebra.{u1, u3} R R' (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_6))] [_inst_8 : Algebra.{u2, u3} S R' (CommRing.toCommSemiring.{u2} S _inst_2) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_6))] [_inst_9 : IsScalarTower.{u1, u2, u3} R S R' (SMulZeroClass.toHasSmul.{u1, u2} R S (AddZeroClass.toHasZero.{u2} S (AddMonoid.toAddZeroClass.{u2} S (AddCommMonoid.toAddMonoid.{u2} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)))))))) (SMulWithZero.toSmulZeroClass.{u1, u2} R S (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u2} S (AddMonoid.toAddZeroClass.{u2} S (AddCommMonoid.toAddMonoid.{u2} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)))))))) (MulActionWithZero.toSMulWithZero.{u1, u2} R S (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u2} S (AddMonoid.toAddZeroClass.{u2} S (AddCommMonoid.toAddMonoid.{u2} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)))))))) (Module.toMulActionWithZero.{u1, u2} R S (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))))) (Algebra.toModule.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) _inst_3))))) (SMulZeroClass.toHasSmul.{u2, u3} S R' (AddZeroClass.toHasZero.{u3} R' (AddMonoid.toAddZeroClass.{u3} R' (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_6)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} S R' (MulZeroClass.toHasZero.{u2} S (MulZeroOneClass.toMulZeroClass.{u2} S (MonoidWithZero.toMulZeroOneClass.{u2} S (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))))) (AddZeroClass.toHasZero.{u3} R' (AddMonoid.toAddZeroClass.{u3} R' (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_6)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} S R' (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (AddZeroClass.toHasZero.{u3} R' (AddMonoid.toAddZeroClass.{u3} R' (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_6)))))))) (Module.toMulActionWithZero.{u2, u3} S R' (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_6))))) (Algebra.toModule.{u2, u3} S R' (CommRing.toCommSemiring.{u2} S _inst_2) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_6)) _inst_8))))) (SMulZeroClass.toHasSmul.{u1, u3} R R' (AddZeroClass.toHasZero.{u3} R' (AddMonoid.toAddZeroClass.{u3} R' (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_6)))))))) (SMulWithZero.toSmulZeroClass.{u1, u3} R R' (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u3} R' (AddMonoid.toAddZeroClass.{u3} R' (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_6)))))))) (MulActionWithZero.toSMulWithZero.{u1, u3} R R' (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u3} R' (AddMonoid.toAddZeroClass.{u3} R' (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_6)))))))) (Module.toMulActionWithZero.{u1, u3} R R' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_6))))) (Algebra.toModule.{u1, u3} R R' (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_6)) _inst_7)))))] (p : Polynomial.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))) {x : R'}, (Eq.{succ u3} R' (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (AlgHom.{u2, u2, u3} S (Polynomial.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) R' (CommRing.toCommSemiring.{u2} S _inst_2) (Polynomial.semiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_6)) (Polynomial.algebraOfAlgebra.{u2, u2} S S (CommRing.toCommSemiring.{u2} S _inst_2) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (Algebra.id.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) _inst_8) (fun (_x : AlgHom.{u2, u2, u3} S (Polynomial.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) R' (CommRing.toCommSemiring.{u2} S _inst_2) (Polynomial.semiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_6)) (Polynomial.algebraOfAlgebra.{u2, u2} S S (CommRing.toCommSemiring.{u2} S _inst_2) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (Algebra.id.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) _inst_8) => (Polynomial.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) -> R') ([anonymous].{u2, u2, u3} S (Polynomial.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) R' (CommRing.toCommSemiring.{u2} S _inst_2) (Polynomial.semiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_6)) (Polynomial.algebraOfAlgebra.{u2, u2} S S (CommRing.toCommSemiring.{u2} S _inst_2) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (Algebra.id.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) _inst_8) (Polynomial.aeval.{u2, u3} S R' (CommRing.toCommSemiring.{u2} S _inst_2) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_6)) _inst_8 x) p) (OfNat.ofNat.{u3} R' 0 (OfNat.mk.{u3} R' 0 (Zero.zero.{u3} R' (MulZeroClass.toHasZero.{u3} R' (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R' (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R' (NonAssocRing.toNonUnitalNonAssocRing.{u3} R' (Ring.toNonAssocRing.{u3} R' (CommRing.toRing.{u3} R' _inst_6)))))))))) -> (Eq.{succ u3} R' (coeFn.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (AlgHom.{u1, u1, u3} R (Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) R' (CommRing.toCommSemiring.{u1} R _inst_1) (Polynomial.semiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_6)) (Polynomial.algebraOfAlgebra.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) _inst_7) (fun (_x : AlgHom.{u1, u1, u3} R (Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) R' (CommRing.toCommSemiring.{u1} R _inst_1) (Polynomial.semiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_6)) (Polynomial.algebraOfAlgebra.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) _inst_7) => (Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) -> R') ([anonymous].{u1, u1, u3} R (Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) R' (CommRing.toCommSemiring.{u1} R _inst_1) (Polynomial.semiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_6)) (Polynomial.algebraOfAlgebra.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) _inst_7) (Polynomial.aeval.{u1, u3} R R' (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_6)) _inst_7 x) (IsLocalization.integerNormalization.{u1, u2} R _inst_1 M S _inst_2 _inst_3 _inst_5 p)) (OfNat.ofNat.{u3} R' 0 (OfNat.mk.{u3} R' 0 (Zero.zero.{u3} R' (MulZeroClass.toHasZero.{u3} R' (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R' (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R' (NonAssocRing.toNonUnitalNonAssocRing.{u3} R' (Ring.toNonAssocRing.{u3} R' (CommRing.toRing.{u3} R' _inst_6))))))))))
 but is expected to have type
-  forall {R : Type.{u3}} [_inst_1 : CommRing.{u3} R] (M : Submonoid.{u3} R (MulZeroOneClass.toMulOneClass.{u3} R (NonAssocSemiring.toMulZeroOneClass.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))))) {S : Type.{u1}} [_inst_2 : CommRing.{u1} S] [_inst_3 : Algebra.{u3, u1} R S (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))] [_inst_5 : IsLocalization.{u3, u1} R (CommRing.toCommSemiring.{u3} R _inst_1) M S (CommRing.toCommSemiring.{u1} S _inst_2) _inst_3] {R' : Type.{u2}} [_inst_6 : CommRing.{u2} R'] [_inst_7 : Algebra.{u3, u2} R R' (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_6))] [_inst_8 : Algebra.{u1, u2} S R' (CommRing.toCommSemiring.{u1} S _inst_2) (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_6))] [_inst_9 : IsScalarTower.{u3, u1, u2} R S R' (Algebra.toSMul.{u3, u1} R S (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) _inst_3) (Algebra.toSMul.{u1, u2} S R' (CommRing.toCommSemiring.{u1} S _inst_2) (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_6)) _inst_8) (Algebra.toSMul.{u3, u2} R R' (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_6)) _inst_7)] (p : Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) {x : R'}, (Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) => R') p) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (AlgHom.{u1, u1, u2} S (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) R' (CommRing.toCommSemiring.{u1} S _inst_2) (Polynomial.semiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_6)) (Polynomial.algebraOfAlgebra.{u1, u1} S S (CommRing.toCommSemiring.{u1} S _inst_2) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (Algebra.id.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) _inst_8) (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (fun (_x : Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) => R') _x) (SMulHomClass.toFunLike.{max u2 u1, u1, u1, u2} (AlgHom.{u1, u1, u2} S (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) R' (CommRing.toCommSemiring.{u1} S _inst_2) (Polynomial.semiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_6)) (Polynomial.algebraOfAlgebra.{u1, u1} S S (CommRing.toCommSemiring.{u1} S _inst_2) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (Algebra.id.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) _inst_8) S (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) R' (SMulZeroClass.toSMul.{u1, u1} S (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (AddMonoid.toZero.{u1} (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (AddCommMonoid.toAddMonoid.{u1} (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (Polynomial.semiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)))))))) (DistribSMul.toSMulZeroClass.{u1, u1} S (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (AddMonoid.toAddZeroClass.{u1} (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (AddCommMonoid.toAddMonoid.{u1} (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (Polynomial.semiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)))))))) (DistribMulAction.toDistribSMul.{u1, u1} S (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)))) (AddCommMonoid.toAddMonoid.{u1} (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (Polynomial.semiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))))))) (Module.toDistribMulAction.{u1, u1} S (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (Polynomial.semiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)))))) (Algebra.toModule.{u1, u1} S (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (CommRing.toCommSemiring.{u1} S _inst_2) (Polynomial.semiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (Polynomial.algebraOfAlgebra.{u1, u1} S S (CommRing.toCommSemiring.{u1} S _inst_2) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (Algebra.id.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)))))))) (SMulZeroClass.toSMul.{u1, u2} S R' (AddMonoid.toZero.{u2} R' (AddCommMonoid.toAddMonoid.{u2} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_6))))))) (DistribSMul.toSMulZeroClass.{u1, u2} S R' (AddMonoid.toAddZeroClass.{u2} R' (AddCommMonoid.toAddMonoid.{u2} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_6))))))) (DistribMulAction.toDistribSMul.{u1, u2} S R' (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)))) (AddCommMonoid.toAddMonoid.{u2} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_6)))))) (Module.toDistribMulAction.{u1, u2} S R' (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_6))))) (Algebra.toModule.{u1, u2} S R' (CommRing.toCommSemiring.{u1} S _inst_2) (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_6)) _inst_8))))) (DistribMulActionHomClass.toSMulHomClass.{max u2 u1, u1, u1, u2} (AlgHom.{u1, u1, u2} S (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) R' (CommRing.toCommSemiring.{u1} S _inst_2) (Polynomial.semiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_6)) (Polynomial.algebraOfAlgebra.{u1, u1} S S (CommRing.toCommSemiring.{u1} S _inst_2) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (Algebra.id.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) _inst_8) S (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) R' (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)))) (AddCommMonoid.toAddMonoid.{u1} (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (Polynomial.semiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))))))) (AddCommMonoid.toAddMonoid.{u2} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_6)))))) (Module.toDistribMulAction.{u1, u1} S (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (Polynomial.semiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)))))) (Algebra.toModule.{u1, u1} S (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (CommRing.toCommSemiring.{u1} S _inst_2) (Polynomial.semiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (Polynomial.algebraOfAlgebra.{u1, u1} S S (CommRing.toCommSemiring.{u1} S _inst_2) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (Algebra.id.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))))) (Module.toDistribMulAction.{u1, u2} S R' (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_6))))) (Algebra.toModule.{u1, u2} S R' (CommRing.toCommSemiring.{u1} S _inst_2) (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_6)) _inst_8)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max u2 u1, u1, u1, u2} (AlgHom.{u1, u1, u2} S (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) R' (CommRing.toCommSemiring.{u1} S _inst_2) (Polynomial.semiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_6)) (Polynomial.algebraOfAlgebra.{u1, u1} S S (CommRing.toCommSemiring.{u1} S _inst_2) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (Algebra.id.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) _inst_8) S (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) R' (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (Polynomial.semiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_6)))) (Module.toDistribMulAction.{u1, u1} S (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (Polynomial.semiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)))))) (Algebra.toModule.{u1, u1} S (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (CommRing.toCommSemiring.{u1} S _inst_2) (Polynomial.semiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (Polynomial.algebraOfAlgebra.{u1, u1} S S (CommRing.toCommSemiring.{u1} S _inst_2) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (Algebra.id.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))))) (Module.toDistribMulAction.{u1, u2} S R' (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_6))))) (Algebra.toModule.{u1, u2} S R' (CommRing.toCommSemiring.{u1} S _inst_2) (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_6)) _inst_8)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u1, u1, u2, max u2 u1} S (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) R' (CommRing.toCommSemiring.{u1} S _inst_2) (Polynomial.semiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_6)) (Polynomial.algebraOfAlgebra.{u1, u1} S S (CommRing.toCommSemiring.{u1} S _inst_2) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (Algebra.id.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) _inst_8 (AlgHom.{u1, u1, u2} S (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) R' (CommRing.toCommSemiring.{u1} S _inst_2) (Polynomial.semiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_6)) (Polynomial.algebraOfAlgebra.{u1, u1} S S (CommRing.toCommSemiring.{u1} S _inst_2) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (Algebra.id.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) _inst_8) (AlgHom.algHomClass.{u1, u1, u2} S (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) R' (CommRing.toCommSemiring.{u1} S _inst_2) (Polynomial.semiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_6)) (Polynomial.algebraOfAlgebra.{u1, u1} S S (CommRing.toCommSemiring.{u1} S _inst_2) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (Algebra.id.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) _inst_8))))) (Polynomial.aeval.{u1, u2} S R' (CommRing.toCommSemiring.{u1} S _inst_2) (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_6)) _inst_8 x) p) (OfNat.ofNat.{u2} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) => R') p) 0 (Zero.toOfNat0.{u2} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) => R') p) (CommMonoidWithZero.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) => R') p) (CommSemiring.toCommMonoidWithZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) => R') p) (CommRing.toCommSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) => R') p) _inst_6)))))) -> (Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) => R') (IsLocalization.integerNormalization.{u3, u1} R _inst_1 M S _inst_2 _inst_3 _inst_5 p)) (FunLike.coe.{max (succ u2) (succ u3), succ u3, succ u2} (AlgHom.{u3, u3, u2} R (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) R' (CommRing.toCommSemiring.{u3} R _inst_1) (Polynomial.semiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_6)) (Polynomial.algebraOfAlgebra.{u3, u3} R R (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) _inst_7) (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (fun (_x : Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) => R') _x) (SMulHomClass.toFunLike.{max u2 u3, u3, u3, u2} (AlgHom.{u3, u3, u2} R (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) R' (CommRing.toCommSemiring.{u3} R _inst_1) (Polynomial.semiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_6)) (Polynomial.algebraOfAlgebra.{u3, u3} R R (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) _inst_7) R (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) R' (SMulZeroClass.toSMul.{u3, u3} R (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (AddMonoid.toZero.{u3} (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{u3} (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (Semiring.toNonAssocSemiring.{u3} (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (Polynomial.semiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))))))) (DistribSMul.toSMulZeroClass.{u3, u3} R (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (AddMonoid.toAddZeroClass.{u3} (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{u3} (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (Semiring.toNonAssocSemiring.{u3} (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (Polynomial.semiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))))))) (DistribMulAction.toDistribSMul.{u3, u3} R (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (AddCommMonoid.toAddMonoid.{u3} (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (Semiring.toNonAssocSemiring.{u3} (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (Polynomial.semiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))))) (Module.toDistribMulAction.{u3, u3} R (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (Semiring.toNonAssocSemiring.{u3} (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (Polynomial.semiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))))) (Algebra.toModule.{u3, u3} R (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (CommRing.toCommSemiring.{u3} R _inst_1) (Polynomial.semiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (Polynomial.algebraOfAlgebra.{u3, u3} R R (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))))))) (SMulZeroClass.toSMul.{u3, u2} R R' (AddMonoid.toZero.{u2} R' (AddCommMonoid.toAddMonoid.{u2} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_6))))))) (DistribSMul.toSMulZeroClass.{u3, u2} R R' (AddMonoid.toAddZeroClass.{u2} R' (AddCommMonoid.toAddMonoid.{u2} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_6))))))) (DistribMulAction.toDistribSMul.{u3, u2} R R' (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (AddCommMonoid.toAddMonoid.{u2} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_6)))))) (Module.toDistribMulAction.{u3, u2} R R' (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_6))))) (Algebra.toModule.{u3, u2} R R' (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_6)) _inst_7))))) (DistribMulActionHomClass.toSMulHomClass.{max u2 u3, u3, u3, u2} (AlgHom.{u3, u3, u2} R (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) R' (CommRing.toCommSemiring.{u3} R _inst_1) (Polynomial.semiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_6)) (Polynomial.algebraOfAlgebra.{u3, u3} R R (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) _inst_7) R (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) R' (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (AddCommMonoid.toAddMonoid.{u3} (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (Semiring.toNonAssocSemiring.{u3} (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (Polynomial.semiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))))) (AddCommMonoid.toAddMonoid.{u2} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_6)))))) (Module.toDistribMulAction.{u3, u3} R (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (Semiring.toNonAssocSemiring.{u3} (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (Polynomial.semiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))))) (Algebra.toModule.{u3, u3} R (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (CommRing.toCommSemiring.{u3} R _inst_1) (Polynomial.semiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (Polynomial.algebraOfAlgebra.{u3, u3} R R (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))) (Module.toDistribMulAction.{u3, u2} R R' (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_6))))) (Algebra.toModule.{u3, u2} R R' (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_6)) _inst_7)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max u2 u3, u3, u3, u2} (AlgHom.{u3, u3, u2} R (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) R' (CommRing.toCommSemiring.{u3} R _inst_1) (Polynomial.semiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_6)) (Polynomial.algebraOfAlgebra.{u3, u3} R R (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) _inst_7) R (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) R' (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (Semiring.toNonAssocSemiring.{u3} (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (Polynomial.semiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_6)))) (Module.toDistribMulAction.{u3, u3} R (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (Semiring.toNonAssocSemiring.{u3} (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (Polynomial.semiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))))) (Algebra.toModule.{u3, u3} R (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (CommRing.toCommSemiring.{u3} R _inst_1) (Polynomial.semiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (Polynomial.algebraOfAlgebra.{u3, u3} R R (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))) (Module.toDistribMulAction.{u3, u2} R R' (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_6))))) (Algebra.toModule.{u3, u2} R R' (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_6)) _inst_7)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u3, u3, u2, max u2 u3} R (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) R' (CommRing.toCommSemiring.{u3} R _inst_1) (Polynomial.semiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_6)) (Polynomial.algebraOfAlgebra.{u3, u3} R R (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) _inst_7 (AlgHom.{u3, u3, u2} R (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) R' (CommRing.toCommSemiring.{u3} R _inst_1) (Polynomial.semiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_6)) (Polynomial.algebraOfAlgebra.{u3, u3} R R (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) _inst_7) (AlgHom.algHomClass.{u3, u3, u2} R (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) R' (CommRing.toCommSemiring.{u3} R _inst_1) (Polynomial.semiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_6)) (Polynomial.algebraOfAlgebra.{u3, u3} R R (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) _inst_7))))) (Polynomial.aeval.{u3, u2} R R' (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_6)) _inst_7 x) (IsLocalization.integerNormalization.{u3, u1} R _inst_1 M S _inst_2 _inst_3 _inst_5 p)) (OfNat.ofNat.{u2} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) => R') (IsLocalization.integerNormalization.{u3, u1} R _inst_1 M S _inst_2 _inst_3 _inst_5 p)) 0 (Zero.toOfNat0.{u2} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) => R') (IsLocalization.integerNormalization.{u3, u1} R _inst_1 M S _inst_2 _inst_3 _inst_5 p)) (CommMonoidWithZero.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) => R') (IsLocalization.integerNormalization.{u3, u1} R _inst_1 M S _inst_2 _inst_3 _inst_5 p)) (CommSemiring.toCommMonoidWithZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) => R') (IsLocalization.integerNormalization.{u3, u1} R _inst_1 M S _inst_2 _inst_3 _inst_5 p)) (CommRing.toCommSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) => R') (IsLocalization.integerNormalization.{u3, u1} R _inst_1 M S _inst_2 _inst_3 _inst_5 p)) _inst_6))))))
+  forall {R : Type.{u3}} [_inst_1 : CommRing.{u3} R] (M : Submonoid.{u3} R (MulZeroOneClass.toMulOneClass.{u3} R (NonAssocSemiring.toMulZeroOneClass.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))))) {S : Type.{u1}} [_inst_2 : CommRing.{u1} S] [_inst_3 : Algebra.{u3, u1} R S (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))] [_inst_5 : IsLocalization.{u3, u1} R (CommRing.toCommSemiring.{u3} R _inst_1) M S (CommRing.toCommSemiring.{u1} S _inst_2) _inst_3] {R' : Type.{u2}} [_inst_6 : CommRing.{u2} R'] [_inst_7 : Algebra.{u3, u2} R R' (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_6))] [_inst_8 : Algebra.{u1, u2} S R' (CommRing.toCommSemiring.{u1} S _inst_2) (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_6))] [_inst_9 : IsScalarTower.{u3, u1, u2} R S R' (Algebra.toSMul.{u3, u1} R S (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) _inst_3) (Algebra.toSMul.{u1, u2} S R' (CommRing.toCommSemiring.{u1} S _inst_2) (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_6)) _inst_8) (Algebra.toSMul.{u3, u2} R R' (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_6)) _inst_7)] (p : Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) {x : R'}, (Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) => R') p) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (AlgHom.{u1, u1, u2} S (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) R' (CommRing.toCommSemiring.{u1} S _inst_2) (Polynomial.semiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_6)) (Polynomial.algebraOfAlgebra.{u1, u1} S S (CommRing.toCommSemiring.{u1} S _inst_2) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (Algebra.id.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) _inst_8) (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (fun (_x : Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) => R') _x) (SMulHomClass.toFunLike.{max u2 u1, u1, u1, u2} (AlgHom.{u1, u1, u2} S (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) R' (CommRing.toCommSemiring.{u1} S _inst_2) (Polynomial.semiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_6)) (Polynomial.algebraOfAlgebra.{u1, u1} S S (CommRing.toCommSemiring.{u1} S _inst_2) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (Algebra.id.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) _inst_8) S (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) R' (SMulZeroClass.toSMul.{u1, u1} S (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (AddMonoid.toZero.{u1} (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (AddCommMonoid.toAddMonoid.{u1} (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (Polynomial.semiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)))))))) (DistribSMul.toSMulZeroClass.{u1, u1} S (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (AddMonoid.toAddZeroClass.{u1} (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (AddCommMonoid.toAddMonoid.{u1} (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (Polynomial.semiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)))))))) (DistribMulAction.toDistribSMul.{u1, u1} S (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)))) (AddCommMonoid.toAddMonoid.{u1} (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (Polynomial.semiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))))))) (Module.toDistribMulAction.{u1, u1} S (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (Polynomial.semiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)))))) (Algebra.toModule.{u1, u1} S (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (CommRing.toCommSemiring.{u1} S _inst_2) (Polynomial.semiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (Polynomial.algebraOfAlgebra.{u1, u1} S S (CommRing.toCommSemiring.{u1} S _inst_2) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (Algebra.id.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)))))))) (SMulZeroClass.toSMul.{u1, u2} S R' (AddMonoid.toZero.{u2} R' (AddCommMonoid.toAddMonoid.{u2} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_6))))))) (DistribSMul.toSMulZeroClass.{u1, u2} S R' (AddMonoid.toAddZeroClass.{u2} R' (AddCommMonoid.toAddMonoid.{u2} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_6))))))) (DistribMulAction.toDistribSMul.{u1, u2} S R' (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)))) (AddCommMonoid.toAddMonoid.{u2} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_6)))))) (Module.toDistribMulAction.{u1, u2} S R' (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_6))))) (Algebra.toModule.{u1, u2} S R' (CommRing.toCommSemiring.{u1} S _inst_2) (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_6)) _inst_8))))) (DistribMulActionHomClass.toSMulHomClass.{max u2 u1, u1, u1, u2} (AlgHom.{u1, u1, u2} S (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) R' (CommRing.toCommSemiring.{u1} S _inst_2) (Polynomial.semiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_6)) (Polynomial.algebraOfAlgebra.{u1, u1} S S (CommRing.toCommSemiring.{u1} S _inst_2) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (Algebra.id.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) _inst_8) S (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) R' (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)))) (AddCommMonoid.toAddMonoid.{u1} (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (Polynomial.semiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))))))) (AddCommMonoid.toAddMonoid.{u2} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_6)))))) (Module.toDistribMulAction.{u1, u1} S (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (Polynomial.semiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)))))) (Algebra.toModule.{u1, u1} S (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (CommRing.toCommSemiring.{u1} S _inst_2) (Polynomial.semiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (Polynomial.algebraOfAlgebra.{u1, u1} S S (CommRing.toCommSemiring.{u1} S _inst_2) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (Algebra.id.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))))) (Module.toDistribMulAction.{u1, u2} S R' (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_6))))) (Algebra.toModule.{u1, u2} S R' (CommRing.toCommSemiring.{u1} S _inst_2) (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_6)) _inst_8)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max u2 u1, u1, u1, u2} (AlgHom.{u1, u1, u2} S (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) R' (CommRing.toCommSemiring.{u1} S _inst_2) (Polynomial.semiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_6)) (Polynomial.algebraOfAlgebra.{u1, u1} S S (CommRing.toCommSemiring.{u1} S _inst_2) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (Algebra.id.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) _inst_8) S (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) R' (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (Polynomial.semiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_6)))) (Module.toDistribMulAction.{u1, u1} S (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (Polynomial.semiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)))))) (Algebra.toModule.{u1, u1} S (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (CommRing.toCommSemiring.{u1} S _inst_2) (Polynomial.semiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (Polynomial.algebraOfAlgebra.{u1, u1} S S (CommRing.toCommSemiring.{u1} S _inst_2) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (Algebra.id.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))))) (Module.toDistribMulAction.{u1, u2} S R' (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_6))))) (Algebra.toModule.{u1, u2} S R' (CommRing.toCommSemiring.{u1} S _inst_2) (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_6)) _inst_8)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u1, u1, u2, max u2 u1} S (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) R' (CommRing.toCommSemiring.{u1} S _inst_2) (Polynomial.semiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_6)) (Polynomial.algebraOfAlgebra.{u1, u1} S S (CommRing.toCommSemiring.{u1} S _inst_2) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (Algebra.id.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) _inst_8 (AlgHom.{u1, u1, u2} S (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) R' (CommRing.toCommSemiring.{u1} S _inst_2) (Polynomial.semiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_6)) (Polynomial.algebraOfAlgebra.{u1, u1} S S (CommRing.toCommSemiring.{u1} S _inst_2) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (Algebra.id.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) _inst_8) (AlgHom.algHomClass.{u1, u1, u2} S (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) R' (CommRing.toCommSemiring.{u1} S _inst_2) (Polynomial.semiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_6)) (Polynomial.algebraOfAlgebra.{u1, u1} S S (CommRing.toCommSemiring.{u1} S _inst_2) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (Algebra.id.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) _inst_8))))) (Polynomial.aeval.{u1, u2} S R' (CommRing.toCommSemiring.{u1} S _inst_2) (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_6)) _inst_8 x) p) (OfNat.ofNat.{u2} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) => R') p) 0 (Zero.toOfNat0.{u2} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) => R') p) (CommMonoidWithZero.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) => R') p) (CommSemiring.toCommMonoidWithZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) => R') p) (CommRing.toCommSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) => R') p) _inst_6)))))) -> (Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) => R') (IsLocalization.integerNormalization.{u3, u1} R _inst_1 M S _inst_2 _inst_3 _inst_5 p)) (FunLike.coe.{max (succ u2) (succ u3), succ u3, succ u2} (AlgHom.{u3, u3, u2} R (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) R' (CommRing.toCommSemiring.{u3} R _inst_1) (Polynomial.semiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_6)) (Polynomial.algebraOfAlgebra.{u3, u3} R R (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) _inst_7) (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (fun (_x : Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) => R') _x) (SMulHomClass.toFunLike.{max u2 u3, u3, u3, u2} (AlgHom.{u3, u3, u2} R (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) R' (CommRing.toCommSemiring.{u3} R _inst_1) (Polynomial.semiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_6)) (Polynomial.algebraOfAlgebra.{u3, u3} R R (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) _inst_7) R (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) R' (SMulZeroClass.toSMul.{u3, u3} R (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (AddMonoid.toZero.{u3} (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{u3} (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (Semiring.toNonAssocSemiring.{u3} (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (Polynomial.semiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))))))) (DistribSMul.toSMulZeroClass.{u3, u3} R (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (AddMonoid.toAddZeroClass.{u3} (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{u3} (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (Semiring.toNonAssocSemiring.{u3} (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (Polynomial.semiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))))))) (DistribMulAction.toDistribSMul.{u3, u3} R (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (AddCommMonoid.toAddMonoid.{u3} (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (Semiring.toNonAssocSemiring.{u3} (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (Polynomial.semiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))))) (Module.toDistribMulAction.{u3, u3} R (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (Semiring.toNonAssocSemiring.{u3} (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (Polynomial.semiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))))) (Algebra.toModule.{u3, u3} R (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (CommRing.toCommSemiring.{u3} R _inst_1) (Polynomial.semiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (Polynomial.algebraOfAlgebra.{u3, u3} R R (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))))))) (SMulZeroClass.toSMul.{u3, u2} R R' (AddMonoid.toZero.{u2} R' (AddCommMonoid.toAddMonoid.{u2} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_6))))))) (DistribSMul.toSMulZeroClass.{u3, u2} R R' (AddMonoid.toAddZeroClass.{u2} R' (AddCommMonoid.toAddMonoid.{u2} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_6))))))) (DistribMulAction.toDistribSMul.{u3, u2} R R' (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (AddCommMonoid.toAddMonoid.{u2} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_6)))))) (Module.toDistribMulAction.{u3, u2} R R' (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_6))))) (Algebra.toModule.{u3, u2} R R' (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_6)) _inst_7))))) (DistribMulActionHomClass.toSMulHomClass.{max u2 u3, u3, u3, u2} (AlgHom.{u3, u3, u2} R (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) R' (CommRing.toCommSemiring.{u3} R _inst_1) (Polynomial.semiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_6)) (Polynomial.algebraOfAlgebra.{u3, u3} R R (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) _inst_7) R (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) R' (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (AddCommMonoid.toAddMonoid.{u3} (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (Semiring.toNonAssocSemiring.{u3} (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (Polynomial.semiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))))) (AddCommMonoid.toAddMonoid.{u2} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_6)))))) (Module.toDistribMulAction.{u3, u3} R (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (Semiring.toNonAssocSemiring.{u3} (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (Polynomial.semiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))))) (Algebra.toModule.{u3, u3} R (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (CommRing.toCommSemiring.{u3} R _inst_1) (Polynomial.semiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (Polynomial.algebraOfAlgebra.{u3, u3} R R (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))) (Module.toDistribMulAction.{u3, u2} R R' (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_6))))) (Algebra.toModule.{u3, u2} R R' (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_6)) _inst_7)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max u2 u3, u3, u3, u2} (AlgHom.{u3, u3, u2} R (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) R' (CommRing.toCommSemiring.{u3} R _inst_1) (Polynomial.semiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_6)) (Polynomial.algebraOfAlgebra.{u3, u3} R R (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) _inst_7) R (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) R' (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (Semiring.toNonAssocSemiring.{u3} (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (Polynomial.semiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_6)))) (Module.toDistribMulAction.{u3, u3} R (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (Semiring.toNonAssocSemiring.{u3} (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (Polynomial.semiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))))) (Algebra.toModule.{u3, u3} R (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (CommRing.toCommSemiring.{u3} R _inst_1) (Polynomial.semiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (Polynomial.algebraOfAlgebra.{u3, u3} R R (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))) (Module.toDistribMulAction.{u3, u2} R R' (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_6))))) (Algebra.toModule.{u3, u2} R R' (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_6)) _inst_7)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u3, u3, u2, max u2 u3} R (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) R' (CommRing.toCommSemiring.{u3} R _inst_1) (Polynomial.semiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_6)) (Polynomial.algebraOfAlgebra.{u3, u3} R R (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) _inst_7 (AlgHom.{u3, u3, u2} R (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) R' (CommRing.toCommSemiring.{u3} R _inst_1) (Polynomial.semiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_6)) (Polynomial.algebraOfAlgebra.{u3, u3} R R (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) _inst_7) (AlgHom.algHomClass.{u3, u3, u2} R (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) R' (CommRing.toCommSemiring.{u3} R _inst_1) (Polynomial.semiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_6)) (Polynomial.algebraOfAlgebra.{u3, u3} R R (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) _inst_7))))) (Polynomial.aeval.{u3, u2} R R' (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_6)) _inst_7 x) (IsLocalization.integerNormalization.{u3, u1} R _inst_1 M S _inst_2 _inst_3 _inst_5 p)) (OfNat.ofNat.{u2} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) => R') (IsLocalization.integerNormalization.{u3, u1} R _inst_1 M S _inst_2 _inst_3 _inst_5 p)) 0 (Zero.toOfNat0.{u2} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) => R') (IsLocalization.integerNormalization.{u3, u1} R _inst_1 M S _inst_2 _inst_3 _inst_5 p)) (CommMonoidWithZero.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) => R') (IsLocalization.integerNormalization.{u3, u1} R _inst_1 M S _inst_2 _inst_3 _inst_5 p)) (CommSemiring.toCommMonoidWithZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) => R') (IsLocalization.integerNormalization.{u3, u1} R _inst_1 M S _inst_2 _inst_3 _inst_5 p)) (CommRing.toCommSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) => R') (IsLocalization.integerNormalization.{u3, u1} R _inst_1 M S _inst_2 _inst_3 _inst_5 p)) _inst_6))))))
 Case conversion may be inaccurate. Consider using '#align is_localization.integer_normalization_aeval_eq_zero IsLocalization.integerNormalization_aeval_eq_zeroₓ'. -/
 theorem integerNormalization_aeval_eq_zero [Algebra R R'] [Algebra S R'] [IsScalarTower R S R']
     (p : S[X]) {x : R'} (hx : aeval x p = 0) : aeval x (integerNormalization M p) = 0 := by
@@ -282,7 +282,7 @@ theorem RingHom.isIntegralElem_localization_at_leadingCoeff {R S : Type _} [Comm
 lean 3 declaration is
   forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {M : Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))} {S : Type.{u2}} [_inst_2 : CommRing.{u2} S] [_inst_3 : Algebra.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))] {Rₘ : Type.{u3}} {Sₘ : Type.{u4}} [_inst_5 : CommRing.{u3} Rₘ] [_inst_6 : CommRing.{u4} Sₘ] [_inst_7 : Algebra.{u1, u3} R Rₘ (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u3} Rₘ (CommRing.toRing.{u3} Rₘ _inst_5))] [_inst_8 : IsLocalization.{u1, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M Rₘ (CommRing.toCommSemiring.{u3} Rₘ _inst_5) _inst_7] [_inst_9 : Algebra.{u2, u4} S Sₘ (CommRing.toCommSemiring.{u2} S _inst_2) (Ring.toSemiring.{u4} Sₘ (CommRing.toRing.{u4} Sₘ _inst_6))] [_inst_10 : IsLocalization.{u2, u4} S (CommRing.toCommSemiring.{u2} S _inst_2) (Algebra.algebraMapSubmonoid.{u1, u2} R (CommRing.toCommSemiring.{u1} R _inst_1) S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) _inst_3 M) Sₘ (CommRing.toCommSemiring.{u4} Sₘ _inst_6) _inst_9] {x : S} (p : Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))), (Eq.{succ u2} S (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (AlgHom.{u1, u1, u2} R (Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) S (CommRing.toCommSemiring.{u1} R _inst_1) (Polynomial.semiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) (Polynomial.algebraOfAlgebra.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) _inst_3) (fun (_x : AlgHom.{u1, u1, u2} R (Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) S (CommRing.toCommSemiring.{u1} R _inst_1) (Polynomial.semiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) (Polynomial.algebraOfAlgebra.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) _inst_3) => (Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) -> S) ([anonymous].{u1, u1, u2} R (Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) S (CommRing.toCommSemiring.{u1} R _inst_1) (Polynomial.semiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) (Polynomial.algebraOfAlgebra.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) _inst_3) (Polynomial.aeval.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) _inst_3 x) p) (OfNat.ofNat.{u2} S 0 (OfNat.mk.{u2} S 0 (Zero.zero.{u2} S (MulZeroClass.toHasZero.{u2} S (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))))))))) -> (Membership.Mem.{u1, u1} R (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (SetLike.hasMem.{u1, u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) R (Submonoid.setLike.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) (Polynomial.leadingCoeff.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) p) M) -> (RingHom.IsIntegralElem.{u3, u4} Rₘ Sₘ _inst_5 (CommRing.toRing.{u4} Sₘ _inst_6) (IsLocalization.map.{u1, u3, u2, u4} R (CommRing.toCommSemiring.{u1} R _inst_1) M Rₘ (CommRing.toCommSemiring.{u3} Rₘ _inst_5) _inst_7 S (CommRing.toCommSemiring.{u2} S _inst_2) _inst_8 (Algebra.algebraMapSubmonoid.{u1, u2} R (CommRing.toCommSemiring.{u1} R _inst_1) S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) _inst_3 M) Sₘ (CommRing.toCommSemiring.{u4} Sₘ _inst_6) _inst_9 _inst_10 (algebraMap.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) _inst_3) ((fun (this : LE.le.{u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (Preorder.toHasLe.{u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (PartialOrder.toPreorder.{u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (SetLike.partialOrder.{u1, u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) R (Submonoid.setLike.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))))))) M (Submonoid.comap.{u1, u2, max u1 u2} R S (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (MulZeroOneClass.toMulOneClass.{u2} S (NonAssocSemiring.toMulZeroOneClass.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))))) (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)))) (RingHomClass.toMonoidHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)))) R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))) (RingHom.ringHomClass.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))))) (algebraMap.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) _inst_3) (Algebra.algebraMapSubmonoid.{u1, u2} R (CommRing.toCommSemiring.{u1} R _inst_1) S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) _inst_3 M))) => this) (Submonoid.le_comap_map.{u1, u2, max u1 u2} R S (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (MulZeroOneClass.toMulOneClass.{u2} S (NonAssocSemiring.toMulZeroOneClass.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))))) M (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)))) (RingHomClass.toMonoidHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)))) R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))) (RingHom.ringHomClass.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))))) (algebraMap.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) _inst_3)))) (coeFn.{max (succ u2) (succ u4), max (succ u2) (succ u4)} (RingHom.{u2, u4} S Sₘ (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (Semiring.toNonAssocSemiring.{u4} Sₘ (Ring.toSemiring.{u4} Sₘ (CommRing.toRing.{u4} Sₘ _inst_6)))) (fun (_x : RingHom.{u2, u4} S Sₘ (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (Semiring.toNonAssocSemiring.{u4} Sₘ (Ring.toSemiring.{u4} Sₘ (CommRing.toRing.{u4} Sₘ _inst_6)))) => S -> Sₘ) (RingHom.hasCoeToFun.{u2, u4} S Sₘ (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (Semiring.toNonAssocSemiring.{u4} Sₘ (Ring.toSemiring.{u4} Sₘ (CommRing.toRing.{u4} Sₘ _inst_6)))) (algebraMap.{u2, u4} S Sₘ (CommRing.toCommSemiring.{u2} S _inst_2) (Ring.toSemiring.{u4} Sₘ (CommRing.toRing.{u4} Sₘ _inst_6)) _inst_9) x))
 but is expected to have type
-  forall {R : Type.{u4}} [_inst_1 : CommRing.{u4} R] {M : Submonoid.{u4} R (MulZeroOneClass.toMulOneClass.{u4} R (NonAssocSemiring.toMulZeroOneClass.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))} {S : Type.{u3}} [_inst_2 : CommRing.{u3} S] [_inst_3 : Algebra.{u4, u3} R S (CommRing.toCommSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))] {Rₘ : Type.{u2}} {Sₘ : Type.{u1}} [_inst_5 : CommRing.{u2} Rₘ] [_inst_6 : CommRing.{u1} Sₘ] [_inst_7 : Algebra.{u4, u2} R Rₘ (CommRing.toCommSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u2} Rₘ (CommRing.toCommSemiring.{u2} Rₘ _inst_5))] [_inst_8 : IsLocalization.{u4, u2} R (CommRing.toCommSemiring.{u4} R _inst_1) M Rₘ (CommRing.toCommSemiring.{u2} Rₘ _inst_5) _inst_7] [_inst_9 : Algebra.{u3, u1} S Sₘ (CommRing.toCommSemiring.{u3} S _inst_2) (CommSemiring.toSemiring.{u1} Sₘ (CommRing.toCommSemiring.{u1} Sₘ _inst_6))] [_inst_10 : IsLocalization.{u3, u1} S (CommRing.toCommSemiring.{u3} S _inst_2) (Algebra.algebraMapSubmonoid.{u4, u3} R (CommRing.toCommSemiring.{u4} R _inst_1) S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_3 M) Sₘ (CommRing.toCommSemiring.{u1} Sₘ _inst_6) _inst_9] {x : S} (p : Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))), (Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) => S) p) (FunLike.coe.{max (succ u3) (succ u4), succ u4, succ u3} (AlgHom.{u4, u4, u3} R (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) S (CommRing.toCommSemiring.{u4} R _inst_1) (Polynomial.semiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (Polynomial.algebraOfAlgebra.{u4, u4} R R (CommRing.toCommSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (Algebra.id.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) _inst_3) (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (fun (_x : Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) => S) _x) (SMulHomClass.toFunLike.{max u3 u4, u4, u4, u3} (AlgHom.{u4, u4, u3} R (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) S (CommRing.toCommSemiring.{u4} R _inst_1) (Polynomial.semiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (Polynomial.algebraOfAlgebra.{u4, u4} R R (CommRing.toCommSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (Algebra.id.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) _inst_3) R (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) S (SMulZeroClass.toSMul.{u4, u4} R (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (AddMonoid.toZero.{u4} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (AddCommMonoid.toAddMonoid.{u4} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Semiring.toNonAssocSemiring.{u4} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Polynomial.semiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))))) (DistribSMul.toSMulZeroClass.{u4, u4} R (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (AddMonoid.toAddZeroClass.{u4} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (AddCommMonoid.toAddMonoid.{u4} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Semiring.toNonAssocSemiring.{u4} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Polynomial.semiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))))) (DistribMulAction.toDistribSMul.{u4, u4} R (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (AddCommMonoid.toAddMonoid.{u4} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Semiring.toNonAssocSemiring.{u4} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Polynomial.semiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))))) (Module.toDistribMulAction.{u4, u4} R (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Semiring.toNonAssocSemiring.{u4} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Polynomial.semiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (Algebra.toModule.{u4, u4} R (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (CommRing.toCommSemiring.{u4} R _inst_1) (Polynomial.semiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Polynomial.algebraOfAlgebra.{u4, u4} R R (CommRing.toCommSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (Algebra.id.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))))) (SMulZeroClass.toSMul.{u4, u3} R S (AddMonoid.toZero.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))))) (DistribSMul.toSMulZeroClass.{u4, u3} R S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))))) (DistribMulAction.toDistribSMul.{u4, u3} R S (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))) (Module.toDistribMulAction.{u4, u3} R S (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u4, u3} R S (CommRing.toCommSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_3))))) (DistribMulActionHomClass.toSMulHomClass.{max u3 u4, u4, u4, u3} (AlgHom.{u4, u4, u3} R (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) S (CommRing.toCommSemiring.{u4} R _inst_1) (Polynomial.semiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (Polynomial.algebraOfAlgebra.{u4, u4} R R (CommRing.toCommSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (Algebra.id.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) _inst_3) R (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) S (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (AddCommMonoid.toAddMonoid.{u4} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Semiring.toNonAssocSemiring.{u4} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Polynomial.semiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))))) (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))) (Module.toDistribMulAction.{u4, u4} R (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Semiring.toNonAssocSemiring.{u4} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Polynomial.semiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (Algebra.toModule.{u4, u4} R (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (CommRing.toCommSemiring.{u4} R _inst_1) (Polynomial.semiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Polynomial.algebraOfAlgebra.{u4, u4} R R (CommRing.toCommSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (Algebra.id.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Module.toDistribMulAction.{u4, u3} R S (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u4, u3} R S (CommRing.toCommSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_3)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max u3 u4, u4, u4, u3} (AlgHom.{u4, u4, u3} R (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) S (CommRing.toCommSemiring.{u4} R _inst_1) (Polynomial.semiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (Polynomial.algebraOfAlgebra.{u4, u4} R R (CommRing.toCommSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (Algebra.id.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) _inst_3) R (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) S (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Semiring.toNonAssocSemiring.{u4} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Polynomial.semiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (Module.toDistribMulAction.{u4, u4} R (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Semiring.toNonAssocSemiring.{u4} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Polynomial.semiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (Algebra.toModule.{u4, u4} R (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (CommRing.toCommSemiring.{u4} R _inst_1) (Polynomial.semiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Polynomial.algebraOfAlgebra.{u4, u4} R R (CommRing.toCommSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (Algebra.id.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Module.toDistribMulAction.{u4, u3} R S (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u4, u3} R S (CommRing.toCommSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_3)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u4, u4, u3, max u3 u4} R (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) S (CommRing.toCommSemiring.{u4} R _inst_1) (Polynomial.semiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (Polynomial.algebraOfAlgebra.{u4, u4} R R (CommRing.toCommSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (Algebra.id.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) _inst_3 (AlgHom.{u4, u4, u3} R (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) S (CommRing.toCommSemiring.{u4} R _inst_1) (Polynomial.semiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (Polynomial.algebraOfAlgebra.{u4, u4} R R (CommRing.toCommSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (Algebra.id.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) _inst_3) (AlgHom.algHomClass.{u4, u4, u3} R (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) S (CommRing.toCommSemiring.{u4} R _inst_1) (Polynomial.semiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (Polynomial.algebraOfAlgebra.{u4, u4} R R (CommRing.toCommSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (Algebra.id.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) _inst_3))))) (Polynomial.aeval.{u4, u3} R S (CommRing.toCommSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_3 x) p) (OfNat.ofNat.{u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) => S) p) 0 (Zero.toOfNat0.{u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) => S) p) (CommMonoidWithZero.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) => S) p) (CommSemiring.toCommMonoidWithZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) => S) p) (CommRing.toCommSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) => S) p) _inst_2)))))) -> (Membership.mem.{u4, u4} R (Submonoid.{u4} R (MulZeroOneClass.toMulOneClass.{u4} R (NonAssocSemiring.toMulZeroOneClass.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (SetLike.instMembership.{u4, u4} (Submonoid.{u4} R (MulZeroOneClass.toMulOneClass.{u4} R (NonAssocSemiring.toMulZeroOneClass.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) R (Submonoid.instSetLikeSubmonoid.{u4} R (MulZeroOneClass.toMulOneClass.{u4} R (NonAssocSemiring.toMulZeroOneClass.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))))) (Polynomial.leadingCoeff.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) p) M) -> (RingHom.IsIntegralElem.{u2, u1} Rₘ Sₘ _inst_5 (CommRing.toRing.{u1} Sₘ _inst_6) (IsLocalization.map.{u4, u2, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M Rₘ (CommRing.toCommSemiring.{u2} Rₘ _inst_5) _inst_7 S (CommRing.toCommSemiring.{u3} S _inst_2) _inst_8 (Algebra.algebraMapSubmonoid.{u4, u3} R (CommRing.toCommSemiring.{u4} R _inst_1) S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_3 M) Sₘ (CommRing.toCommSemiring.{u1} Sₘ _inst_6) _inst_9 _inst_10 (algebraMap.{u4, u3} R S (CommRing.toCommSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_3) ([mdata let_fun:1 (fun (this : LE.le.{u4} (Submonoid.{u4} R (MulZeroOneClass.toMulOneClass.{u4} R (NonAssocSemiring.toMulZeroOneClass.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (Preorder.toLE.{u4} (Submonoid.{u4} R (MulZeroOneClass.toMulOneClass.{u4} R (NonAssocSemiring.toMulZeroOneClass.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (PartialOrder.toPreorder.{u4} (Submonoid.{u4} R (MulZeroOneClass.toMulOneClass.{u4} R (NonAssocSemiring.toMulZeroOneClass.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (OmegaCompletePartialOrder.toPartialOrder.{u4} (Submonoid.{u4} R (MulZeroOneClass.toMulOneClass.{u4} R (NonAssocSemiring.toMulZeroOneClass.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (CompleteLattice.instOmegaCompletePartialOrder.{u4} (Submonoid.{u4} R (MulZeroOneClass.toMulOneClass.{u4} R (NonAssocSemiring.toMulZeroOneClass.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (Submonoid.instCompleteLatticeSubmonoid.{u4} R (MulZeroOneClass.toMulOneClass.{u4} R (NonAssocSemiring.toMulZeroOneClass.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))))))) M (Submonoid.comap.{u4, u3, max u4 u3} R S (MulZeroOneClass.toMulOneClass.{u4} R (NonAssocSemiring.toMulZeroOneClass.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (MulZeroOneClass.toMulOneClass.{u3} S (NonAssocSemiring.toMulZeroOneClass.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHomClass.toMonoidHomClass.{max u4 u3, u4, u3} (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) R S (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (RingHom.instRingHomClassRingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (algebraMap.{u4, u3} R S (CommRing.toCommSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_3) (Algebra.algebraMapSubmonoid.{u4, u3} R (CommRing.toCommSemiring.{u4} R _inst_1) S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_3 M))) => this) (Submonoid.le_comap_map.{max u4 u3, u3, u4} R S (MulZeroOneClass.toMulOneClass.{u4} R (NonAssocSemiring.toMulZeroOneClass.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (MulZeroOneClass.toMulOneClass.{u3} S (NonAssocSemiring.toMulZeroOneClass.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) M (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHomClass.toMonoidHomClass.{max u4 u3, u4, u3} (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) R S (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (RingHom.instRingHomClassRingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (algebraMap.{u4, u3} R S (CommRing.toCommSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_3))])) (FunLike.coe.{max (succ u3) (succ u1), succ u3, succ u1} (RingHom.{u3, u1} S Sₘ (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (Semiring.toNonAssocSemiring.{u1} Sₘ (CommSemiring.toSemiring.{u1} Sₘ (CommRing.toCommSemiring.{u1} Sₘ _inst_6)))) S (fun (_x : S) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : S) => Sₘ) _x) (MulHomClass.toFunLike.{max u3 u1, u3, u1} (RingHom.{u3, u1} S Sₘ (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (Semiring.toNonAssocSemiring.{u1} Sₘ (CommSemiring.toSemiring.{u1} Sₘ (CommRing.toCommSemiring.{u1} Sₘ _inst_6)))) S Sₘ (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toMul.{u1} Sₘ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} Sₘ (Semiring.toNonAssocSemiring.{u1} Sₘ (CommSemiring.toSemiring.{u1} Sₘ (CommRing.toCommSemiring.{u1} Sₘ _inst_6))))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u1, u3, u1} (RingHom.{u3, u1} S Sₘ (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (Semiring.toNonAssocSemiring.{u1} Sₘ (CommSemiring.toSemiring.{u1} Sₘ (CommRing.toCommSemiring.{u1} Sₘ _inst_6)))) S Sₘ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} Sₘ (Semiring.toNonAssocSemiring.{u1} Sₘ (CommSemiring.toSemiring.{u1} Sₘ (CommRing.toCommSemiring.{u1} Sₘ _inst_6)))) (RingHomClass.toNonUnitalRingHomClass.{max u3 u1, u3, u1} (RingHom.{u3, u1} S Sₘ (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (Semiring.toNonAssocSemiring.{u1} Sₘ (CommSemiring.toSemiring.{u1} Sₘ (CommRing.toCommSemiring.{u1} Sₘ _inst_6)))) S Sₘ (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (Semiring.toNonAssocSemiring.{u1} Sₘ (CommSemiring.toSemiring.{u1} Sₘ (CommRing.toCommSemiring.{u1} Sₘ _inst_6))) (RingHom.instRingHomClassRingHom.{u3, u1} S Sₘ (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (Semiring.toNonAssocSemiring.{u1} Sₘ (CommSemiring.toSemiring.{u1} Sₘ (CommRing.toCommSemiring.{u1} Sₘ _inst_6))))))) (algebraMap.{u3, u1} S Sₘ (CommRing.toCommSemiring.{u3} S _inst_2) (CommSemiring.toSemiring.{u1} Sₘ (CommRing.toCommSemiring.{u1} Sₘ _inst_6)) _inst_9) x))
+  forall {R : Type.{u4}} [_inst_1 : CommRing.{u4} R] {M : Submonoid.{u4} R (MulZeroOneClass.toMulOneClass.{u4} R (NonAssocSemiring.toMulZeroOneClass.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))} {S : Type.{u3}} [_inst_2 : CommRing.{u3} S] [_inst_3 : Algebra.{u4, u3} R S (CommRing.toCommSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))] {Rₘ : Type.{u2}} {Sₘ : Type.{u1}} [_inst_5 : CommRing.{u2} Rₘ] [_inst_6 : CommRing.{u1} Sₘ] [_inst_7 : Algebra.{u4, u2} R Rₘ (CommRing.toCommSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u2} Rₘ (CommRing.toCommSemiring.{u2} Rₘ _inst_5))] [_inst_8 : IsLocalization.{u4, u2} R (CommRing.toCommSemiring.{u4} R _inst_1) M Rₘ (CommRing.toCommSemiring.{u2} Rₘ _inst_5) _inst_7] [_inst_9 : Algebra.{u3, u1} S Sₘ (CommRing.toCommSemiring.{u3} S _inst_2) (CommSemiring.toSemiring.{u1} Sₘ (CommRing.toCommSemiring.{u1} Sₘ _inst_6))] [_inst_10 : IsLocalization.{u3, u1} S (CommRing.toCommSemiring.{u3} S _inst_2) (Algebra.algebraMapSubmonoid.{u4, u3} R (CommRing.toCommSemiring.{u4} R _inst_1) S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_3 M) Sₘ (CommRing.toCommSemiring.{u1} Sₘ _inst_6) _inst_9] {x : S} (p : Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))), (Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) => S) p) (FunLike.coe.{max (succ u3) (succ u4), succ u4, succ u3} (AlgHom.{u4, u4, u3} R (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) S (CommRing.toCommSemiring.{u4} R _inst_1) (Polynomial.semiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (Polynomial.algebraOfAlgebra.{u4, u4} R R (CommRing.toCommSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (Algebra.id.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) _inst_3) (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (fun (_x : Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) => S) _x) (SMulHomClass.toFunLike.{max u3 u4, u4, u4, u3} (AlgHom.{u4, u4, u3} R (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) S (CommRing.toCommSemiring.{u4} R _inst_1) (Polynomial.semiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (Polynomial.algebraOfAlgebra.{u4, u4} R R (CommRing.toCommSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (Algebra.id.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) _inst_3) R (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) S (SMulZeroClass.toSMul.{u4, u4} R (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (AddMonoid.toZero.{u4} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (AddCommMonoid.toAddMonoid.{u4} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Semiring.toNonAssocSemiring.{u4} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Polynomial.semiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))))) (DistribSMul.toSMulZeroClass.{u4, u4} R (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (AddMonoid.toAddZeroClass.{u4} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (AddCommMonoid.toAddMonoid.{u4} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Semiring.toNonAssocSemiring.{u4} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Polynomial.semiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))))) (DistribMulAction.toDistribSMul.{u4, u4} R (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (AddCommMonoid.toAddMonoid.{u4} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Semiring.toNonAssocSemiring.{u4} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Polynomial.semiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))))) (Module.toDistribMulAction.{u4, u4} R (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Semiring.toNonAssocSemiring.{u4} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Polynomial.semiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (Algebra.toModule.{u4, u4} R (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (CommRing.toCommSemiring.{u4} R _inst_1) (Polynomial.semiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Polynomial.algebraOfAlgebra.{u4, u4} R R (CommRing.toCommSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (Algebra.id.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))))) (SMulZeroClass.toSMul.{u4, u3} R S (AddMonoid.toZero.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))))) (DistribSMul.toSMulZeroClass.{u4, u3} R S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))))) (DistribMulAction.toDistribSMul.{u4, u3} R S (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))) (Module.toDistribMulAction.{u4, u3} R S (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u4, u3} R S (CommRing.toCommSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_3))))) (DistribMulActionHomClass.toSMulHomClass.{max u3 u4, u4, u4, u3} (AlgHom.{u4, u4, u3} R (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) S (CommRing.toCommSemiring.{u4} R _inst_1) (Polynomial.semiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (Polynomial.algebraOfAlgebra.{u4, u4} R R (CommRing.toCommSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (Algebra.id.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) _inst_3) R (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) S (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (AddCommMonoid.toAddMonoid.{u4} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Semiring.toNonAssocSemiring.{u4} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Polynomial.semiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))))) (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))) (Module.toDistribMulAction.{u4, u4} R (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Semiring.toNonAssocSemiring.{u4} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Polynomial.semiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (Algebra.toModule.{u4, u4} R (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (CommRing.toCommSemiring.{u4} R _inst_1) (Polynomial.semiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Polynomial.algebraOfAlgebra.{u4, u4} R R (CommRing.toCommSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (Algebra.id.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Module.toDistribMulAction.{u4, u3} R S (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u4, u3} R S (CommRing.toCommSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_3)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max u3 u4, u4, u4, u3} (AlgHom.{u4, u4, u3} R (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) S (CommRing.toCommSemiring.{u4} R _inst_1) (Polynomial.semiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (Polynomial.algebraOfAlgebra.{u4, u4} R R (CommRing.toCommSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (Algebra.id.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) _inst_3) R (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) S (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Semiring.toNonAssocSemiring.{u4} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Polynomial.semiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (Module.toDistribMulAction.{u4, u4} R (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Semiring.toNonAssocSemiring.{u4} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Polynomial.semiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (Algebra.toModule.{u4, u4} R (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (CommRing.toCommSemiring.{u4} R _inst_1) (Polynomial.semiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Polynomial.algebraOfAlgebra.{u4, u4} R R (CommRing.toCommSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (Algebra.id.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Module.toDistribMulAction.{u4, u3} R S (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u4, u3} R S (CommRing.toCommSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_3)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u4, u4, u3, max u3 u4} R (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) S (CommRing.toCommSemiring.{u4} R _inst_1) (Polynomial.semiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (Polynomial.algebraOfAlgebra.{u4, u4} R R (CommRing.toCommSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (Algebra.id.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) _inst_3 (AlgHom.{u4, u4, u3} R (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) S (CommRing.toCommSemiring.{u4} R _inst_1) (Polynomial.semiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (Polynomial.algebraOfAlgebra.{u4, u4} R R (CommRing.toCommSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (Algebra.id.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) _inst_3) (AlgHom.algHomClass.{u4, u4, u3} R (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) S (CommRing.toCommSemiring.{u4} R _inst_1) (Polynomial.semiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (Polynomial.algebraOfAlgebra.{u4, u4} R R (CommRing.toCommSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (Algebra.id.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) _inst_3))))) (Polynomial.aeval.{u4, u3} R S (CommRing.toCommSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_3 x) p) (OfNat.ofNat.{u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) => S) p) 0 (Zero.toOfNat0.{u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) => S) p) (CommMonoidWithZero.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) => S) p) (CommSemiring.toCommMonoidWithZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) => S) p) (CommRing.toCommSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) => S) p) _inst_2)))))) -> (Membership.mem.{u4, u4} R (Submonoid.{u4} R (MulZeroOneClass.toMulOneClass.{u4} R (NonAssocSemiring.toMulZeroOneClass.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (SetLike.instMembership.{u4, u4} (Submonoid.{u4} R (MulZeroOneClass.toMulOneClass.{u4} R (NonAssocSemiring.toMulZeroOneClass.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) R (Submonoid.instSetLikeSubmonoid.{u4} R (MulZeroOneClass.toMulOneClass.{u4} R (NonAssocSemiring.toMulZeroOneClass.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))))) (Polynomial.leadingCoeff.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) p) M) -> (RingHom.IsIntegralElem.{u2, u1} Rₘ Sₘ _inst_5 (CommRing.toRing.{u1} Sₘ _inst_6) (IsLocalization.map.{u4, u2, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M Rₘ (CommRing.toCommSemiring.{u2} Rₘ _inst_5) _inst_7 S (CommRing.toCommSemiring.{u3} S _inst_2) _inst_8 (Algebra.algebraMapSubmonoid.{u4, u3} R (CommRing.toCommSemiring.{u4} R _inst_1) S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_3 M) Sₘ (CommRing.toCommSemiring.{u1} Sₘ _inst_6) _inst_9 _inst_10 (algebraMap.{u4, u3} R S (CommRing.toCommSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_3) ([mdata let_fun:1 (fun (this : LE.le.{u4} (Submonoid.{u4} R (MulZeroOneClass.toMulOneClass.{u4} R (NonAssocSemiring.toMulZeroOneClass.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (Preorder.toLE.{u4} (Submonoid.{u4} R (MulZeroOneClass.toMulOneClass.{u4} R (NonAssocSemiring.toMulZeroOneClass.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (PartialOrder.toPreorder.{u4} (Submonoid.{u4} R (MulZeroOneClass.toMulOneClass.{u4} R (NonAssocSemiring.toMulZeroOneClass.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (OmegaCompletePartialOrder.toPartialOrder.{u4} (Submonoid.{u4} R (MulZeroOneClass.toMulOneClass.{u4} R (NonAssocSemiring.toMulZeroOneClass.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (CompleteLattice.instOmegaCompletePartialOrder.{u4} (Submonoid.{u4} R (MulZeroOneClass.toMulOneClass.{u4} R (NonAssocSemiring.toMulZeroOneClass.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (Submonoid.instCompleteLatticeSubmonoid.{u4} R (MulZeroOneClass.toMulOneClass.{u4} R (NonAssocSemiring.toMulZeroOneClass.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))))))) M (Submonoid.comap.{u4, u3, max u4 u3} R S (MulZeroOneClass.toMulOneClass.{u4} R (NonAssocSemiring.toMulZeroOneClass.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (MulZeroOneClass.toMulOneClass.{u3} S (NonAssocSemiring.toMulZeroOneClass.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHomClass.toMonoidHomClass.{max u4 u3, u4, u3} (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) R S (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (RingHom.instRingHomClassRingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (algebraMap.{u4, u3} R S (CommRing.toCommSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_3) (Algebra.algebraMapSubmonoid.{u4, u3} R (CommRing.toCommSemiring.{u4} R _inst_1) S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_3 M))) => this) (Submonoid.le_comap_map.{max u4 u3, u3, u4} R S (MulZeroOneClass.toMulOneClass.{u4} R (NonAssocSemiring.toMulZeroOneClass.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (MulZeroOneClass.toMulOneClass.{u3} S (NonAssocSemiring.toMulZeroOneClass.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) M (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHomClass.toMonoidHomClass.{max u4 u3, u4, u3} (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) R S (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (RingHom.instRingHomClassRingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (algebraMap.{u4, u3} R S (CommRing.toCommSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_3))])) (FunLike.coe.{max (succ u3) (succ u1), succ u3, succ u1} (RingHom.{u3, u1} S Sₘ (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (Semiring.toNonAssocSemiring.{u1} Sₘ (CommSemiring.toSemiring.{u1} Sₘ (CommRing.toCommSemiring.{u1} Sₘ _inst_6)))) S (fun (_x : S) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : S) => Sₘ) _x) (MulHomClass.toFunLike.{max u3 u1, u3, u1} (RingHom.{u3, u1} S Sₘ (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (Semiring.toNonAssocSemiring.{u1} Sₘ (CommSemiring.toSemiring.{u1} Sₘ (CommRing.toCommSemiring.{u1} Sₘ _inst_6)))) S Sₘ (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toMul.{u1} Sₘ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} Sₘ (Semiring.toNonAssocSemiring.{u1} Sₘ (CommSemiring.toSemiring.{u1} Sₘ (CommRing.toCommSemiring.{u1} Sₘ _inst_6))))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u1, u3, u1} (RingHom.{u3, u1} S Sₘ (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (Semiring.toNonAssocSemiring.{u1} Sₘ (CommSemiring.toSemiring.{u1} Sₘ (CommRing.toCommSemiring.{u1} Sₘ _inst_6)))) S Sₘ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} Sₘ (Semiring.toNonAssocSemiring.{u1} Sₘ (CommSemiring.toSemiring.{u1} Sₘ (CommRing.toCommSemiring.{u1} Sₘ _inst_6)))) (RingHomClass.toNonUnitalRingHomClass.{max u3 u1, u3, u1} (RingHom.{u3, u1} S Sₘ (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (Semiring.toNonAssocSemiring.{u1} Sₘ (CommSemiring.toSemiring.{u1} Sₘ (CommRing.toCommSemiring.{u1} Sₘ _inst_6)))) S Sₘ (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (Semiring.toNonAssocSemiring.{u1} Sₘ (CommSemiring.toSemiring.{u1} Sₘ (CommRing.toCommSemiring.{u1} Sₘ _inst_6))) (RingHom.instRingHomClassRingHom.{u3, u1} S Sₘ (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (Semiring.toNonAssocSemiring.{u1} Sₘ (CommSemiring.toSemiring.{u1} Sₘ (CommRing.toCommSemiring.{u1} Sₘ _inst_6))))))) (algebraMap.{u3, u1} S Sₘ (CommRing.toCommSemiring.{u3} S _inst_2) (CommSemiring.toSemiring.{u1} Sₘ (CommRing.toCommSemiring.{u1} Sₘ _inst_6)) _inst_9) x))
 Case conversion may be inaccurate. Consider using '#align is_integral_localization_at_leading_coeff is_integral_localization_at_leadingCoeffₓ'. -/
 /-- Given a particular witness to an element being algebraic over an algebra `R → S`,
 We can localize to a submonoid containing the leading coefficient to make it integral.
Diff
@@ -47,6 +47,7 @@ variable (M) {S} [IsLocalization M S]
 
 open Classical
 
+#print IsLocalization.coeffIntegerNormalization /-
 /-- `coeff_integer_normalization p` gives the coefficients of the polynomial
 `integer_normalization p` -/
 noncomputable def coeffIntegerNormalization (p : S[X]) (i : ℕ) : R :=
@@ -56,13 +57,26 @@ noncomputable def coeffIntegerNormalization (p : S[X]) (i : ℕ) : R :=
         (p.coeff i) (Finset.mem_image.mpr ⟨i, hi, rfl⟩))
   else 0
 #align is_localization.coeff_integer_normalization IsLocalization.coeffIntegerNormalization
+-/
 
+/- warning: is_localization.coeff_integer_normalization_of_not_mem_support -> IsLocalization.coeffIntegerNormalization_of_not_mem_support is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] (M : Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) {S : Type.{u2}} [_inst_2 : CommRing.{u2} S] [_inst_3 : Algebra.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))] [_inst_5 : IsLocalization.{u1, u2} R (CommRing.toCommSemiring.{u1} R _inst_1) M S (CommRing.toCommSemiring.{u2} S _inst_2) _inst_3] (p : Polynomial.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))) (i : Nat), (Eq.{succ u2} S (Polynomial.coeff.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) p i) (OfNat.ofNat.{u2} S 0 (OfNat.mk.{u2} S 0 (Zero.zero.{u2} S (MulZeroClass.toHasZero.{u2} S (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))))))))) -> (Eq.{succ u1} R (IsLocalization.coeffIntegerNormalization.{u1, u2} R _inst_1 M S _inst_2 _inst_3 _inst_5 p i) (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))))))))
+but is expected to have type
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] (M : Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) {S : Type.{u2}} [_inst_2 : CommRing.{u2} S] [_inst_3 : Algebra.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))] [_inst_5 : IsLocalization.{u1, u2} R (CommRing.toCommSemiring.{u1} R _inst_1) M S (CommRing.toCommSemiring.{u2} S _inst_2) _inst_3] (p : Polynomial.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (i : Nat), (Eq.{succ u2} S (Polynomial.coeff.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) p i) (OfNat.ofNat.{u2} S 0 (Zero.toOfNat0.{u2} S (CommMonoidWithZero.toZero.{u2} S (CommSemiring.toCommMonoidWithZero.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))))) -> (Eq.{succ u1} R (IsLocalization.coeffIntegerNormalization.{u1, u2} R _inst_1 M S _inst_2 _inst_3 _inst_5 p i) (OfNat.ofNat.{u1} R 0 (Zero.toOfNat0.{u1} R (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))
+Case conversion may be inaccurate. Consider using '#align is_localization.coeff_integer_normalization_of_not_mem_support IsLocalization.coeffIntegerNormalization_of_not_mem_supportₓ'. -/
 theorem coeffIntegerNormalization_of_not_mem_support (p : S[X]) (i : ℕ) (h : coeff p i = 0) :
     coeffIntegerNormalization M p i = 0 := by
   simp only [coeff_integer_normalization, h, mem_support_iff, eq_self_iff_true, not_true, Ne.def,
     dif_neg, not_false_iff]
 #align is_localization.coeff_integer_normalization_of_not_mem_support IsLocalization.coeffIntegerNormalization_of_not_mem_support
 
+/- warning: is_localization.coeff_integer_normalization_mem_support -> IsLocalization.coeffIntegerNormalization_mem_support is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] (M : Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) {S : Type.{u2}} [_inst_2 : CommRing.{u2} S] [_inst_3 : Algebra.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))] [_inst_5 : IsLocalization.{u1, u2} R (CommRing.toCommSemiring.{u1} R _inst_1) M S (CommRing.toCommSemiring.{u2} S _inst_2) _inst_3] (p : Polynomial.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))) (i : Nat), (Ne.{succ u1} R (IsLocalization.coeffIntegerNormalization.{u1, u2} R _inst_1 M S _inst_2 _inst_3 _inst_5 p i) (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))))))) -> (Membership.Mem.{0, 0} Nat (Finset.{0} Nat) (Finset.hasMem.{0} Nat) i (Polynomial.support.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) p))
+but is expected to have type
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] (M : Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) {S : Type.{u2}} [_inst_2 : CommRing.{u2} S] [_inst_3 : Algebra.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))] [_inst_5 : IsLocalization.{u1, u2} R (CommRing.toCommSemiring.{u1} R _inst_1) M S (CommRing.toCommSemiring.{u2} S _inst_2) _inst_3] (p : Polynomial.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (i : Nat), (Ne.{succ u1} R (IsLocalization.coeffIntegerNormalization.{u1, u2} R _inst_1 M S _inst_2 _inst_3 _inst_5 p i) (OfNat.ofNat.{u1} R 0 (Zero.toOfNat0.{u1} R (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) -> (Membership.mem.{0, 0} Nat (Finset.{0} Nat) (Finset.instMembershipFinset.{0} Nat) i (Polynomial.support.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) p))
+Case conversion may be inaccurate. Consider using '#align is_localization.coeff_integer_normalization_mem_support IsLocalization.coeffIntegerNormalization_mem_supportₓ'. -/
 theorem coeffIntegerNormalization_mem_support (p : S[X]) (i : ℕ)
     (h : coeffIntegerNormalization M p i ≠ 0) : i ∈ p.support :=
   by
@@ -70,19 +84,29 @@ theorem coeffIntegerNormalization_mem_support (p : S[X]) (i : ℕ)
   rw [Ne.def, Classical.not_not, coeff_integer_normalization, dif_neg h]
 #align is_localization.coeff_integer_normalization_mem_support IsLocalization.coeffIntegerNormalization_mem_support
 
+#print IsLocalization.integerNormalization /-
 /-- `integer_normalization g` normalizes `g` to have integer coefficients
 by clearing the denominators -/
 noncomputable def integerNormalization (p : S[X]) : R[X] :=
   ∑ i in p.support, monomial i (coeffIntegerNormalization M p i)
 #align is_localization.integer_normalization IsLocalization.integerNormalization
+-/
 
+#print IsLocalization.integerNormalization_coeff /-
 @[simp]
 theorem integerNormalization_coeff (p : S[X]) (i : ℕ) :
     (integerNormalization M p).coeff i = coeffIntegerNormalization M p i := by
   simp (config := { contextual := true }) [integer_normalization, coeff_monomial,
     coeff_integer_normalization_of_not_mem_support]
 #align is_localization.integer_normalization_coeff IsLocalization.integerNormalization_coeff
+-/
 
+/- warning: is_localization.integer_normalization_spec -> IsLocalization.integerNormalization_spec is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] (M : Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) {S : Type.{u2}} [_inst_2 : CommRing.{u2} S] [_inst_3 : Algebra.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))] [_inst_5 : IsLocalization.{u1, u2} R (CommRing.toCommSemiring.{u1} R _inst_1) M S (CommRing.toCommSemiring.{u2} S _inst_2) _inst_3] (p : Polynomial.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))), Exists.{succ u1} (coeSort.{succ u1, succ (succ u1)} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) R (Submonoid.setLike.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) M) (fun (b : coeSort.{succ u1, succ (succ u1)} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) R (Submonoid.setLike.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) M) => forall (i : Nat), Eq.{succ u2} S (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)))) (fun (_x : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)))) => R -> S) (RingHom.hasCoeToFun.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)))) (algebraMap.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) _inst_3) (Polynomial.coeff.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (IsLocalization.integerNormalization.{u1, u2} R _inst_1 M S _inst_2 _inst_3 _inst_5 p) i)) (SMul.smul.{u1, u2} R S (SMulZeroClass.toHasSmul.{u1, u2} R S (AddZeroClass.toHasZero.{u2} S (AddMonoid.toAddZeroClass.{u2} S (AddCommMonoid.toAddMonoid.{u2} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)))))))) (SMulWithZero.toSmulZeroClass.{u1, u2} R S (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u2} S (AddMonoid.toAddZeroClass.{u2} S (AddCommMonoid.toAddMonoid.{u2} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)))))))) (MulActionWithZero.toSMulWithZero.{u1, u2} R S (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u2} S (AddMonoid.toAddZeroClass.{u2} S (AddCommMonoid.toAddMonoid.{u2} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)))))))) (Module.toMulActionWithZero.{u1, u2} R S (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))))) (Algebra.toModule.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) _inst_3))))) ((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 (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) R (Submonoid.setLike.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) M) R (HasLiftT.mk.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) R (Submonoid.setLike.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) M) R (CoeTCₓ.coe.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) R (Submonoid.setLike.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) M) R (coeBase.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) R (Submonoid.setLike.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) M) R (coeSubtype.{succ u1} R (fun (x : R) => Membership.Mem.{u1, u1} R (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (SetLike.hasMem.{u1, u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) R (Submonoid.setLike.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) x M))))) b) (Polynomial.coeff.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) p i)))
+but is expected to have type
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] (M : Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) {S : Type.{u2}} [_inst_2 : CommRing.{u2} S] [_inst_3 : Algebra.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))] [_inst_5 : IsLocalization.{u1, u2} R (CommRing.toCommSemiring.{u1} R _inst_1) M S (CommRing.toCommSemiring.{u2} S _inst_2) _inst_3] (p : Polynomial.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))), Exists.{succ u1} (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 (CommRing.toCommSemiring.{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 (CommRing.toCommSemiring.{u1} R _inst_1)))))) R (Submonoid.instSetLikeSubmonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))) x M)) (fun (b : 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 (CommRing.toCommSemiring.{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 (CommRing.toCommSemiring.{u1} R _inst_1)))))) R (Submonoid.instSetLikeSubmonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))) x M)) => forall (i : Nat), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) (Polynomial.coeff.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (IsLocalization.integerNormalization.{u1, u2} R _inst_1 M S _inst_2 _inst_3 _inst_5 p) i)) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) R S (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (NonUnitalNonAssocSemiring.toMul.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (RingHom.instRingHomClassRingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))))) (algebraMap.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) _inst_3) (Polynomial.coeff.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (IsLocalization.integerNormalization.{u1, u2} R _inst_1 M S _inst_2 _inst_3 _inst_5 p) i)) (HSMul.hSMul.{u1, u2, u2} R S S (instHSMul.{u1, u2} R S (Algebra.toSMul.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) _inst_3)) (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 (CommRing.toCommSemiring.{u1} R _inst_1)))))) R (Submonoid.instSetLikeSubmonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) M)) b) (Polynomial.coeff.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) p i)))
+Case conversion may be inaccurate. Consider using '#align is_localization.integer_normalization_spec IsLocalization.integerNormalization_specₓ'. -/
 theorem integerNormalization_spec (p : S[X]) :
     ∃ b : M, ∀ i, algebraMap R S ((integerNormalization M p).coeff i) = (b : R) • p.coeff i :=
   by
@@ -100,6 +124,12 @@ theorem integerNormalization_spec (p : S[X]) :
     · exact not_mem_support_iff.mp hi
 #align is_localization.integer_normalization_spec IsLocalization.integerNormalization_spec
 
+/- warning: is_localization.integer_normalization_map_to_map -> IsLocalization.integerNormalization_map_to_map is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] (M : Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) {S : Type.{u2}} [_inst_2 : CommRing.{u2} S] [_inst_3 : Algebra.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))] [_inst_5 : IsLocalization.{u1, u2} R (CommRing.toCommSemiring.{u1} R _inst_1) M S (CommRing.toCommSemiring.{u2} S _inst_2) _inst_3] (p : Polynomial.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))), Exists.{succ u1} (coeSort.{succ u1, succ (succ u1)} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) R (Submonoid.setLike.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) M) (fun (b : coeSort.{succ u1, succ (succ u1)} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) R (Submonoid.setLike.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) M) => Eq.{succ u2} (Polynomial.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))) (Polynomial.map.{u1, u2} R S (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) (algebraMap.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) _inst_3) (IsLocalization.integerNormalization.{u1, u2} R _inst_1 M S _inst_2 _inst_3 _inst_5 p)) (SMul.smul.{u1, u2} R (Polynomial.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))) (SMulZeroClass.toHasSmul.{u1, u2} R (Polynomial.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))) (Polynomial.zero.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))) (Polynomial.smulZeroClass.{u2, u1} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) R (SMulWithZero.toSmulZeroClass.{u1, u2} R S (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (MulZeroClass.toHasZero.{u2} S (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)))))) (MulActionWithZero.toSMulWithZero.{u1, u2} R S (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (MulZeroClass.toHasZero.{u2} S (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)))))) (Module.toMulActionWithZero.{u1, u2} R S (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} S (NonUnitalNonAssocRing.toAddCommGroup.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2))))) (Algebra.toModule.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) _inst_3)))))) ((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 (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) R (Submonoid.setLike.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) M) R (HasLiftT.mk.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) R (Submonoid.setLike.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) M) R (CoeTCₓ.coe.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) R (Submonoid.setLike.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) M) R (coeBase.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) R (Submonoid.setLike.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) M) R (coeSubtype.{succ u1} R (fun (x : R) => Membership.Mem.{u1, u1} R (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (SetLike.hasMem.{u1, u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) R (Submonoid.setLike.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) x M))))) b) p))
+but is expected to have type
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] (M : Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) {S : Type.{u2}} [_inst_2 : CommRing.{u2} S] [_inst_3 : Algebra.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))] [_inst_5 : IsLocalization.{u1, u2} R (CommRing.toCommSemiring.{u1} R _inst_1) M S (CommRing.toCommSemiring.{u2} S _inst_2) _inst_3] (p : Polynomial.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))), Exists.{succ u1} (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 (CommRing.toCommSemiring.{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 (CommRing.toCommSemiring.{u1} R _inst_1)))))) R (Submonoid.instSetLikeSubmonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))) x M)) (fun (b : 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 (CommRing.toCommSemiring.{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 (CommRing.toCommSemiring.{u1} R _inst_1)))))) R (Submonoid.instSetLikeSubmonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))) x M)) => Eq.{succ u2} (Polynomial.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (Polynomial.map.{u1, u2} R S (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (algebraMap.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) _inst_3) (IsLocalization.integerNormalization.{u1, u2} R _inst_1 M S _inst_2 _inst_3 _inst_5 p)) (HSMul.hSMul.{u1, u2, u2} R (Polynomial.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (Polynomial.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (instHSMul.{u1, u2} R (Polynomial.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (Algebra.toSMul.{u1, u2} R (Polynomial.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (CommRing.toCommSemiring.{u1} R _inst_1) (Polynomial.semiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (Polynomial.algebraOfAlgebra.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) _inst_3))) (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 (CommRing.toCommSemiring.{u1} R _inst_1)))))) R (Submonoid.instSetLikeSubmonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) M)) b) p))
+Case conversion may be inaccurate. Consider using '#align is_localization.integer_normalization_map_to_map IsLocalization.integerNormalization_map_to_mapₓ'. -/
 theorem integerNormalization_map_to_map (p : S[X]) :
     ∃ b : M, (integerNormalization M p).map (algebraMap R S) = (b : R) • p :=
   let ⟨b, hb⟩ := integerNormalization_spec M p
@@ -111,6 +141,12 @@ theorem integerNormalization_map_to_map (p : S[X]) :
 
 variable {R' : Type _} [CommRing R']
 
+/- warning: is_localization.integer_normalization_eval₂_eq_zero -> IsLocalization.integerNormalization_eval₂_eq_zero is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] (M : Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) {S : Type.{u2}} [_inst_2 : CommRing.{u2} S] [_inst_3 : Algebra.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))] [_inst_5 : IsLocalization.{u1, u2} R (CommRing.toCommSemiring.{u1} R _inst_1) M S (CommRing.toCommSemiring.{u2} S _inst_2) _inst_3] {R' : Type.{u3}} [_inst_6 : CommRing.{u3} R'] (g : RingHom.{u2, u3} S R' (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2))) (NonAssocRing.toNonAssocSemiring.{u3} R' (Ring.toNonAssocRing.{u3} R' (CommRing.toRing.{u3} R' _inst_6)))) (p : Polynomial.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))) {x : R'}, (Eq.{succ u3} R' (Polynomial.eval₂.{u2, u3} S R' (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_6)) g x p) (OfNat.ofNat.{u3} R' 0 (OfNat.mk.{u3} R' 0 (Zero.zero.{u3} R' (MulZeroClass.toHasZero.{u3} R' (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R' (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R' (NonAssocRing.toNonUnitalNonAssocRing.{u3} R' (Ring.toNonAssocRing.{u3} R' (CommRing.toRing.{u3} R' _inst_6)))))))))) -> (Eq.{succ u3} R' (Polynomial.eval₂.{u1, u3} R R' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_6)) (RingHom.comp.{u1, u2, u3} R S R' (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2))) (NonAssocRing.toNonAssocSemiring.{u3} R' (Ring.toNonAssocRing.{u3} R' (CommRing.toRing.{u3} R' _inst_6))) g (algebraMap.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) _inst_3)) x (IsLocalization.integerNormalization.{u1, u2} R _inst_1 M S _inst_2 _inst_3 _inst_5 p)) (OfNat.ofNat.{u3} R' 0 (OfNat.mk.{u3} R' 0 (Zero.zero.{u3} R' (MulZeroClass.toHasZero.{u3} R' (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R' (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R' (NonAssocRing.toNonUnitalNonAssocRing.{u3} R' (Ring.toNonAssocRing.{u3} R' (CommRing.toRing.{u3} R' _inst_6))))))))))
+but is expected to have type
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] (M : Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) {S : Type.{u3}} [_inst_2 : CommRing.{u3} S] [_inst_3 : Algebra.{u1, u3} R S (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))] [_inst_5 : IsLocalization.{u1, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M S (CommRing.toCommSemiring.{u3} S _inst_2) _inst_3] {R' : Type.{u2}} [_inst_6 : CommRing.{u2} R'] (g : RingHom.{u3, u2} S R' (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_6)))) (p : Polynomial.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) {x : R'}, (Eq.{succ u2} R' (Polynomial.eval₂.{u3, u2} S R' (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_6)) g x p) (OfNat.ofNat.{u2} R' 0 (Zero.toOfNat0.{u2} R' (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_6)))))) -> (Eq.{succ u2} R' (Polynomial.eval₂.{u1, u2} R R' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_6)) (RingHom.comp.{u1, u3, u2} R S R' (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_6))) g (algebraMap.{u1, u3} R S (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_3)) x (IsLocalization.integerNormalization.{u1, u3} R _inst_1 M S _inst_2 _inst_3 _inst_5 p)) (OfNat.ofNat.{u2} R' 0 (Zero.toOfNat0.{u2} R' (CommMonoidWithZero.toZero.{u2} R' (CommSemiring.toCommMonoidWithZero.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_6))))))
+Case conversion may be inaccurate. Consider using '#align is_localization.integer_normalization_eval₂_eq_zero IsLocalization.integerNormalization_eval₂_eq_zeroₓ'. -/
 theorem integerNormalization_eval₂_eq_zero (g : S →+* R') (p : S[X]) {x : R'}
     (hx : eval₂ g x p = 0) : eval₂ (g.comp (algebraMap R S)) x (integerNormalization M p) = 0 :=
   let ⟨b, hb⟩ := integerNormalization_map_to_map M p
@@ -118,6 +154,12 @@ theorem integerNormalization_eval₂_eq_zero (g : S →+* R') (p : S[X]) {x : R'
     (by rw [hb, ← IsScalarTower.algebraMap_smul S (b : R) p, eval₂_smul, hx, MulZeroClass.mul_zero])
 #align is_localization.integer_normalization_eval₂_eq_zero IsLocalization.integerNormalization_eval₂_eq_zero
 
+/- warning: is_localization.integer_normalization_aeval_eq_zero -> IsLocalization.integerNormalization_aeval_eq_zero is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] (M : Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) {S : Type.{u2}} [_inst_2 : CommRing.{u2} S] [_inst_3 : Algebra.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))] [_inst_5 : IsLocalization.{u1, u2} R (CommRing.toCommSemiring.{u1} R _inst_1) M S (CommRing.toCommSemiring.{u2} S _inst_2) _inst_3] {R' : Type.{u3}} [_inst_6 : CommRing.{u3} R'] [_inst_7 : Algebra.{u1, u3} R R' (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_6))] [_inst_8 : Algebra.{u2, u3} S R' (CommRing.toCommSemiring.{u2} S _inst_2) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_6))] [_inst_9 : IsScalarTower.{u1, u2, u3} R S R' (SMulZeroClass.toHasSmul.{u1, u2} R S (AddZeroClass.toHasZero.{u2} S (AddMonoid.toAddZeroClass.{u2} S (AddCommMonoid.toAddMonoid.{u2} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)))))))) (SMulWithZero.toSmulZeroClass.{u1, u2} R S (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u2} S (AddMonoid.toAddZeroClass.{u2} S (AddCommMonoid.toAddMonoid.{u2} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)))))))) (MulActionWithZero.toSMulWithZero.{u1, u2} R S (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u2} S (AddMonoid.toAddZeroClass.{u2} S (AddCommMonoid.toAddMonoid.{u2} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)))))))) (Module.toMulActionWithZero.{u1, u2} R S (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))))) (Algebra.toModule.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) _inst_3))))) (SMulZeroClass.toHasSmul.{u2, u3} S R' (AddZeroClass.toHasZero.{u3} R' (AddMonoid.toAddZeroClass.{u3} R' (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_6)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} S R' (MulZeroClass.toHasZero.{u2} S (MulZeroOneClass.toMulZeroClass.{u2} S (MonoidWithZero.toMulZeroOneClass.{u2} S (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))))) (AddZeroClass.toHasZero.{u3} R' (AddMonoid.toAddZeroClass.{u3} R' (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_6)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} S R' (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (AddZeroClass.toHasZero.{u3} R' (AddMonoid.toAddZeroClass.{u3} R' (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_6)))))))) (Module.toMulActionWithZero.{u2, u3} S R' (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_6))))) (Algebra.toModule.{u2, u3} S R' (CommRing.toCommSemiring.{u2} S _inst_2) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_6)) _inst_8))))) (SMulZeroClass.toHasSmul.{u1, u3} R R' (AddZeroClass.toHasZero.{u3} R' (AddMonoid.toAddZeroClass.{u3} R' (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_6)))))))) (SMulWithZero.toSmulZeroClass.{u1, u3} R R' (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u3} R' (AddMonoid.toAddZeroClass.{u3} R' (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_6)))))))) (MulActionWithZero.toSMulWithZero.{u1, u3} R R' (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u3} R' (AddMonoid.toAddZeroClass.{u3} R' (AddCommMonoid.toAddMonoid.{u3} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_6)))))))) (Module.toMulActionWithZero.{u1, u3} R R' (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R' (Semiring.toNonAssocSemiring.{u3} R' (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_6))))) (Algebra.toModule.{u1, u3} R R' (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_6)) _inst_7)))))] (p : Polynomial.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))) {x : R'}, (Eq.{succ u3} R' (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (AlgHom.{u2, u2, u3} S (Polynomial.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) R' (CommRing.toCommSemiring.{u2} S _inst_2) (Polynomial.semiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_6)) (Polynomial.algebraOfAlgebra.{u2, u2} S S (CommRing.toCommSemiring.{u2} S _inst_2) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (Algebra.id.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) _inst_8) (fun (_x : AlgHom.{u2, u2, u3} S (Polynomial.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) R' (CommRing.toCommSemiring.{u2} S _inst_2) (Polynomial.semiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_6)) (Polynomial.algebraOfAlgebra.{u2, u2} S S (CommRing.toCommSemiring.{u2} S _inst_2) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (Algebra.id.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) _inst_8) => (Polynomial.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) -> R') ([anonymous].{u2, u2, u3} S (Polynomial.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) R' (CommRing.toCommSemiring.{u2} S _inst_2) (Polynomial.semiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_6)) (Polynomial.algebraOfAlgebra.{u2, u2} S S (CommRing.toCommSemiring.{u2} S _inst_2) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (Algebra.id.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) _inst_8) (Polynomial.aeval.{u2, u3} S R' (CommRing.toCommSemiring.{u2} S _inst_2) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_6)) _inst_8 x) p) (OfNat.ofNat.{u3} R' 0 (OfNat.mk.{u3} R' 0 (Zero.zero.{u3} R' (MulZeroClass.toHasZero.{u3} R' (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R' (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R' (NonAssocRing.toNonUnitalNonAssocRing.{u3} R' (Ring.toNonAssocRing.{u3} R' (CommRing.toRing.{u3} R' _inst_6)))))))))) -> (Eq.{succ u3} R' (coeFn.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (AlgHom.{u1, u1, u3} R (Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) R' (CommRing.toCommSemiring.{u1} R _inst_1) (Polynomial.semiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_6)) (Polynomial.algebraOfAlgebra.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) _inst_7) (fun (_x : AlgHom.{u1, u1, u3} R (Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) R' (CommRing.toCommSemiring.{u1} R _inst_1) (Polynomial.semiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_6)) (Polynomial.algebraOfAlgebra.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) _inst_7) => (Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) -> R') ([anonymous].{u1, u1, u3} R (Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) R' (CommRing.toCommSemiring.{u1} R _inst_1) (Polynomial.semiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_6)) (Polynomial.algebraOfAlgebra.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) _inst_7) (Polynomial.aeval.{u1, u3} R R' (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u3} R' (CommRing.toRing.{u3} R' _inst_6)) _inst_7 x) (IsLocalization.integerNormalization.{u1, u2} R _inst_1 M S _inst_2 _inst_3 _inst_5 p)) (OfNat.ofNat.{u3} R' 0 (OfNat.mk.{u3} R' 0 (Zero.zero.{u3} R' (MulZeroClass.toHasZero.{u3} R' (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R' (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R' (NonAssocRing.toNonUnitalNonAssocRing.{u3} R' (Ring.toNonAssocRing.{u3} R' (CommRing.toRing.{u3} R' _inst_6))))))))))
+but is expected to have type
+  forall {R : Type.{u3}} [_inst_1 : CommRing.{u3} R] (M : Submonoid.{u3} R (MulZeroOneClass.toMulOneClass.{u3} R (NonAssocSemiring.toMulZeroOneClass.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))))) {S : Type.{u1}} [_inst_2 : CommRing.{u1} S] [_inst_3 : Algebra.{u3, u1} R S (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))] [_inst_5 : IsLocalization.{u3, u1} R (CommRing.toCommSemiring.{u3} R _inst_1) M S (CommRing.toCommSemiring.{u1} S _inst_2) _inst_3] {R' : Type.{u2}} [_inst_6 : CommRing.{u2} R'] [_inst_7 : Algebra.{u3, u2} R R' (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_6))] [_inst_8 : Algebra.{u1, u2} S R' (CommRing.toCommSemiring.{u1} S _inst_2) (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_6))] [_inst_9 : IsScalarTower.{u3, u1, u2} R S R' (Algebra.toSMul.{u3, u1} R S (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) _inst_3) (Algebra.toSMul.{u1, u2} S R' (CommRing.toCommSemiring.{u1} S _inst_2) (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_6)) _inst_8) (Algebra.toSMul.{u3, u2} R R' (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_6)) _inst_7)] (p : Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) {x : R'}, (Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) => R') p) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (AlgHom.{u1, u1, u2} S (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) R' (CommRing.toCommSemiring.{u1} S _inst_2) (Polynomial.semiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_6)) (Polynomial.algebraOfAlgebra.{u1, u1} S S (CommRing.toCommSemiring.{u1} S _inst_2) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (Algebra.id.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) _inst_8) (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (fun (_x : Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) => R') _x) (SMulHomClass.toFunLike.{max u2 u1, u1, u1, u2} (AlgHom.{u1, u1, u2} S (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) R' (CommRing.toCommSemiring.{u1} S _inst_2) (Polynomial.semiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_6)) (Polynomial.algebraOfAlgebra.{u1, u1} S S (CommRing.toCommSemiring.{u1} S _inst_2) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (Algebra.id.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) _inst_8) S (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) R' (SMulZeroClass.toSMul.{u1, u1} S (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (AddMonoid.toZero.{u1} (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (AddCommMonoid.toAddMonoid.{u1} (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (Polynomial.semiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)))))))) (DistribSMul.toSMulZeroClass.{u1, u1} S (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (AddMonoid.toAddZeroClass.{u1} (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (AddCommMonoid.toAddMonoid.{u1} (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (Polynomial.semiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)))))))) (DistribMulAction.toDistribSMul.{u1, u1} S (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)))) (AddCommMonoid.toAddMonoid.{u1} (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (Polynomial.semiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))))))) (Module.toDistribMulAction.{u1, u1} S (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (Polynomial.semiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)))))) (Algebra.toModule.{u1, u1} S (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (CommRing.toCommSemiring.{u1} S _inst_2) (Polynomial.semiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (Polynomial.algebraOfAlgebra.{u1, u1} S S (CommRing.toCommSemiring.{u1} S _inst_2) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (Algebra.id.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)))))))) (SMulZeroClass.toSMul.{u1, u2} S R' (AddMonoid.toZero.{u2} R' (AddCommMonoid.toAddMonoid.{u2} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_6))))))) (DistribSMul.toSMulZeroClass.{u1, u2} S R' (AddMonoid.toAddZeroClass.{u2} R' (AddCommMonoid.toAddMonoid.{u2} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_6))))))) (DistribMulAction.toDistribSMul.{u1, u2} S R' (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)))) (AddCommMonoid.toAddMonoid.{u2} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_6)))))) (Module.toDistribMulAction.{u1, u2} S R' (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_6))))) (Algebra.toModule.{u1, u2} S R' (CommRing.toCommSemiring.{u1} S _inst_2) (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_6)) _inst_8))))) (DistribMulActionHomClass.toSMulHomClass.{max u2 u1, u1, u1, u2} (AlgHom.{u1, u1, u2} S (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) R' (CommRing.toCommSemiring.{u1} S _inst_2) (Polynomial.semiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_6)) (Polynomial.algebraOfAlgebra.{u1, u1} S S (CommRing.toCommSemiring.{u1} S _inst_2) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (Algebra.id.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) _inst_8) S (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) R' (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)))) (AddCommMonoid.toAddMonoid.{u1} (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (Polynomial.semiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))))))) (AddCommMonoid.toAddMonoid.{u2} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_6)))))) (Module.toDistribMulAction.{u1, u1} S (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (Polynomial.semiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)))))) (Algebra.toModule.{u1, u1} S (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (CommRing.toCommSemiring.{u1} S _inst_2) (Polynomial.semiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (Polynomial.algebraOfAlgebra.{u1, u1} S S (CommRing.toCommSemiring.{u1} S _inst_2) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (Algebra.id.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))))) (Module.toDistribMulAction.{u1, u2} S R' (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_6))))) (Algebra.toModule.{u1, u2} S R' (CommRing.toCommSemiring.{u1} S _inst_2) (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_6)) _inst_8)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max u2 u1, u1, u1, u2} (AlgHom.{u1, u1, u2} S (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) R' (CommRing.toCommSemiring.{u1} S _inst_2) (Polynomial.semiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_6)) (Polynomial.algebraOfAlgebra.{u1, u1} S S (CommRing.toCommSemiring.{u1} S _inst_2) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (Algebra.id.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) _inst_8) S (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) R' (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (Polynomial.semiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_6)))) (Module.toDistribMulAction.{u1, u1} S (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (Semiring.toNonAssocSemiring.{u1} (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (Polynomial.semiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)))))) (Algebra.toModule.{u1, u1} S (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (CommRing.toCommSemiring.{u1} S _inst_2) (Polynomial.semiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (Polynomial.algebraOfAlgebra.{u1, u1} S S (CommRing.toCommSemiring.{u1} S _inst_2) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (Algebra.id.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))))) (Module.toDistribMulAction.{u1, u2} S R' (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_6))))) (Algebra.toModule.{u1, u2} S R' (CommRing.toCommSemiring.{u1} S _inst_2) (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_6)) _inst_8)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u1, u1, u2, max u2 u1} S (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) R' (CommRing.toCommSemiring.{u1} S _inst_2) (Polynomial.semiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_6)) (Polynomial.algebraOfAlgebra.{u1, u1} S S (CommRing.toCommSemiring.{u1} S _inst_2) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (Algebra.id.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) _inst_8 (AlgHom.{u1, u1, u2} S (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) R' (CommRing.toCommSemiring.{u1} S _inst_2) (Polynomial.semiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_6)) (Polynomial.algebraOfAlgebra.{u1, u1} S S (CommRing.toCommSemiring.{u1} S _inst_2) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (Algebra.id.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) _inst_8) (AlgHom.algHomClass.{u1, u1, u2} S (Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) R' (CommRing.toCommSemiring.{u1} S _inst_2) (Polynomial.semiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_6)) (Polynomial.algebraOfAlgebra.{u1, u1} S S (CommRing.toCommSemiring.{u1} S _inst_2) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (Algebra.id.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) _inst_8))))) (Polynomial.aeval.{u1, u2} S R' (CommRing.toCommSemiring.{u1} S _inst_2) (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_6)) _inst_8 x) p) (OfNat.ofNat.{u2} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) => R') p) 0 (Zero.toOfNat0.{u2} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) => R') p) (CommMonoidWithZero.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) => R') p) (CommSemiring.toCommMonoidWithZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) => R') p) (CommRing.toCommSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Polynomial.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) => R') p) _inst_6)))))) -> (Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) => R') (IsLocalization.integerNormalization.{u3, u1} R _inst_1 M S _inst_2 _inst_3 _inst_5 p)) (FunLike.coe.{max (succ u2) (succ u3), succ u3, succ u2} (AlgHom.{u3, u3, u2} R (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) R' (CommRing.toCommSemiring.{u3} R _inst_1) (Polynomial.semiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_6)) (Polynomial.algebraOfAlgebra.{u3, u3} R R (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) _inst_7) (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (fun (_x : Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) => R') _x) (SMulHomClass.toFunLike.{max u2 u3, u3, u3, u2} (AlgHom.{u3, u3, u2} R (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) R' (CommRing.toCommSemiring.{u3} R _inst_1) (Polynomial.semiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_6)) (Polynomial.algebraOfAlgebra.{u3, u3} R R (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) _inst_7) R (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) R' (SMulZeroClass.toSMul.{u3, u3} R (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (AddMonoid.toZero.{u3} (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{u3} (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (Semiring.toNonAssocSemiring.{u3} (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (Polynomial.semiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))))))) (DistribSMul.toSMulZeroClass.{u3, u3} R (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (AddMonoid.toAddZeroClass.{u3} (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{u3} (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (Semiring.toNonAssocSemiring.{u3} (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (Polynomial.semiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))))))) (DistribMulAction.toDistribSMul.{u3, u3} R (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (AddCommMonoid.toAddMonoid.{u3} (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (Semiring.toNonAssocSemiring.{u3} (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (Polynomial.semiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))))) (Module.toDistribMulAction.{u3, u3} R (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (Semiring.toNonAssocSemiring.{u3} (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (Polynomial.semiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))))) (Algebra.toModule.{u3, u3} R (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (CommRing.toCommSemiring.{u3} R _inst_1) (Polynomial.semiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (Polynomial.algebraOfAlgebra.{u3, u3} R R (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))))))) (SMulZeroClass.toSMul.{u3, u2} R R' (AddMonoid.toZero.{u2} R' (AddCommMonoid.toAddMonoid.{u2} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_6))))))) (DistribSMul.toSMulZeroClass.{u3, u2} R R' (AddMonoid.toAddZeroClass.{u2} R' (AddCommMonoid.toAddMonoid.{u2} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_6))))))) (DistribMulAction.toDistribSMul.{u3, u2} R R' (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (AddCommMonoid.toAddMonoid.{u2} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_6)))))) (Module.toDistribMulAction.{u3, u2} R R' (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_6))))) (Algebra.toModule.{u3, u2} R R' (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_6)) _inst_7))))) (DistribMulActionHomClass.toSMulHomClass.{max u2 u3, u3, u3, u2} (AlgHom.{u3, u3, u2} R (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) R' (CommRing.toCommSemiring.{u3} R _inst_1) (Polynomial.semiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_6)) (Polynomial.algebraOfAlgebra.{u3, u3} R R (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) _inst_7) R (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) R' (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (AddCommMonoid.toAddMonoid.{u3} (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (Semiring.toNonAssocSemiring.{u3} (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (Polynomial.semiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))))) (AddCommMonoid.toAddMonoid.{u2} R' (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_6)))))) (Module.toDistribMulAction.{u3, u3} R (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (Semiring.toNonAssocSemiring.{u3} (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (Polynomial.semiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))))) (Algebra.toModule.{u3, u3} R (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (CommRing.toCommSemiring.{u3} R _inst_1) (Polynomial.semiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (Polynomial.algebraOfAlgebra.{u3, u3} R R (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))) (Module.toDistribMulAction.{u3, u2} R R' (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_6))))) (Algebra.toModule.{u3, u2} R R' (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_6)) _inst_7)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max u2 u3, u3, u3, u2} (AlgHom.{u3, u3, u2} R (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) R' (CommRing.toCommSemiring.{u3} R _inst_1) (Polynomial.semiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_6)) (Polynomial.algebraOfAlgebra.{u3, u3} R R (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) _inst_7) R (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) R' (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (Semiring.toNonAssocSemiring.{u3} (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (Polynomial.semiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_6)))) (Module.toDistribMulAction.{u3, u3} R (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (Semiring.toNonAssocSemiring.{u3} (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (Polynomial.semiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))))) (Algebra.toModule.{u3, u3} R (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (CommRing.toCommSemiring.{u3} R _inst_1) (Polynomial.semiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (Polynomial.algebraOfAlgebra.{u3, u3} R R (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))) (Module.toDistribMulAction.{u3, u2} R R' (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R' (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R' (Semiring.toNonAssocSemiring.{u2} R' (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_6))))) (Algebra.toModule.{u3, u2} R R' (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_6)) _inst_7)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u3, u3, u2, max u2 u3} R (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) R' (CommRing.toCommSemiring.{u3} R _inst_1) (Polynomial.semiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_6)) (Polynomial.algebraOfAlgebra.{u3, u3} R R (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) _inst_7 (AlgHom.{u3, u3, u2} R (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) R' (CommRing.toCommSemiring.{u3} R _inst_1) (Polynomial.semiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_6)) (Polynomial.algebraOfAlgebra.{u3, u3} R R (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) _inst_7) (AlgHom.algHomClass.{u3, u3, u2} R (Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) R' (CommRing.toCommSemiring.{u3} R _inst_1) (Polynomial.semiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_6)) (Polynomial.algebraOfAlgebra.{u3, u3} R R (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) _inst_7))))) (Polynomial.aeval.{u3, u2} R R' (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u2} R' (CommRing.toCommSemiring.{u2} R' _inst_6)) _inst_7 x) (IsLocalization.integerNormalization.{u3, u1} R _inst_1 M S _inst_2 _inst_3 _inst_5 p)) (OfNat.ofNat.{u2} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) => R') (IsLocalization.integerNormalization.{u3, u1} R _inst_1 M S _inst_2 _inst_3 _inst_5 p)) 0 (Zero.toOfNat0.{u2} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) => R') (IsLocalization.integerNormalization.{u3, u1} R _inst_1 M S _inst_2 _inst_3 _inst_5 p)) (CommMonoidWithZero.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) => R') (IsLocalization.integerNormalization.{u3, u1} R _inst_1 M S _inst_2 _inst_3 _inst_5 p)) (CommSemiring.toCommMonoidWithZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) => R') (IsLocalization.integerNormalization.{u3, u1} R _inst_1 M S _inst_2 _inst_3 _inst_5 p)) (CommRing.toCommSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Polynomial.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) => R') (IsLocalization.integerNormalization.{u3, u1} R _inst_1 M S _inst_2 _inst_3 _inst_5 p)) _inst_6))))))
+Case conversion may be inaccurate. Consider using '#align is_localization.integer_normalization_aeval_eq_zero IsLocalization.integerNormalization_aeval_eq_zeroₓ'. -/
 theorem integerNormalization_aeval_eq_zero [Algebra R R'] [Algebra S R'] [IsScalarTower R S R']
     (p : S[X]) {x : R'} (hx : aeval x p = 0) : aeval x (integerNormalization M p) = 0 := by
   rw [aeval_def, IsScalarTower.algebraMap_eq R S R', integer_normalization_eval₂_eq_zero _ _ _ hx]
@@ -135,6 +177,7 @@ variable {A K C : Type _} [CommRing A] [IsDomain A] [Field K] [Algebra A K] [IsF
 
 variable [CommRing C]
 
+#print IsFractionRing.integerNormalization_eq_zero_iff /-
 theorem integerNormalization_eq_zero_iff {p : K[X]} :
     integerNormalization (nonZeroDivisors A) p = 0 ↔ p = 0 :=
   by
@@ -152,9 +195,16 @@ theorem integerNormalization_eq_zero_iff {p : K[X]} :
     apply mem_non_zero_divisors_iff_ne_zero.mp nonzero
     exact to_map_eq_zero_iff.mp h
 #align is_fraction_ring.integer_normalization_eq_zero_iff IsFractionRing.integerNormalization_eq_zero_iff
+-/
 
 variable (A K C)
 
+/- warning: is_fraction_ring.is_algebraic_iff -> IsFractionRing.isAlgebraic_iff is a dubious translation:
+lean 3 declaration is
+  forall (A : Type.{u1}) (K : Type.{u2}) (C : Type.{u3}) [_inst_5 : CommRing.{u1} A] [_inst_6 : IsDomain.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_5))] [_inst_7 : Field.{u2} K] [_inst_8 : Algebra.{u1, u2} A K (CommRing.toCommSemiring.{u1} A _inst_5) (Ring.toSemiring.{u2} K (DivisionRing.toRing.{u2} K (Field.toDivisionRing.{u2} K _inst_7)))] [_inst_9 : IsFractionRing.{u1, u2} A _inst_5 K (EuclideanDomain.toCommRing.{u2} K (Field.toEuclideanDomain.{u2} K _inst_7)) _inst_8] [_inst_10 : CommRing.{u3} C] [_inst_11 : Algebra.{u1, u3} A C (CommRing.toCommSemiring.{u1} A _inst_5) (Ring.toSemiring.{u3} C (CommRing.toRing.{u3} C _inst_10))] [_inst_12 : Algebra.{u2, u3} K C (Semifield.toCommSemiring.{u2} K (Field.toSemifield.{u2} K _inst_7)) (Ring.toSemiring.{u3} C (CommRing.toRing.{u3} C _inst_10))] [_inst_13 : IsScalarTower.{u1, u2, u3} A K C (SMulZeroClass.toHasSmul.{u1, u2} A K (AddZeroClass.toHasZero.{u2} K (AddMonoid.toAddZeroClass.{u2} K (AddCommMonoid.toAddMonoid.{u2} K (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} K (Semiring.toNonAssocSemiring.{u2} K (Ring.toSemiring.{u2} K (DivisionRing.toRing.{u2} K (Field.toDivisionRing.{u2} K _inst_7))))))))) (SMulWithZero.toSmulZeroClass.{u1, u2} A K (MulZeroClass.toHasZero.{u1} A (MulZeroOneClass.toMulZeroClass.{u1} A (MonoidWithZero.toMulZeroOneClass.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_5)))))) (AddZeroClass.toHasZero.{u2} K (AddMonoid.toAddZeroClass.{u2} K (AddCommMonoid.toAddMonoid.{u2} K (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} K (Semiring.toNonAssocSemiring.{u2} K (Ring.toSemiring.{u2} K (DivisionRing.toRing.{u2} K (Field.toDivisionRing.{u2} K _inst_7))))))))) (MulActionWithZero.toSMulWithZero.{u1, u2} A K (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_5))) (AddZeroClass.toHasZero.{u2} K (AddMonoid.toAddZeroClass.{u2} K (AddCommMonoid.toAddMonoid.{u2} K (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} K (Semiring.toNonAssocSemiring.{u2} K (Ring.toSemiring.{u2} K (DivisionRing.toRing.{u2} K (Field.toDivisionRing.{u2} K _inst_7))))))))) (Module.toMulActionWithZero.{u1, u2} A K (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_5)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} K (Semiring.toNonAssocSemiring.{u2} K (Ring.toSemiring.{u2} K (DivisionRing.toRing.{u2} K (Field.toDivisionRing.{u2} K _inst_7)))))) (Algebra.toModule.{u1, u2} A K (CommRing.toCommSemiring.{u1} A _inst_5) (Ring.toSemiring.{u2} K (DivisionRing.toRing.{u2} K (Field.toDivisionRing.{u2} K _inst_7))) _inst_8))))) (SMulZeroClass.toHasSmul.{u2, u3} K C (AddZeroClass.toHasZero.{u3} C (AddMonoid.toAddZeroClass.{u3} C (AddCommMonoid.toAddMonoid.{u3} C (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} C (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} C (Semiring.toNonAssocSemiring.{u3} C (Ring.toSemiring.{u3} C (CommRing.toRing.{u3} C _inst_10)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} K C (MulZeroClass.toHasZero.{u2} K (MulZeroOneClass.toMulZeroClass.{u2} K (MonoidWithZero.toMulZeroOneClass.{u2} K (Semiring.toMonoidWithZero.{u2} K (CommSemiring.toSemiring.{u2} K (Semifield.toCommSemiring.{u2} K (Field.toSemifield.{u2} K _inst_7))))))) (AddZeroClass.toHasZero.{u3} C (AddMonoid.toAddZeroClass.{u3} C (AddCommMonoid.toAddMonoid.{u3} C (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} C (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} C (Semiring.toNonAssocSemiring.{u3} C (Ring.toSemiring.{u3} C (CommRing.toRing.{u3} C _inst_10)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} K C (Semiring.toMonoidWithZero.{u2} K (CommSemiring.toSemiring.{u2} K (Semifield.toCommSemiring.{u2} K (Field.toSemifield.{u2} K _inst_7)))) (AddZeroClass.toHasZero.{u3} C (AddMonoid.toAddZeroClass.{u3} C (AddCommMonoid.toAddMonoid.{u3} C (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} C (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} C (Semiring.toNonAssocSemiring.{u3} C (Ring.toSemiring.{u3} C (CommRing.toRing.{u3} C _inst_10)))))))) (Module.toMulActionWithZero.{u2, u3} K C (CommSemiring.toSemiring.{u2} K (Semifield.toCommSemiring.{u2} K (Field.toSemifield.{u2} K _inst_7))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} C (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} C (Semiring.toNonAssocSemiring.{u3} C (Ring.toSemiring.{u3} C (CommRing.toRing.{u3} C _inst_10))))) (Algebra.toModule.{u2, u3} K C (Semifield.toCommSemiring.{u2} K (Field.toSemifield.{u2} K _inst_7)) (Ring.toSemiring.{u3} C (CommRing.toRing.{u3} C _inst_10)) _inst_12))))) (SMulZeroClass.toHasSmul.{u1, u3} A C (AddZeroClass.toHasZero.{u3} C (AddMonoid.toAddZeroClass.{u3} C (AddCommMonoid.toAddMonoid.{u3} C (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} C (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} C (Semiring.toNonAssocSemiring.{u3} C (Ring.toSemiring.{u3} C (CommRing.toRing.{u3} C _inst_10)))))))) (SMulWithZero.toSmulZeroClass.{u1, u3} A C (MulZeroClass.toHasZero.{u1} A (MulZeroOneClass.toMulZeroClass.{u1} A (MonoidWithZero.toMulZeroOneClass.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_5)))))) (AddZeroClass.toHasZero.{u3} C (AddMonoid.toAddZeroClass.{u3} C (AddCommMonoid.toAddMonoid.{u3} C (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} C (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} C (Semiring.toNonAssocSemiring.{u3} C (Ring.toSemiring.{u3} C (CommRing.toRing.{u3} C _inst_10)))))))) (MulActionWithZero.toSMulWithZero.{u1, u3} A C (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_5))) (AddZeroClass.toHasZero.{u3} C (AddMonoid.toAddZeroClass.{u3} C (AddCommMonoid.toAddMonoid.{u3} C (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} C (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} C (Semiring.toNonAssocSemiring.{u3} C (Ring.toSemiring.{u3} C (CommRing.toRing.{u3} C _inst_10)))))))) (Module.toMulActionWithZero.{u1, u3} A C (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_5)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} C (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} C (Semiring.toNonAssocSemiring.{u3} C (Ring.toSemiring.{u3} C (CommRing.toRing.{u3} C _inst_10))))) (Algebra.toModule.{u1, u3} A C (CommRing.toCommSemiring.{u1} A _inst_5) (Ring.toSemiring.{u3} C (CommRing.toRing.{u3} C _inst_10)) _inst_11)))))] {x : C}, Iff (IsAlgebraic.{u1, u3} A C _inst_5 (CommRing.toRing.{u3} C _inst_10) _inst_11 x) (IsAlgebraic.{u2, u3} K C (EuclideanDomain.toCommRing.{u2} K (Field.toEuclideanDomain.{u2} K _inst_7)) (CommRing.toRing.{u3} C _inst_10) _inst_12 x)
+but is expected to have type
+  forall (A : Type.{u3}) (K : Type.{u1}) (C : Type.{u2}) [_inst_5 : CommRing.{u3} A] [_inst_6 : IsDomain.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_5))] [_inst_7 : Field.{u1} K] [_inst_8 : Algebra.{u3, u1} A K (CommRing.toCommSemiring.{u3} A _inst_5) (DivisionSemiring.toSemiring.{u1} K (Semifield.toDivisionSemiring.{u1} K (Field.toSemifield.{u1} K _inst_7)))] [_inst_9 : IsFractionRing.{u3, u1} A _inst_5 K (EuclideanDomain.toCommRing.{u1} K (Field.toEuclideanDomain.{u1} K _inst_7)) _inst_8] [_inst_10 : CommRing.{u2} C] [_inst_11 : Algebra.{u3, u2} A C (CommRing.toCommSemiring.{u3} A _inst_5) (CommSemiring.toSemiring.{u2} C (CommRing.toCommSemiring.{u2} C _inst_10))] [_inst_12 : Algebra.{u1, u2} K C (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_7)) (CommSemiring.toSemiring.{u2} C (CommRing.toCommSemiring.{u2} C _inst_10))] [_inst_13 : IsScalarTower.{u3, u1, u2} A K C (Algebra.toSMul.{u3, u1} A K (CommRing.toCommSemiring.{u3} A _inst_5) (DivisionSemiring.toSemiring.{u1} K (Semifield.toDivisionSemiring.{u1} K (Field.toSemifield.{u1} K _inst_7))) _inst_8) (Algebra.toSMul.{u1, u2} K C (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_7)) (CommSemiring.toSemiring.{u2} C (CommRing.toCommSemiring.{u2} C _inst_10)) _inst_12) (Algebra.toSMul.{u3, u2} A C (CommRing.toCommSemiring.{u3} A _inst_5) (CommSemiring.toSemiring.{u2} C (CommRing.toCommSemiring.{u2} C _inst_10)) _inst_11)] {x : C}, Iff (IsAlgebraic.{u3, u2} A C _inst_5 (CommRing.toRing.{u2} C _inst_10) _inst_11 x) (IsAlgebraic.{u1, u2} K C (EuclideanDomain.toCommRing.{u1} K (Field.toEuclideanDomain.{u1} K _inst_7)) (CommRing.toRing.{u2} C _inst_10) _inst_12 x)
+Case conversion may be inaccurate. Consider using '#align is_fraction_ring.is_algebraic_iff IsFractionRing.isAlgebraic_iffₓ'. -/
 /-- An element of a ring is algebraic over the ring `A` iff it is algebraic
 over the field of fractions of `A`.
 -/
@@ -174,6 +224,12 @@ theorem isAlgebraic_iff [Algebra A C] [Algebra K C] [IsScalarTower A K C] {x : C
 
 variable {A K C}
 
+/- warning: is_fraction_ring.comap_is_algebraic_iff -> IsFractionRing.comap_isAlgebraic_iff is a dubious translation:
+lean 3 declaration is
+  forall {A : Type.{u1}} {K : Type.{u2}} {C : Type.{u3}} [_inst_5 : CommRing.{u1} A] [_inst_6 : IsDomain.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_5))] [_inst_7 : Field.{u2} K] [_inst_8 : Algebra.{u1, u2} A K (CommRing.toCommSemiring.{u1} A _inst_5) (Ring.toSemiring.{u2} K (DivisionRing.toRing.{u2} K (Field.toDivisionRing.{u2} K _inst_7)))] [_inst_9 : IsFractionRing.{u1, u2} A _inst_5 K (EuclideanDomain.toCommRing.{u2} K (Field.toEuclideanDomain.{u2} K _inst_7)) _inst_8] [_inst_10 : CommRing.{u3} C] [_inst_11 : Algebra.{u1, u3} A C (CommRing.toCommSemiring.{u1} A _inst_5) (Ring.toSemiring.{u3} C (CommRing.toRing.{u3} C _inst_10))] [_inst_12 : Algebra.{u2, u3} K C (Semifield.toCommSemiring.{u2} K (Field.toSemifield.{u2} K _inst_7)) (Ring.toSemiring.{u3} C (CommRing.toRing.{u3} C _inst_10))] [_inst_13 : IsScalarTower.{u1, u2, u3} A K C (SMulZeroClass.toHasSmul.{u1, u2} A K (AddZeroClass.toHasZero.{u2} K (AddMonoid.toAddZeroClass.{u2} K (AddCommMonoid.toAddMonoid.{u2} K (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} K (Semiring.toNonAssocSemiring.{u2} K (Ring.toSemiring.{u2} K (DivisionRing.toRing.{u2} K (Field.toDivisionRing.{u2} K _inst_7))))))))) (SMulWithZero.toSmulZeroClass.{u1, u2} A K (MulZeroClass.toHasZero.{u1} A (MulZeroOneClass.toMulZeroClass.{u1} A (MonoidWithZero.toMulZeroOneClass.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_5)))))) (AddZeroClass.toHasZero.{u2} K (AddMonoid.toAddZeroClass.{u2} K (AddCommMonoid.toAddMonoid.{u2} K (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} K (Semiring.toNonAssocSemiring.{u2} K (Ring.toSemiring.{u2} K (DivisionRing.toRing.{u2} K (Field.toDivisionRing.{u2} K _inst_7))))))))) (MulActionWithZero.toSMulWithZero.{u1, u2} A K (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_5))) (AddZeroClass.toHasZero.{u2} K (AddMonoid.toAddZeroClass.{u2} K (AddCommMonoid.toAddMonoid.{u2} K (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} K (Semiring.toNonAssocSemiring.{u2} K (Ring.toSemiring.{u2} K (DivisionRing.toRing.{u2} K (Field.toDivisionRing.{u2} K _inst_7))))))))) (Module.toMulActionWithZero.{u1, u2} A K (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_5)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} K (Semiring.toNonAssocSemiring.{u2} K (Ring.toSemiring.{u2} K (DivisionRing.toRing.{u2} K (Field.toDivisionRing.{u2} K _inst_7)))))) (Algebra.toModule.{u1, u2} A K (CommRing.toCommSemiring.{u1} A _inst_5) (Ring.toSemiring.{u2} K (DivisionRing.toRing.{u2} K (Field.toDivisionRing.{u2} K _inst_7))) _inst_8))))) (SMulZeroClass.toHasSmul.{u2, u3} K C (AddZeroClass.toHasZero.{u3} C (AddMonoid.toAddZeroClass.{u3} C (AddCommMonoid.toAddMonoid.{u3} C (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} C (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} C (Semiring.toNonAssocSemiring.{u3} C (Ring.toSemiring.{u3} C (CommRing.toRing.{u3} C _inst_10)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} K C (MulZeroClass.toHasZero.{u2} K (MulZeroOneClass.toMulZeroClass.{u2} K (MonoidWithZero.toMulZeroOneClass.{u2} K (Semiring.toMonoidWithZero.{u2} K (CommSemiring.toSemiring.{u2} K (Semifield.toCommSemiring.{u2} K (Field.toSemifield.{u2} K _inst_7))))))) (AddZeroClass.toHasZero.{u3} C (AddMonoid.toAddZeroClass.{u3} C (AddCommMonoid.toAddMonoid.{u3} C (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} C (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} C (Semiring.toNonAssocSemiring.{u3} C (Ring.toSemiring.{u3} C (CommRing.toRing.{u3} C _inst_10)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} K C (Semiring.toMonoidWithZero.{u2} K (CommSemiring.toSemiring.{u2} K (Semifield.toCommSemiring.{u2} K (Field.toSemifield.{u2} K _inst_7)))) (AddZeroClass.toHasZero.{u3} C (AddMonoid.toAddZeroClass.{u3} C (AddCommMonoid.toAddMonoid.{u3} C (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} C (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} C (Semiring.toNonAssocSemiring.{u3} C (Ring.toSemiring.{u3} C (CommRing.toRing.{u3} C _inst_10)))))))) (Module.toMulActionWithZero.{u2, u3} K C (CommSemiring.toSemiring.{u2} K (Semifield.toCommSemiring.{u2} K (Field.toSemifield.{u2} K _inst_7))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} C (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} C (Semiring.toNonAssocSemiring.{u3} C (Ring.toSemiring.{u3} C (CommRing.toRing.{u3} C _inst_10))))) (Algebra.toModule.{u2, u3} K C (Semifield.toCommSemiring.{u2} K (Field.toSemifield.{u2} K _inst_7)) (Ring.toSemiring.{u3} C (CommRing.toRing.{u3} C _inst_10)) _inst_12))))) (SMulZeroClass.toHasSmul.{u1, u3} A C (AddZeroClass.toHasZero.{u3} C (AddMonoid.toAddZeroClass.{u3} C (AddCommMonoid.toAddMonoid.{u3} C (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} C (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} C (Semiring.toNonAssocSemiring.{u3} C (Ring.toSemiring.{u3} C (CommRing.toRing.{u3} C _inst_10)))))))) (SMulWithZero.toSmulZeroClass.{u1, u3} A C (MulZeroClass.toHasZero.{u1} A (MulZeroOneClass.toMulZeroClass.{u1} A (MonoidWithZero.toMulZeroOneClass.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_5)))))) (AddZeroClass.toHasZero.{u3} C (AddMonoid.toAddZeroClass.{u3} C (AddCommMonoid.toAddMonoid.{u3} C (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} C (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} C (Semiring.toNonAssocSemiring.{u3} C (Ring.toSemiring.{u3} C (CommRing.toRing.{u3} C _inst_10)))))))) (MulActionWithZero.toSMulWithZero.{u1, u3} A C (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_5))) (AddZeroClass.toHasZero.{u3} C (AddMonoid.toAddZeroClass.{u3} C (AddCommMonoid.toAddMonoid.{u3} C (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} C (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} C (Semiring.toNonAssocSemiring.{u3} C (Ring.toSemiring.{u3} C (CommRing.toRing.{u3} C _inst_10)))))))) (Module.toMulActionWithZero.{u1, u3} A C (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_5)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} C (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} C (Semiring.toNonAssocSemiring.{u3} C (Ring.toSemiring.{u3} C (CommRing.toRing.{u3} C _inst_10))))) (Algebra.toModule.{u1, u3} A C (CommRing.toCommSemiring.{u1} A _inst_5) (Ring.toSemiring.{u3} C (CommRing.toRing.{u3} C _inst_10)) _inst_11)))))], Iff (Algebra.IsAlgebraic.{u1, u3} A C _inst_5 (CommRing.toRing.{u3} C _inst_10) _inst_11) (Algebra.IsAlgebraic.{u2, u3} K C (EuclideanDomain.toCommRing.{u2} K (Field.toEuclideanDomain.{u2} K _inst_7)) (CommRing.toRing.{u3} C _inst_10) _inst_12)
+but is expected to have type
+  forall {A : Type.{u3}} {K : Type.{u1}} {C : Type.{u2}} [_inst_5 : CommRing.{u3} A] [_inst_6 : IsDomain.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_5))] [_inst_7 : Field.{u1} K] [_inst_8 : Algebra.{u3, u1} A K (CommRing.toCommSemiring.{u3} A _inst_5) (DivisionSemiring.toSemiring.{u1} K (Semifield.toDivisionSemiring.{u1} K (Field.toSemifield.{u1} K _inst_7)))] [_inst_9 : IsFractionRing.{u3, u1} A _inst_5 K (EuclideanDomain.toCommRing.{u1} K (Field.toEuclideanDomain.{u1} K _inst_7)) _inst_8] [_inst_10 : CommRing.{u2} C] [_inst_11 : Algebra.{u3, u2} A C (CommRing.toCommSemiring.{u3} A _inst_5) (CommSemiring.toSemiring.{u2} C (CommRing.toCommSemiring.{u2} C _inst_10))] [_inst_12 : Algebra.{u1, u2} K C (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_7)) (CommSemiring.toSemiring.{u2} C (CommRing.toCommSemiring.{u2} C _inst_10))] [_inst_13 : IsScalarTower.{u3, u1, u2} A K C (Algebra.toSMul.{u3, u1} A K (CommRing.toCommSemiring.{u3} A _inst_5) (DivisionSemiring.toSemiring.{u1} K (Semifield.toDivisionSemiring.{u1} K (Field.toSemifield.{u1} K _inst_7))) _inst_8) (Algebra.toSMul.{u1, u2} K C (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_7)) (CommSemiring.toSemiring.{u2} C (CommRing.toCommSemiring.{u2} C _inst_10)) _inst_12) (Algebra.toSMul.{u3, u2} A C (CommRing.toCommSemiring.{u3} A _inst_5) (CommSemiring.toSemiring.{u2} C (CommRing.toCommSemiring.{u2} C _inst_10)) _inst_11)], Iff (Algebra.IsAlgebraic.{u3, u2} A C _inst_5 (CommRing.toRing.{u2} C _inst_10) _inst_11) (Algebra.IsAlgebraic.{u1, u2} K C (EuclideanDomain.toCommRing.{u1} K (Field.toEuclideanDomain.{u1} K _inst_7)) (CommRing.toRing.{u2} C _inst_10) _inst_12)
+Case conversion may be inaccurate. Consider using '#align is_fraction_ring.comap_is_algebraic_iff IsFractionRing.comap_isAlgebraic_iffₓ'. -/
 /-- A ring is algebraic over the ring `A` iff it is algebraic over the field of fractions of `A`.
 -/
 theorem comap_isAlgebraic_iff [Algebra A C] [Algebra K C] [IsScalarTower A K C] :
@@ -197,6 +253,12 @@ variable {S M}
 
 open Polynomial
 
+/- warning: ring_hom.is_integral_elem_localization_at_leading_coeff -> RingHom.isIntegralElem_localization_at_leadingCoeff is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_11 : CommRing.{u1} R] [_inst_12 : CommRing.{u2} S] (f : RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))) (x : S) (p : Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_11))), (Eq.{succ u2} S (Polynomial.eval₂.{u1, u2} R S (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_11)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_12)) f x p) (OfNat.ofNat.{u2} S 0 (OfNat.mk.{u2} S 0 (Zero.zero.{u2} S (MulZeroClass.toHasZero.{u2} S (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))))))))) -> (forall (M : Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11)))))), (Membership.Mem.{u1, u1} R (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11)))))) (SetLike.hasMem.{u1, u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11)))))) R (Submonoid.setLike.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))))))) (Polynomial.leadingCoeff.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_11)) p) M) -> (forall {Rₘ : Type.{u3}} {Sₘ : Type.{u4}} [_inst_13 : CommRing.{u3} Rₘ] [_inst_14 : CommRing.{u4} Sₘ] [_inst_15 : Algebra.{u1, u3} R Rₘ (CommRing.toCommSemiring.{u1} R _inst_11) (Ring.toSemiring.{u3} Rₘ (CommRing.toRing.{u3} Rₘ _inst_13))] [_inst_16 : IsLocalization.{u1, u3} R (CommRing.toCommSemiring.{u1} R _inst_11) M Rₘ (CommRing.toCommSemiring.{u3} Rₘ _inst_13) _inst_15] [_inst_17 : Algebra.{u2, u4} S Sₘ (CommRing.toCommSemiring.{u2} S _inst_12) (Ring.toSemiring.{u4} Sₘ (CommRing.toRing.{u4} Sₘ _inst_14))] [_inst_18 : IsLocalization.{u2, u4} S (CommRing.toCommSemiring.{u2} S _inst_12) (Submonoid.map.{u1, u2, max u1 u2} R S (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u2} S (NonAssocSemiring.toMulZeroOneClass.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12))))) (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))) (RingHomClass.toMonoidHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))) R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12))) (RingHom.ringHomClass.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12))))) f M) Sₘ (CommRing.toCommSemiring.{u4} Sₘ _inst_14) _inst_17], RingHom.IsIntegralElem.{u3, u4} Rₘ Sₘ _inst_13 (CommRing.toRing.{u4} Sₘ _inst_14) (IsLocalization.map.{u1, u3, u2, u4} R (CommRing.toCommSemiring.{u1} R _inst_11) M Rₘ (CommRing.toCommSemiring.{u3} Rₘ _inst_13) _inst_15 S (CommRing.toCommSemiring.{u2} S _inst_12) _inst_16 (Submonoid.map.{u1, u2, max u1 u2} R S (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u2} S (NonAssocSemiring.toMulZeroOneClass.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_12))))) (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_11))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_12)))) (RingHomClass.toMonoidHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_11))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_12)))) R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_11))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_12))) (RingHom.ringHomClass.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_11))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_12))))) f M) Sₘ (CommRing.toCommSemiring.{u4} Sₘ _inst_14) _inst_17 _inst_18 f (Submonoid.le_comap_map.{u1, u2, max u1 u2} R S (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u2} S (NonAssocSemiring.toMulZeroOneClass.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_12))))) M (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_11))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_12)))) (RingHomClass.toMonoidHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_11))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_12)))) R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_11))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_12))) (RingHom.ringHomClass.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_11))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_12))))) f)) (coeFn.{max (succ u2) (succ u4), max (succ u2) (succ u4)} (RingHom.{u2, u4} S Sₘ (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_12))) (Semiring.toNonAssocSemiring.{u4} Sₘ (Ring.toSemiring.{u4} Sₘ (CommRing.toRing.{u4} Sₘ _inst_14)))) (fun (_x : RingHom.{u2, u4} S Sₘ (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_12))) (Semiring.toNonAssocSemiring.{u4} Sₘ (Ring.toSemiring.{u4} Sₘ (CommRing.toRing.{u4} Sₘ _inst_14)))) => S -> Sₘ) (RingHom.hasCoeToFun.{u2, u4} S Sₘ (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_12))) (Semiring.toNonAssocSemiring.{u4} Sₘ (Ring.toSemiring.{u4} Sₘ (CommRing.toRing.{u4} Sₘ _inst_14)))) (algebraMap.{u2, u4} S Sₘ (CommRing.toCommSemiring.{u2} S _inst_12) (Ring.toSemiring.{u4} Sₘ (CommRing.toRing.{u4} Sₘ _inst_14)) _inst_17) x)))
+but is expected to have type
+  forall {R : Type.{u4}} {S : Type.{u3}} [_inst_11 : CommRing.{u4} R] [_inst_12 : CommRing.{u3} S] (f : RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_11))) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_12)))) (x : S) (p : Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_11))), (Eq.{succ u3} S (Polynomial.eval₂.{u4, u3} R S (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_11)) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_12)) f x p) (OfNat.ofNat.{u3} S 0 (Zero.toOfNat0.{u3} S (CommMonoidWithZero.toZero.{u3} S (CommSemiring.toCommMonoidWithZero.{u3} S (CommRing.toCommSemiring.{u3} S _inst_12)))))) -> (forall (M : Submonoid.{u4} R (MulZeroOneClass.toMulOneClass.{u4} R (NonAssocSemiring.toMulZeroOneClass.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_11)))))), (Membership.mem.{u4, u4} R (Submonoid.{u4} R (MulZeroOneClass.toMulOneClass.{u4} R (NonAssocSemiring.toMulZeroOneClass.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_11)))))) (SetLike.instMembership.{u4, u4} (Submonoid.{u4} R (MulZeroOneClass.toMulOneClass.{u4} R (NonAssocSemiring.toMulZeroOneClass.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_11)))))) R (Submonoid.instSetLikeSubmonoid.{u4} R (MulZeroOneClass.toMulOneClass.{u4} R (NonAssocSemiring.toMulZeroOneClass.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_11))))))) (Polynomial.leadingCoeff.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_11)) p) M) -> (forall {Rₘ : Type.{u2}} {Sₘ : Type.{u1}} [_inst_13 : CommRing.{u2} Rₘ] [_inst_14 : CommRing.{u1} Sₘ] [_inst_15 : Algebra.{u4, u2} R Rₘ (CommRing.toCommSemiring.{u4} R _inst_11) (CommSemiring.toSemiring.{u2} Rₘ (CommRing.toCommSemiring.{u2} Rₘ _inst_13))] [_inst_16 : IsLocalization.{u4, u2} R (CommRing.toCommSemiring.{u4} R _inst_11) M Rₘ (CommRing.toCommSemiring.{u2} Rₘ _inst_13) _inst_15] [_inst_17 : Algebra.{u3, u1} S Sₘ (CommRing.toCommSemiring.{u3} S _inst_12) (CommSemiring.toSemiring.{u1} Sₘ (CommRing.toCommSemiring.{u1} Sₘ _inst_14))] [_inst_18 : IsLocalization.{u3, u1} S (CommRing.toCommSemiring.{u3} S _inst_12) (Submonoid.map.{u4, u3, max u4 u3} R S (MulZeroOneClass.toMulOneClass.{u4} R (NonAssocSemiring.toMulZeroOneClass.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u3} S (NonAssocSemiring.toMulZeroOneClass.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_12))))) (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_11))) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_12)))) (RingHomClass.toMonoidHomClass.{max u4 u3, u4, u3} (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_11))) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_12)))) R S (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_11))) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_12))) (RingHom.instRingHomClassRingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_11))) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_12))))) f M) Sₘ (CommRing.toCommSemiring.{u1} Sₘ _inst_14) _inst_17], RingHom.IsIntegralElem.{u2, u1} Rₘ Sₘ _inst_13 (CommRing.toRing.{u1} Sₘ _inst_14) (IsLocalization.map.{u4, u2, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_11) M Rₘ (CommRing.toCommSemiring.{u2} Rₘ _inst_13) _inst_15 S (CommRing.toCommSemiring.{u3} S _inst_12) _inst_16 (Submonoid.map.{u4, u3, max u4 u3} R S (MulZeroOneClass.toMulOneClass.{u4} R (NonAssocSemiring.toMulZeroOneClass.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u3} S (NonAssocSemiring.toMulZeroOneClass.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_12))))) (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_11))) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_12)))) (RingHomClass.toMonoidHomClass.{max u4 u3, u4, u3} (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_11))) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_12)))) R S (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_11))) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_12))) (RingHom.instRingHomClassRingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_11))) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_12))))) f M) Sₘ (CommRing.toCommSemiring.{u1} Sₘ _inst_14) _inst_17 _inst_18 f (Submonoid.le_comap_map.{max u4 u3, u3, u4} R S (MulZeroOneClass.toMulOneClass.{u4} R (NonAssocSemiring.toMulZeroOneClass.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u3} S (NonAssocSemiring.toMulZeroOneClass.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_12))))) M (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_11))) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_12)))) (RingHomClass.toMonoidHomClass.{max u4 u3, u4, u3} (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_11))) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_12)))) R S (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_11))) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_12))) (RingHom.instRingHomClassRingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_11))) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_12))))) f)) (FunLike.coe.{max (succ u3) (succ u1), succ u3, succ u1} (RingHom.{u3, u1} S Sₘ (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_12))) (Semiring.toNonAssocSemiring.{u1} Sₘ (CommSemiring.toSemiring.{u1} Sₘ (CommRing.toCommSemiring.{u1} Sₘ _inst_14)))) S (fun (_x : S) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : S) => Sₘ) _x) (MulHomClass.toFunLike.{max u3 u1, u3, u1} (RingHom.{u3, u1} S Sₘ (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_12))) (Semiring.toNonAssocSemiring.{u1} Sₘ (CommSemiring.toSemiring.{u1} Sₘ (CommRing.toCommSemiring.{u1} Sₘ _inst_14)))) S Sₘ (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_12))))) (NonUnitalNonAssocSemiring.toMul.{u1} Sₘ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} Sₘ (Semiring.toNonAssocSemiring.{u1} Sₘ (CommSemiring.toSemiring.{u1} Sₘ (CommRing.toCommSemiring.{u1} Sₘ _inst_14))))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u1, u3, u1} (RingHom.{u3, u1} S Sₘ (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_12))) (Semiring.toNonAssocSemiring.{u1} Sₘ (CommSemiring.toSemiring.{u1} Sₘ (CommRing.toCommSemiring.{u1} Sₘ _inst_14)))) S Sₘ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_12)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} Sₘ (Semiring.toNonAssocSemiring.{u1} Sₘ (CommSemiring.toSemiring.{u1} Sₘ (CommRing.toCommSemiring.{u1} Sₘ _inst_14)))) (RingHomClass.toNonUnitalRingHomClass.{max u3 u1, u3, u1} (RingHom.{u3, u1} S Sₘ (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_12))) (Semiring.toNonAssocSemiring.{u1} Sₘ (CommSemiring.toSemiring.{u1} Sₘ (CommRing.toCommSemiring.{u1} Sₘ _inst_14)))) S Sₘ (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_12))) (Semiring.toNonAssocSemiring.{u1} Sₘ (CommSemiring.toSemiring.{u1} Sₘ (CommRing.toCommSemiring.{u1} Sₘ _inst_14))) (RingHom.instRingHomClassRingHom.{u3, u1} S Sₘ (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_12))) (Semiring.toNonAssocSemiring.{u1} Sₘ (CommSemiring.toSemiring.{u1} Sₘ (CommRing.toCommSemiring.{u1} Sₘ _inst_14))))))) (algebraMap.{u3, u1} S Sₘ (CommRing.toCommSemiring.{u3} S _inst_12) (CommSemiring.toSemiring.{u1} Sₘ (CommRing.toCommSemiring.{u1} Sₘ _inst_14)) _inst_17) x)))
+Case conversion may be inaccurate. Consider using '#align ring_hom.is_integral_elem_localization_at_leading_coeff RingHom.isIntegralElem_localization_at_leadingCoeffₓ'. -/
 theorem RingHom.isIntegralElem_localization_at_leadingCoeff {R S : Type _} [CommRing R] [CommRing S]
     (f : R →+* S) (x : S) (p : R[X]) (hf : p.eval₂ f x = 0) (M : Submonoid R)
     (hM : p.leadingCoeff ∈ M) {Rₘ Sₘ : Type _} [CommRing Rₘ] [CommRing Sₘ] [Algebra R Rₘ]
@@ -216,6 +278,12 @@ theorem RingHom.isIntegralElem_localization_at_leadingCoeff {R S : Type _} [Comm
     exact trans (congr_arg (algebraMap S Sₘ) hf) (RingHom.map_zero _)
 #align ring_hom.is_integral_elem_localization_at_leading_coeff RingHom.isIntegralElem_localization_at_leadingCoeff
 
+/- warning: is_integral_localization_at_leading_coeff -> is_integral_localization_at_leadingCoeff is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {M : Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))} {S : Type.{u2}} [_inst_2 : CommRing.{u2} S] [_inst_3 : Algebra.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))] {Rₘ : Type.{u3}} {Sₘ : Type.{u4}} [_inst_5 : CommRing.{u3} Rₘ] [_inst_6 : CommRing.{u4} Sₘ] [_inst_7 : Algebra.{u1, u3} R Rₘ (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u3} Rₘ (CommRing.toRing.{u3} Rₘ _inst_5))] [_inst_8 : IsLocalization.{u1, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M Rₘ (CommRing.toCommSemiring.{u3} Rₘ _inst_5) _inst_7] [_inst_9 : Algebra.{u2, u4} S Sₘ (CommRing.toCommSemiring.{u2} S _inst_2) (Ring.toSemiring.{u4} Sₘ (CommRing.toRing.{u4} Sₘ _inst_6))] [_inst_10 : IsLocalization.{u2, u4} S (CommRing.toCommSemiring.{u2} S _inst_2) (Algebra.algebraMapSubmonoid.{u1, u2} R (CommRing.toCommSemiring.{u1} R _inst_1) S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) _inst_3 M) Sₘ (CommRing.toCommSemiring.{u4} Sₘ _inst_6) _inst_9] {x : S} (p : Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))), (Eq.{succ u2} S (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (AlgHom.{u1, u1, u2} R (Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) S (CommRing.toCommSemiring.{u1} R _inst_1) (Polynomial.semiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) (Polynomial.algebraOfAlgebra.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) _inst_3) (fun (_x : AlgHom.{u1, u1, u2} R (Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) S (CommRing.toCommSemiring.{u1} R _inst_1) (Polynomial.semiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) (Polynomial.algebraOfAlgebra.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) _inst_3) => (Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) -> S) ([anonymous].{u1, u1, u2} R (Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) S (CommRing.toCommSemiring.{u1} R _inst_1) (Polynomial.semiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) (Polynomial.algebraOfAlgebra.{u1, u1} R R (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) _inst_3) (Polynomial.aeval.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) _inst_3 x) p) (OfNat.ofNat.{u2} S 0 (OfNat.mk.{u2} S 0 (Zero.zero.{u2} S (MulZeroClass.toHasZero.{u2} S (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))))))))) -> (Membership.Mem.{u1, u1} R (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (SetLike.hasMem.{u1, u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) R (Submonoid.setLike.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) (Polynomial.leadingCoeff.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) p) M) -> (RingHom.IsIntegralElem.{u3, u4} Rₘ Sₘ _inst_5 (CommRing.toRing.{u4} Sₘ _inst_6) (IsLocalization.map.{u1, u3, u2, u4} R (CommRing.toCommSemiring.{u1} R _inst_1) M Rₘ (CommRing.toCommSemiring.{u3} Rₘ _inst_5) _inst_7 S (CommRing.toCommSemiring.{u2} S _inst_2) _inst_8 (Algebra.algebraMapSubmonoid.{u1, u2} R (CommRing.toCommSemiring.{u1} R _inst_1) S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) _inst_3 M) Sₘ (CommRing.toCommSemiring.{u4} Sₘ _inst_6) _inst_9 _inst_10 (algebraMap.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) _inst_3) ((fun (this : LE.le.{u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (Preorder.toHasLe.{u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (PartialOrder.toPreorder.{u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (SetLike.partialOrder.{u1, u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) R (Submonoid.setLike.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))))))) M (Submonoid.comap.{u1, u2, max u1 u2} R S (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (MulZeroOneClass.toMulOneClass.{u2} S (NonAssocSemiring.toMulZeroOneClass.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))))) (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)))) (RingHomClass.toMonoidHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)))) R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))) (RingHom.ringHomClass.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))))) (algebraMap.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) _inst_3) (Algebra.algebraMapSubmonoid.{u1, u2} R (CommRing.toCommSemiring.{u1} R _inst_1) S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) _inst_3 M))) => this) (Submonoid.le_comap_map.{u1, u2, max u1 u2} R S (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (MulZeroOneClass.toMulOneClass.{u2} S (NonAssocSemiring.toMulZeroOneClass.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))))) M (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)))) (RingHomClass.toMonoidHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)))) R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))) (RingHom.ringHomClass.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))))) (algebraMap.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) _inst_3)))) (coeFn.{max (succ u2) (succ u4), max (succ u2) (succ u4)} (RingHom.{u2, u4} S Sₘ (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (Semiring.toNonAssocSemiring.{u4} Sₘ (Ring.toSemiring.{u4} Sₘ (CommRing.toRing.{u4} Sₘ _inst_6)))) (fun (_x : RingHom.{u2, u4} S Sₘ (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (Semiring.toNonAssocSemiring.{u4} Sₘ (Ring.toSemiring.{u4} Sₘ (CommRing.toRing.{u4} Sₘ _inst_6)))) => S -> Sₘ) (RingHom.hasCoeToFun.{u2, u4} S Sₘ (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (Semiring.toNonAssocSemiring.{u4} Sₘ (Ring.toSemiring.{u4} Sₘ (CommRing.toRing.{u4} Sₘ _inst_6)))) (algebraMap.{u2, u4} S Sₘ (CommRing.toCommSemiring.{u2} S _inst_2) (Ring.toSemiring.{u4} Sₘ (CommRing.toRing.{u4} Sₘ _inst_6)) _inst_9) x))
+but is expected to have type
+  forall {R : Type.{u4}} [_inst_1 : CommRing.{u4} R] {M : Submonoid.{u4} R (MulZeroOneClass.toMulOneClass.{u4} R (NonAssocSemiring.toMulZeroOneClass.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))} {S : Type.{u3}} [_inst_2 : CommRing.{u3} S] [_inst_3 : Algebra.{u4, u3} R S (CommRing.toCommSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))] {Rₘ : Type.{u2}} {Sₘ : Type.{u1}} [_inst_5 : CommRing.{u2} Rₘ] [_inst_6 : CommRing.{u1} Sₘ] [_inst_7 : Algebra.{u4, u2} R Rₘ (CommRing.toCommSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u2} Rₘ (CommRing.toCommSemiring.{u2} Rₘ _inst_5))] [_inst_8 : IsLocalization.{u4, u2} R (CommRing.toCommSemiring.{u4} R _inst_1) M Rₘ (CommRing.toCommSemiring.{u2} Rₘ _inst_5) _inst_7] [_inst_9 : Algebra.{u3, u1} S Sₘ (CommRing.toCommSemiring.{u3} S _inst_2) (CommSemiring.toSemiring.{u1} Sₘ (CommRing.toCommSemiring.{u1} Sₘ _inst_6))] [_inst_10 : IsLocalization.{u3, u1} S (CommRing.toCommSemiring.{u3} S _inst_2) (Algebra.algebraMapSubmonoid.{u4, u3} R (CommRing.toCommSemiring.{u4} R _inst_1) S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_3 M) Sₘ (CommRing.toCommSemiring.{u1} Sₘ _inst_6) _inst_9] {x : S} (p : Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))), (Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) => S) p) (FunLike.coe.{max (succ u3) (succ u4), succ u4, succ u3} (AlgHom.{u4, u4, u3} R (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) S (CommRing.toCommSemiring.{u4} R _inst_1) (Polynomial.semiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (Polynomial.algebraOfAlgebra.{u4, u4} R R (CommRing.toCommSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (Algebra.id.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) _inst_3) (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (fun (_x : Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) => S) _x) (SMulHomClass.toFunLike.{max u3 u4, u4, u4, u3} (AlgHom.{u4, u4, u3} R (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) S (CommRing.toCommSemiring.{u4} R _inst_1) (Polynomial.semiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (Polynomial.algebraOfAlgebra.{u4, u4} R R (CommRing.toCommSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (Algebra.id.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) _inst_3) R (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) S (SMulZeroClass.toSMul.{u4, u4} R (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (AddMonoid.toZero.{u4} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (AddCommMonoid.toAddMonoid.{u4} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Semiring.toNonAssocSemiring.{u4} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Polynomial.semiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))))) (DistribSMul.toSMulZeroClass.{u4, u4} R (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (AddMonoid.toAddZeroClass.{u4} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (AddCommMonoid.toAddMonoid.{u4} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Semiring.toNonAssocSemiring.{u4} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Polynomial.semiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))))) (DistribMulAction.toDistribSMul.{u4, u4} R (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (AddCommMonoid.toAddMonoid.{u4} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Semiring.toNonAssocSemiring.{u4} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Polynomial.semiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))))) (Module.toDistribMulAction.{u4, u4} R (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Semiring.toNonAssocSemiring.{u4} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Polynomial.semiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (Algebra.toModule.{u4, u4} R (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (CommRing.toCommSemiring.{u4} R _inst_1) (Polynomial.semiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Polynomial.algebraOfAlgebra.{u4, u4} R R (CommRing.toCommSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (Algebra.id.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))))) (SMulZeroClass.toSMul.{u4, u3} R S (AddMonoid.toZero.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))))) (DistribSMul.toSMulZeroClass.{u4, u3} R S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))))) (DistribMulAction.toDistribSMul.{u4, u3} R S (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))) (Module.toDistribMulAction.{u4, u3} R S (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u4, u3} R S (CommRing.toCommSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_3))))) (DistribMulActionHomClass.toSMulHomClass.{max u3 u4, u4, u4, u3} (AlgHom.{u4, u4, u3} R (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) S (CommRing.toCommSemiring.{u4} R _inst_1) (Polynomial.semiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (Polynomial.algebraOfAlgebra.{u4, u4} R R (CommRing.toCommSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (Algebra.id.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) _inst_3) R (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) S (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (AddCommMonoid.toAddMonoid.{u4} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Semiring.toNonAssocSemiring.{u4} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Polynomial.semiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))))) (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))) (Module.toDistribMulAction.{u4, u4} R (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Semiring.toNonAssocSemiring.{u4} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Polynomial.semiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (Algebra.toModule.{u4, u4} R (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (CommRing.toCommSemiring.{u4} R _inst_1) (Polynomial.semiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Polynomial.algebraOfAlgebra.{u4, u4} R R (CommRing.toCommSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (Algebra.id.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Module.toDistribMulAction.{u4, u3} R S (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u4, u3} R S (CommRing.toCommSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_3)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max u3 u4, u4, u4, u3} (AlgHom.{u4, u4, u3} R (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) S (CommRing.toCommSemiring.{u4} R _inst_1) (Polynomial.semiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (Polynomial.algebraOfAlgebra.{u4, u4} R R (CommRing.toCommSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (Algebra.id.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) _inst_3) R (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) S (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Semiring.toNonAssocSemiring.{u4} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Polynomial.semiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (Module.toDistribMulAction.{u4, u4} R (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Semiring.toNonAssocSemiring.{u4} (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Polynomial.semiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (Algebra.toModule.{u4, u4} R (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (CommRing.toCommSemiring.{u4} R _inst_1) (Polynomial.semiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Polynomial.algebraOfAlgebra.{u4, u4} R R (CommRing.toCommSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (Algebra.id.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (Module.toDistribMulAction.{u4, u3} R S (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u4, u3} R S (CommRing.toCommSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_3)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u4, u4, u3, max u3 u4} R (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) S (CommRing.toCommSemiring.{u4} R _inst_1) (Polynomial.semiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (Polynomial.algebraOfAlgebra.{u4, u4} R R (CommRing.toCommSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (Algebra.id.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) _inst_3 (AlgHom.{u4, u4, u3} R (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) S (CommRing.toCommSemiring.{u4} R _inst_1) (Polynomial.semiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (Polynomial.algebraOfAlgebra.{u4, u4} R R (CommRing.toCommSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (Algebra.id.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) _inst_3) (AlgHom.algHomClass.{u4, u4, u3} R (Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) S (CommRing.toCommSemiring.{u4} R _inst_1) (Polynomial.semiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (Polynomial.algebraOfAlgebra.{u4, u4} R R (CommRing.toCommSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) (Algebra.id.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) _inst_3))))) (Polynomial.aeval.{u4, u3} R S (CommRing.toCommSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_3 x) p) (OfNat.ofNat.{u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) => S) p) 0 (Zero.toOfNat0.{u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) => S) p) (CommMonoidWithZero.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) => S) p) (CommSemiring.toCommMonoidWithZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) => S) p) (CommRing.toCommSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Polynomial.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) => S) p) _inst_2)))))) -> (Membership.mem.{u4, u4} R (Submonoid.{u4} R (MulZeroOneClass.toMulOneClass.{u4} R (NonAssocSemiring.toMulZeroOneClass.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (SetLike.instMembership.{u4, u4} (Submonoid.{u4} R (MulZeroOneClass.toMulOneClass.{u4} R (NonAssocSemiring.toMulZeroOneClass.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) R (Submonoid.instSetLikeSubmonoid.{u4} R (MulZeroOneClass.toMulOneClass.{u4} R (NonAssocSemiring.toMulZeroOneClass.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))))) (Polynomial.leadingCoeff.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)) p) M) -> (RingHom.IsIntegralElem.{u2, u1} Rₘ Sₘ _inst_5 (CommRing.toRing.{u1} Sₘ _inst_6) (IsLocalization.map.{u4, u2, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M Rₘ (CommRing.toCommSemiring.{u2} Rₘ _inst_5) _inst_7 S (CommRing.toCommSemiring.{u3} S _inst_2) _inst_8 (Algebra.algebraMapSubmonoid.{u4, u3} R (CommRing.toCommSemiring.{u4} R _inst_1) S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_3 M) Sₘ (CommRing.toCommSemiring.{u1} Sₘ _inst_6) _inst_9 _inst_10 (algebraMap.{u4, u3} R S (CommRing.toCommSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_3) ([mdata let_fun:1 (fun (this : LE.le.{u4} (Submonoid.{u4} R (MulZeroOneClass.toMulOneClass.{u4} R (NonAssocSemiring.toMulZeroOneClass.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (Preorder.toLE.{u4} (Submonoid.{u4} R (MulZeroOneClass.toMulOneClass.{u4} R (NonAssocSemiring.toMulZeroOneClass.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (PartialOrder.toPreorder.{u4} (Submonoid.{u4} R (MulZeroOneClass.toMulOneClass.{u4} R (NonAssocSemiring.toMulZeroOneClass.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (OmegaCompletePartialOrder.toPartialOrder.{u4} (Submonoid.{u4} R (MulZeroOneClass.toMulOneClass.{u4} R (NonAssocSemiring.toMulZeroOneClass.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (CompleteLattice.instOmegaCompletePartialOrder.{u4} (Submonoid.{u4} R (MulZeroOneClass.toMulOneClass.{u4} R (NonAssocSemiring.toMulZeroOneClass.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (Submonoid.instCompleteLatticeSubmonoid.{u4} R (MulZeroOneClass.toMulOneClass.{u4} R (NonAssocSemiring.toMulZeroOneClass.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))))))) M (Submonoid.comap.{u4, u3, max u4 u3} R S (MulZeroOneClass.toMulOneClass.{u4} R (NonAssocSemiring.toMulZeroOneClass.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (MulZeroOneClass.toMulOneClass.{u3} S (NonAssocSemiring.toMulZeroOneClass.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHomClass.toMonoidHomClass.{max u4 u3, u4, u3} (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) R S (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (RingHom.instRingHomClassRingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (algebraMap.{u4, u3} R S (CommRing.toCommSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_3) (Algebra.algebraMapSubmonoid.{u4, u3} R (CommRing.toCommSemiring.{u4} R _inst_1) S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_3 M))) => this) (Submonoid.le_comap_map.{max u4 u3, u3, u4} R S (MulZeroOneClass.toMulOneClass.{u4} R (NonAssocSemiring.toMulZeroOneClass.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (MulZeroOneClass.toMulOneClass.{u3} S (NonAssocSemiring.toMulZeroOneClass.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) M (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHomClass.toMonoidHomClass.{max u4 u3, u4, u3} (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) R S (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (RingHom.instRingHomClassRingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (algebraMap.{u4, u3} R S (CommRing.toCommSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_3))])) (FunLike.coe.{max (succ u3) (succ u1), succ u3, succ u1} (RingHom.{u3, u1} S Sₘ (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (Semiring.toNonAssocSemiring.{u1} Sₘ (CommSemiring.toSemiring.{u1} Sₘ (CommRing.toCommSemiring.{u1} Sₘ _inst_6)))) S (fun (_x : S) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : S) => Sₘ) _x) (MulHomClass.toFunLike.{max u3 u1, u3, u1} (RingHom.{u3, u1} S Sₘ (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (Semiring.toNonAssocSemiring.{u1} Sₘ (CommSemiring.toSemiring.{u1} Sₘ (CommRing.toCommSemiring.{u1} Sₘ _inst_6)))) S Sₘ (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toMul.{u1} Sₘ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} Sₘ (Semiring.toNonAssocSemiring.{u1} Sₘ (CommSemiring.toSemiring.{u1} Sₘ (CommRing.toCommSemiring.{u1} Sₘ _inst_6))))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u1, u3, u1} (RingHom.{u3, u1} S Sₘ (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (Semiring.toNonAssocSemiring.{u1} Sₘ (CommSemiring.toSemiring.{u1} Sₘ (CommRing.toCommSemiring.{u1} Sₘ _inst_6)))) S Sₘ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} Sₘ (Semiring.toNonAssocSemiring.{u1} Sₘ (CommSemiring.toSemiring.{u1} Sₘ (CommRing.toCommSemiring.{u1} Sₘ _inst_6)))) (RingHomClass.toNonUnitalRingHomClass.{max u3 u1, u3, u1} (RingHom.{u3, u1} S Sₘ (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (Semiring.toNonAssocSemiring.{u1} Sₘ (CommSemiring.toSemiring.{u1} Sₘ (CommRing.toCommSemiring.{u1} Sₘ _inst_6)))) S Sₘ (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (Semiring.toNonAssocSemiring.{u1} Sₘ (CommSemiring.toSemiring.{u1} Sₘ (CommRing.toCommSemiring.{u1} Sₘ _inst_6))) (RingHom.instRingHomClassRingHom.{u3, u1} S Sₘ (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (Semiring.toNonAssocSemiring.{u1} Sₘ (CommSemiring.toSemiring.{u1} Sₘ (CommRing.toCommSemiring.{u1} Sₘ _inst_6))))))) (algebraMap.{u3, u1} S Sₘ (CommRing.toCommSemiring.{u3} S _inst_2) (CommSemiring.toSemiring.{u1} Sₘ (CommRing.toCommSemiring.{u1} Sₘ _inst_6)) _inst_9) x))
+Case conversion may be inaccurate. Consider using '#align is_integral_localization_at_leading_coeff is_integral_localization_at_leadingCoeffₓ'. -/
 /-- Given a particular witness to an element being algebraic over an algebra `R → S`,
 We can localize to a submonoid containing the leading coefficient to make it integral.
 Explicitly, the map between the localizations will be an integral ring morphism -/
@@ -228,6 +296,12 @@ theorem is_integral_localization_at_leadingCoeff {x : S} (p : R[X]) (hp : aeval
   (algebraMap R S).isIntegralElem_localization_at_leadingCoeff x p hp M hM
 #align is_integral_localization_at_leading_coeff is_integral_localization_at_leadingCoeff
 
+/- warning: is_integral_localization -> isIntegral_localization is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {M : Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))} {S : Type.{u2}} [_inst_2 : CommRing.{u2} S] [_inst_3 : Algebra.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))] {Rₘ : Type.{u3}} {Sₘ : Type.{u4}} [_inst_5 : CommRing.{u3} Rₘ] [_inst_6 : CommRing.{u4} Sₘ] [_inst_7 : Algebra.{u1, u3} R Rₘ (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u3} Rₘ (CommRing.toRing.{u3} Rₘ _inst_5))] [_inst_8 : IsLocalization.{u1, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M Rₘ (CommRing.toCommSemiring.{u3} Rₘ _inst_5) _inst_7] [_inst_9 : Algebra.{u2, u4} S Sₘ (CommRing.toCommSemiring.{u2} S _inst_2) (Ring.toSemiring.{u4} Sₘ (CommRing.toRing.{u4} Sₘ _inst_6))] [_inst_10 : IsLocalization.{u2, u4} S (CommRing.toCommSemiring.{u2} S _inst_2) (Algebra.algebraMapSubmonoid.{u1, u2} R (CommRing.toCommSemiring.{u1} R _inst_1) S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) _inst_3 M) Sₘ (CommRing.toCommSemiring.{u4} Sₘ _inst_6) _inst_9], (Algebra.IsIntegral.{u1, u2} R S _inst_1 (CommRing.toRing.{u2} S _inst_2) _inst_3) -> (RingHom.IsIntegral.{u3, u4} Rₘ Sₘ _inst_5 (CommRing.toRing.{u4} Sₘ _inst_6) (IsLocalization.map.{u1, u3, u2, u4} R (CommRing.toCommSemiring.{u1} R _inst_1) M Rₘ (CommRing.toCommSemiring.{u3} Rₘ _inst_5) _inst_7 S (CommRing.toCommSemiring.{u2} S _inst_2) _inst_8 (Algebra.algebraMapSubmonoid.{u1, u2} R (CommRing.toCommSemiring.{u1} R _inst_1) S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) _inst_3 M) Sₘ (CommRing.toCommSemiring.{u4} Sₘ _inst_6) _inst_9 _inst_10 (algebraMap.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) _inst_3) ((fun (this : LE.le.{u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (Preorder.toHasLe.{u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (PartialOrder.toPreorder.{u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (SetLike.partialOrder.{u1, u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) R (Submonoid.setLike.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))))))) M (Submonoid.comap.{u1, u2, max u1 u2} R S (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (MulZeroOneClass.toMulOneClass.{u2} S (NonAssocSemiring.toMulZeroOneClass.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))))) (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)))) (RingHomClass.toMonoidHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)))) R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))) (RingHom.ringHomClass.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))))) (algebraMap.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) _inst_3) (Algebra.algebraMapSubmonoid.{u1, u2} R (CommRing.toCommSemiring.{u1} R _inst_1) S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) _inst_3 M))) => this) (Submonoid.le_comap_map.{u1, u2, max u1 u2} R S (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (MulZeroOneClass.toMulOneClass.{u2} S (NonAssocSemiring.toMulZeroOneClass.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))))) M (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)))) (RingHomClass.toMonoidHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)))) R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))) (RingHom.ringHomClass.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))))) (algebraMap.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) _inst_3)))))
+but is expected to have type
+  forall {R : Type.{u4}} [_inst_1 : CommRing.{u4} R] {M : Submonoid.{u4} R (MulZeroOneClass.toMulOneClass.{u4} R (NonAssocSemiring.toMulZeroOneClass.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))} {S : Type.{u3}} [_inst_2 : CommRing.{u3} S] [_inst_3 : Algebra.{u4, u3} R S (CommRing.toCommSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))] {Rₘ : Type.{u2}} {Sₘ : Type.{u1}} [_inst_5 : CommRing.{u2} Rₘ] [_inst_6 : CommRing.{u1} Sₘ] [_inst_7 : Algebra.{u4, u2} R Rₘ (CommRing.toCommSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u2} Rₘ (CommRing.toCommSemiring.{u2} Rₘ _inst_5))] [_inst_8 : IsLocalization.{u4, u2} R (CommRing.toCommSemiring.{u4} R _inst_1) M Rₘ (CommRing.toCommSemiring.{u2} Rₘ _inst_5) _inst_7] [_inst_9 : Algebra.{u3, u1} S Sₘ (CommRing.toCommSemiring.{u3} S _inst_2) (CommSemiring.toSemiring.{u1} Sₘ (CommRing.toCommSemiring.{u1} Sₘ _inst_6))] [_inst_10 : IsLocalization.{u3, u1} S (CommRing.toCommSemiring.{u3} S _inst_2) (Algebra.algebraMapSubmonoid.{u4, u3} R (CommRing.toCommSemiring.{u4} R _inst_1) S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_3 M) Sₘ (CommRing.toCommSemiring.{u1} Sₘ _inst_6) _inst_9], (Algebra.IsIntegral.{u4, u3} R S _inst_1 (CommRing.toRing.{u3} S _inst_2) _inst_3) -> (RingHom.IsIntegral.{u2, u1} Rₘ Sₘ _inst_5 (CommRing.toRing.{u1} Sₘ _inst_6) (IsLocalization.map.{u4, u2, u3, u1} R (CommRing.toCommSemiring.{u4} R _inst_1) M Rₘ (CommRing.toCommSemiring.{u2} Rₘ _inst_5) _inst_7 S (CommRing.toCommSemiring.{u3} S _inst_2) _inst_8 (Algebra.algebraMapSubmonoid.{u4, u3} R (CommRing.toCommSemiring.{u4} R _inst_1) S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_3 M) Sₘ (CommRing.toCommSemiring.{u1} Sₘ _inst_6) _inst_9 _inst_10 (algebraMap.{u4, u3} R S (CommRing.toCommSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_3) ([mdata let_fun:1 (fun (this : LE.le.{u4} (Submonoid.{u4} R (MulZeroOneClass.toMulOneClass.{u4} R (NonAssocSemiring.toMulZeroOneClass.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (Preorder.toLE.{u4} (Submonoid.{u4} R (MulZeroOneClass.toMulOneClass.{u4} R (NonAssocSemiring.toMulZeroOneClass.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (PartialOrder.toPreorder.{u4} (Submonoid.{u4} R (MulZeroOneClass.toMulOneClass.{u4} R (NonAssocSemiring.toMulZeroOneClass.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (OmegaCompletePartialOrder.toPartialOrder.{u4} (Submonoid.{u4} R (MulZeroOneClass.toMulOneClass.{u4} R (NonAssocSemiring.toMulZeroOneClass.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (CompleteLattice.instOmegaCompletePartialOrder.{u4} (Submonoid.{u4} R (MulZeroOneClass.toMulOneClass.{u4} R (NonAssocSemiring.toMulZeroOneClass.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))) (Submonoid.instCompleteLatticeSubmonoid.{u4} R (MulZeroOneClass.toMulOneClass.{u4} R (NonAssocSemiring.toMulZeroOneClass.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1)))))))))) M (Submonoid.comap.{u4, u3, max u4 u3} R S (MulZeroOneClass.toMulOneClass.{u4} R (NonAssocSemiring.toMulZeroOneClass.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (MulZeroOneClass.toMulOneClass.{u3} S (NonAssocSemiring.toMulZeroOneClass.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHomClass.toMonoidHomClass.{max u4 u3, u4, u3} (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) R S (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (RingHom.instRingHomClassRingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (algebraMap.{u4, u3} R S (CommRing.toCommSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_3) (Algebra.algebraMapSubmonoid.{u4, u3} R (CommRing.toCommSemiring.{u4} R _inst_1) S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_3 M))) => this) (Submonoid.le_comap_map.{max u4 u3, u3, u4} R S (MulZeroOneClass.toMulOneClass.{u4} R (NonAssocSemiring.toMulZeroOneClass.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))))) (MulZeroOneClass.toMulOneClass.{u3} S (NonAssocSemiring.toMulZeroOneClass.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) M (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (RingHomClass.toMonoidHomClass.{max u4 u3, u4, u3} (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) R S (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (RingHom.instRingHomClassRingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_1))) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (algebraMap.{u4, u3} R S (CommRing.toCommSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_3))])))
+Case conversion may be inaccurate. Consider using '#align is_integral_localization isIntegral_localizationₓ'. -/
 /-- If `R → S` is an integral extension, `M` is a submonoid of `R`,
 `Rₘ` is the localization of `R` at `M`,
 and `Sₘ` is the localization of `S` at the image of `M` under the extension map,
@@ -252,6 +326,12 @@ theorem isIntegral_localization (H : Algebra.IsIntegral R S) :
     exact hx.symm ▸ is_integral_localization_at_leadingCoeff p hp.2 (hp.1.symm ▸ M.one_mem)
 #align is_integral_localization isIntegral_localization
 
+/- warning: is_integral_localization' -> isIntegral_localization' is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_11 : CommRing.{u1} R] [_inst_12 : CommRing.{u2} S] {f : RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))}, (RingHom.IsIntegral.{u1, u2} R S _inst_11 (CommRing.toRing.{u2} S _inst_12) f) -> (forall (M : Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11)))))), RingHom.IsIntegral.{u1, u2} (Localization.{u1} R (CommRing.toCommMonoid.{u1} R _inst_11) M) (Localization.{u2} S (CommRing.toCommMonoid.{u2} S _inst_12) (Submonoid.map.{u1, u2, max u2 u1} R S (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))))) (Monoid.toMulOneClass.{u2} S (CommMonoid.toMonoid.{u2} S (CommRing.toCommMonoid.{u2} S _inst_12))) (MonoidHom.{u1, u2} R S (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u2} S (NonAssocSemiring.toMulZeroOneClass.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))))) (MonoidHom.monoidHomClass.{u1, u2} R S (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u2} S (NonAssocSemiring.toMulZeroOneClass.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))))) ((fun (a : Sort.{max (succ u1) (succ u2)}) (b : Sort.{max (succ u2) (succ u1)}) [self : HasLiftT.{max (succ u1) (succ u2), max (succ u2) (succ u1)} a b] => self.0) (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))) (MonoidHom.{u1, u2} R S (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u2} S (NonAssocSemiring.toMulZeroOneClass.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))))) (HasLiftT.mk.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))) (MonoidHom.{u1, u2} R S (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u2} S (NonAssocSemiring.toMulZeroOneClass.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))))) (CoeTCₓ.coe.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))) (MonoidHom.{u1, u2} R S (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u2} S (NonAssocSemiring.toMulZeroOneClass.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))))) (MonoidHom.hasCoeT.{u1, u2, max u1 u2} R S (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u2} S (NonAssocSemiring.toMulZeroOneClass.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12))))) (RingHomClass.toMonoidHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))) R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12))) (RingHom.ringHomClass.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))))))) f) M)) (Localization.commRing.{u1} R _inst_11 M) (CommRing.toRing.{u2} (Localization.{u2} S (CommRing.toCommMonoid.{u2} S _inst_12) (Submonoid.map.{u1, u2, max u2 u1} R S (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))))) (Monoid.toMulOneClass.{u2} S (CommMonoid.toMonoid.{u2} S (CommRing.toCommMonoid.{u2} S _inst_12))) (MonoidHom.{u1, u2} R S (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u2} S (NonAssocSemiring.toMulZeroOneClass.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))))) (MonoidHom.monoidHomClass.{u1, u2} R S (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u2} S (NonAssocSemiring.toMulZeroOneClass.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))))) ((fun (a : Sort.{max (succ u1) (succ u2)}) (b : Sort.{max (succ u2) (succ u1)}) [self : HasLiftT.{max (succ u1) (succ u2), max (succ u2) (succ u1)} a b] => self.0) (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))) (MonoidHom.{u1, u2} R S (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u2} S (NonAssocSemiring.toMulZeroOneClass.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))))) (HasLiftT.mk.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))) (MonoidHom.{u1, u2} R S (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u2} S (NonAssocSemiring.toMulZeroOneClass.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))))) (CoeTCₓ.coe.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))) (MonoidHom.{u1, u2} R S (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u2} S (NonAssocSemiring.toMulZeroOneClass.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))))) (MonoidHom.hasCoeT.{u1, u2, max u1 u2} R S (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u2} S (NonAssocSemiring.toMulZeroOneClass.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12))))) (RingHomClass.toMonoidHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))) R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12))) (RingHom.ringHomClass.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))))))) f) M)) (Localization.commRing.{u2} S _inst_12 (Submonoid.map.{u1, u2, max u2 u1} R S (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))))) (Monoid.toMulOneClass.{u2} S (CommMonoid.toMonoid.{u2} S (CommRing.toCommMonoid.{u2} S _inst_12))) (MonoidHom.{u1, u2} R S (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u2} S (NonAssocSemiring.toMulZeroOneClass.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))))) (MonoidHom.monoidHomClass.{u1, u2} R S (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u2} S (NonAssocSemiring.toMulZeroOneClass.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))))) ((fun (a : Sort.{max (succ u1) (succ u2)}) (b : Sort.{max (succ u2) (succ u1)}) [self : HasLiftT.{max (succ u1) (succ u2), max (succ u2) (succ u1)} a b] => self.0) (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))) (MonoidHom.{u1, u2} R S (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u2} S (NonAssocSemiring.toMulZeroOneClass.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))))) (HasLiftT.mk.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))) (MonoidHom.{u1, u2} R S (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u2} S (NonAssocSemiring.toMulZeroOneClass.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))))) (CoeTCₓ.coe.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))) (MonoidHom.{u1, u2} R S (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u2} S (NonAssocSemiring.toMulZeroOneClass.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))))) (MonoidHom.hasCoeT.{u1, u2, max u1 u2} R S (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u2} S (NonAssocSemiring.toMulZeroOneClass.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12))))) (RingHomClass.toMonoidHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))) R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12))) (RingHom.ringHomClass.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))))))) f) M))) (IsLocalization.map.{u1, u1, u2, u2} R (CommRing.toCommSemiring.{u1} R _inst_11) M (Localization.{u1} R (CommRing.toCommMonoid.{u1} R _inst_11) M) (Localization.commSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_11) M) (Localization.algebra.{u1, u1} R (CommRing.toCommSemiring.{u1} R _inst_11) M R (CommRing.toCommSemiring.{u1} R _inst_11) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_11))) S (CommRing.toCommSemiring.{u2} S _inst_12) (Localization.isLocalization.{u1} R (CommRing.toCommSemiring.{u1} R _inst_11) M) (Submonoid.map.{u1, u2, max u2 u1} R S (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u2} S (NonAssocSemiring.toMulZeroOneClass.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12))))) (MonoidHom.{u1, u2} R S (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u2} S (NonAssocSemiring.toMulZeroOneClass.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))))) (MonoidHom.monoidHomClass.{u1, u2} R S (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u2} S (NonAssocSemiring.toMulZeroOneClass.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))))) ((fun (a : Sort.{max (succ u1) (succ u2)}) (b : Sort.{max (succ u2) (succ u1)}) [self : HasLiftT.{max (succ u1) (succ u2), max (succ u2) (succ u1)} a b] => self.0) (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))) (MonoidHom.{u1, u2} R S (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u2} S (NonAssocSemiring.toMulZeroOneClass.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))))) (HasLiftT.mk.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))) (MonoidHom.{u1, u2} R S (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u2} S (NonAssocSemiring.toMulZeroOneClass.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))))) (CoeTCₓ.coe.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))) (MonoidHom.{u1, u2} R S (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u2} S (NonAssocSemiring.toMulZeroOneClass.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))))) (MonoidHom.hasCoeT.{u1, u2, max u1 u2} R S (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u2} S (NonAssocSemiring.toMulZeroOneClass.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12))))) (RingHomClass.toMonoidHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))) R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12))) (RingHom.ringHomClass.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))))))) f) M) (Localization.{u2} S (CommRing.toCommMonoid.{u2} S _inst_12) (Submonoid.map.{u1, u2, max u2 u1} R S (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))))) (Monoid.toMulOneClass.{u2} S (CommMonoid.toMonoid.{u2} S (CommRing.toCommMonoid.{u2} S _inst_12))) (MonoidHom.{u1, u2} R S (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u2} S (NonAssocSemiring.toMulZeroOneClass.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))))) (MonoidHom.monoidHomClass.{u1, u2} R S (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u2} S (NonAssocSemiring.toMulZeroOneClass.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))))) ((fun (a : Sort.{max (succ u1) (succ u2)}) (b : Sort.{max (succ u2) (succ u1)}) [self : HasLiftT.{max (succ u1) (succ u2), max (succ u2) (succ u1)} a b] => self.0) (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))) (MonoidHom.{u1, u2} R S (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u2} S (NonAssocSemiring.toMulZeroOneClass.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))))) (HasLiftT.mk.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))) (MonoidHom.{u1, u2} R S (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u2} S (NonAssocSemiring.toMulZeroOneClass.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))))) (CoeTCₓ.coe.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))) (MonoidHom.{u1, u2} R S (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u2} S (NonAssocSemiring.toMulZeroOneClass.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))))) (MonoidHom.hasCoeT.{u1, u2, max u1 u2} R S (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u2} S (NonAssocSemiring.toMulZeroOneClass.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12))))) (RingHomClass.toMonoidHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))) R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12))) (RingHom.ringHomClass.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))))))) f) M)) (Localization.commSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_12) (Submonoid.map.{u1, u2, max u2 u1} R S (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))))) (Monoid.toMulOneClass.{u2} S (CommMonoid.toMonoid.{u2} S (CommRing.toCommMonoid.{u2} S _inst_12))) (MonoidHom.{u1, u2} R S (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u2} S (NonAssocSemiring.toMulZeroOneClass.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))))) (MonoidHom.monoidHomClass.{u1, u2} R S (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u2} S (NonAssocSemiring.toMulZeroOneClass.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))))) ((fun (a : Sort.{max (succ u1) (succ u2)}) (b : Sort.{max (succ u2) (succ u1)}) [self : HasLiftT.{max (succ u1) (succ u2), max (succ u2) (succ u1)} a b] => self.0) (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))) (MonoidHom.{u1, u2} R S (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u2} S (NonAssocSemiring.toMulZeroOneClass.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))))) (HasLiftT.mk.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))) (MonoidHom.{u1, u2} R S (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u2} S (NonAssocSemiring.toMulZeroOneClass.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))))) (CoeTCₓ.coe.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))) (MonoidHom.{u1, u2} R S (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u2} S (NonAssocSemiring.toMulZeroOneClass.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))))) (MonoidHom.hasCoeT.{u1, u2, max u1 u2} R S (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u2} S (NonAssocSemiring.toMulZeroOneClass.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12))))) (RingHomClass.toMonoidHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))) R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12))) (RingHom.ringHomClass.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))))))) f) M)) (Localization.algebra.{u2, u2} S (CommRing.toCommSemiring.{u2} S _inst_12) (Submonoid.map.{u1, u2, max u2 u1} R S (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))))) (Monoid.toMulOneClass.{u2} S (CommMonoid.toMonoid.{u2} S (CommRing.toCommMonoid.{u2} S _inst_12))) (MonoidHom.{u1, u2} R S (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u2} S (NonAssocSemiring.toMulZeroOneClass.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))))) (MonoidHom.monoidHomClass.{u1, u2} R S (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u2} S (NonAssocSemiring.toMulZeroOneClass.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))))) ((fun (a : Sort.{max (succ u1) (succ u2)}) (b : Sort.{max (succ u2) (succ u1)}) [self : HasLiftT.{max (succ u1) (succ u2), max (succ u2) (succ u1)} a b] => self.0) (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))) (MonoidHom.{u1, u2} R S (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u2} S (NonAssocSemiring.toMulZeroOneClass.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))))) (HasLiftT.mk.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))) (MonoidHom.{u1, u2} R S (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u2} S (NonAssocSemiring.toMulZeroOneClass.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))))) (CoeTCₓ.coe.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))) (MonoidHom.{u1, u2} R S (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u2} S (NonAssocSemiring.toMulZeroOneClass.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))))) (MonoidHom.hasCoeT.{u1, u2, max u1 u2} R S (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u2} S (NonAssocSemiring.toMulZeroOneClass.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12))))) (RingHomClass.toMonoidHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))) R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12))) (RingHom.ringHomClass.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))))))) f) M) S (CommRing.toCommSemiring.{u2} S _inst_12) (Algebra.id.{u2} S (CommRing.toCommSemiring.{u2} S _inst_12))) (Localization.isLocalization.{u2} S (CommRing.toCommSemiring.{u2} S _inst_12) (Submonoid.map.{u1, u2, max u2 u1} R S (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u2} S (NonAssocSemiring.toMulZeroOneClass.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12))))) (MonoidHom.{u1, u2} R S (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u2} S (NonAssocSemiring.toMulZeroOneClass.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))))) (MonoidHom.monoidHomClass.{u1, u2} R S (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u2} S (NonAssocSemiring.toMulZeroOneClass.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))))) ((fun (a : Sort.{max (succ u1) (succ u2)}) (b : Sort.{max (succ u2) (succ u1)}) [self : HasLiftT.{max (succ u1) (succ u2), max (succ u2) (succ u1)} a b] => self.0) (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))) (MonoidHom.{u1, u2} R S (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u2} S (NonAssocSemiring.toMulZeroOneClass.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))))) (HasLiftT.mk.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))) (MonoidHom.{u1, u2} R S (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u2} S (NonAssocSemiring.toMulZeroOneClass.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))))) (CoeTCₓ.coe.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))) (MonoidHom.{u1, u2} R S (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u2} S (NonAssocSemiring.toMulZeroOneClass.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))))) (MonoidHom.hasCoeT.{u1, u2, max u1 u2} R S (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u2} S (NonAssocSemiring.toMulZeroOneClass.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12))))) (RingHomClass.toMonoidHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))) R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12))) (RingHom.ringHomClass.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))))))) f) M)) f (Submonoid.le_comap_map.{u1, u2, max u2 u1} R S (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u2} S (NonAssocSemiring.toMulZeroOneClass.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12))))) M (MonoidHom.{u1, u2} R S (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u2} S (NonAssocSemiring.toMulZeroOneClass.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))))) (MonoidHom.monoidHomClass.{u1, u2} R S (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u2} S (NonAssocSemiring.toMulZeroOneClass.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))))) ((fun (a : Sort.{max (succ u1) (succ u2)}) (b : Sort.{max (succ u2) (succ u1)}) [self : HasLiftT.{max (succ u1) (succ u2), max (succ u2) (succ u1)} a b] => self.0) (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))) (MonoidHom.{u1, u2} R S (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u2} S (NonAssocSemiring.toMulZeroOneClass.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))))) (HasLiftT.mk.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))) (MonoidHom.{u1, u2} R S (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u2} S (NonAssocSemiring.toMulZeroOneClass.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))))) (CoeTCₓ.coe.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))) (MonoidHom.{u1, u2} R S (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u2} S (NonAssocSemiring.toMulZeroOneClass.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))))) (MonoidHom.hasCoeT.{u1, u2, max u1 u2} R S (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))) (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u2} S (NonAssocSemiring.toMulZeroOneClass.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12))))) (RingHomClass.toMonoidHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))) R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12))) (RingHom.ringHomClass.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_11))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_12)))))))) f))))
+but is expected to have type
+  forall {R : Type.{u2}} {S : Type.{u1}} [_inst_11 : CommRing.{u2} R] [_inst_12 : CommRing.{u1} S] {f : RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_11))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_12)))}, (RingHom.IsIntegral.{u2, u1} R S _inst_11 (CommRing.toRing.{u1} S _inst_12) f) -> (forall (M : Submonoid.{u2} R (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_11)))))), RingHom.IsIntegral.{u2, u1} (Localization.{u2} R (CommRing.toCommMonoid.{u2} R _inst_11) M) (Localization.{u1} S (CommRing.toCommMonoid.{u1} S _inst_12) (Submonoid.map.{u2, u1, max u2 u1} R S (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_11))))) (Monoid.toMulOneClass.{u1} S (CommMonoid.toMonoid.{u1} S (CommRing.toCommMonoid.{u1} S _inst_12))) (MonoidHom.{u2, u1} R S (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u1} S (NonAssocSemiring.toMulZeroOneClass.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_12)))))) (MonoidHom.monoidHomClass.{u2, u1} R S (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u1} S (NonAssocSemiring.toMulZeroOneClass.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_12)))))) (MonoidHomClass.toMonoidHom.{u2, u1, max u2 u1} R S (RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_11))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_12)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u1} S (NonAssocSemiring.toMulZeroOneClass.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_12))))) (RingHomClass.toMonoidHomClass.{max u2 u1, u2, u1} (RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_11))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_12)))) R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_11))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_12))) (RingHom.instRingHomClassRingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_11))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_12))))) f) M)) (Localization.instCommRingLocalizationToCommMonoid.{u2} R _inst_11 M) (CommRing.toRing.{u1} (Localization.{u1} S (CommRing.toCommMonoid.{u1} S _inst_12) (Submonoid.map.{u2, u1, max u2 u1} R S (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_11))))) (Monoid.toMulOneClass.{u1} S (CommMonoid.toMonoid.{u1} S (CommRing.toCommMonoid.{u1} S _inst_12))) (MonoidHom.{u2, u1} R S (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u1} S (NonAssocSemiring.toMulZeroOneClass.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_12)))))) (MonoidHom.monoidHomClass.{u2, u1} R S (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u1} S (NonAssocSemiring.toMulZeroOneClass.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_12)))))) (MonoidHomClass.toMonoidHom.{u2, u1, max u2 u1} R S (RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_11))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_12)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u1} S (NonAssocSemiring.toMulZeroOneClass.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_12))))) (RingHomClass.toMonoidHomClass.{max u2 u1, u2, u1} (RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_11))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_12)))) R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_11))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_12))) (RingHom.instRingHomClassRingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_11))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_12))))) f) M)) (Localization.instCommRingLocalizationToCommMonoid.{u1} S _inst_12 (Submonoid.map.{u2, u1, max u2 u1} R S (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_11))))) (Monoid.toMulOneClass.{u1} S (CommMonoid.toMonoid.{u1} S (CommRing.toCommMonoid.{u1} S _inst_12))) (MonoidHom.{u2, u1} R S (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u1} S (NonAssocSemiring.toMulZeroOneClass.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_12)))))) (MonoidHom.monoidHomClass.{u2, u1} R S (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u1} S (NonAssocSemiring.toMulZeroOneClass.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_12)))))) (MonoidHomClass.toMonoidHom.{u2, u1, max u2 u1} R S (RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_11))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_12)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u1} S (NonAssocSemiring.toMulZeroOneClass.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_12))))) (RingHomClass.toMonoidHomClass.{max u2 u1, u2, u1} (RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_11))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_12)))) R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_11))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_12))) (RingHom.instRingHomClassRingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_11))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_12))))) f) M))) (IsLocalization.map.{u2, u2, u1, u1} R (CommRing.toCommSemiring.{u2} R _inst_11) M (Localization.{u2} R (CommRing.toCommMonoid.{u2} R _inst_11) M) (Localization.instCommSemiringLocalizationToCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_11) M) (Localization.instAlgebraLocalizationToCommMonoidToSemiringInstCommSemiringLocalizationToCommMonoid.{u2, u2} R (CommRing.toCommSemiring.{u2} R _inst_11) M R (CommRing.toCommSemiring.{u2} R _inst_11) (Algebra.id.{u2} R (CommRing.toCommSemiring.{u2} R _inst_11))) S (CommRing.toCommSemiring.{u1} S _inst_12) (Localization.isLocalization.{u2} R (CommRing.toCommSemiring.{u2} R _inst_11) M) (Submonoid.map.{u2, u1, max u2 u1} R S (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u1} S (NonAssocSemiring.toMulZeroOneClass.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_12))))) (MonoidHom.{u2, u1} R S (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u1} S (NonAssocSemiring.toMulZeroOneClass.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_12)))))) (MonoidHom.monoidHomClass.{u2, u1} R S (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u1} S (NonAssocSemiring.toMulZeroOneClass.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_12)))))) (MonoidHomClass.toMonoidHom.{u2, u1, max u2 u1} R S (RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_11))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_12)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u1} S (NonAssocSemiring.toMulZeroOneClass.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_12))))) (RingHomClass.toMonoidHomClass.{max u2 u1, u2, u1} (RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_11))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_12)))) R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_11))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_12))) (RingHom.instRingHomClassRingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_11))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_12))))) f) M) (Localization.{u1} S (CommRing.toCommMonoid.{u1} S _inst_12) (Submonoid.map.{u2, u1, max u2 u1} R S (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_11))))) (Monoid.toMulOneClass.{u1} S (CommMonoid.toMonoid.{u1} S (CommRing.toCommMonoid.{u1} S _inst_12))) (MonoidHom.{u2, u1} R S (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u1} S (NonAssocSemiring.toMulZeroOneClass.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_12)))))) (MonoidHom.monoidHomClass.{u2, u1} R S (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u1} S (NonAssocSemiring.toMulZeroOneClass.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_12)))))) (MonoidHomClass.toMonoidHom.{u2, u1, max u2 u1} R S (RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_11))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_12)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u1} S (NonAssocSemiring.toMulZeroOneClass.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_12))))) (RingHomClass.toMonoidHomClass.{max u2 u1, u2, u1} (RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_11))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_12)))) R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_11))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_12))) (RingHom.instRingHomClassRingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_11))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_12))))) f) M)) (Localization.instCommSemiringLocalizationToCommMonoid.{u1} S (CommRing.toCommSemiring.{u1} S _inst_12) (Submonoid.map.{u2, u1, max u2 u1} R S (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_11))))) (Monoid.toMulOneClass.{u1} S (CommMonoid.toMonoid.{u1} S (CommRing.toCommMonoid.{u1} S _inst_12))) (MonoidHom.{u2, u1} R S (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u1} S (NonAssocSemiring.toMulZeroOneClass.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_12)))))) (MonoidHom.monoidHomClass.{u2, u1} R S (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u1} S (NonAssocSemiring.toMulZeroOneClass.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_12)))))) (MonoidHomClass.toMonoidHom.{u2, u1, max u2 u1} R S (RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_11))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_12)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u1} S (NonAssocSemiring.toMulZeroOneClass.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_12))))) (RingHomClass.toMonoidHomClass.{max u2 u1, u2, u1} (RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_11))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_12)))) R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_11))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_12))) (RingHom.instRingHomClassRingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_11))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_12))))) f) M)) (Localization.instAlgebraLocalizationToCommMonoidToSemiringInstCommSemiringLocalizationToCommMonoid.{u1, u1} S (CommRing.toCommSemiring.{u1} S _inst_12) (Submonoid.map.{u2, u1, max u2 u1} R S (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_11))))) (Monoid.toMulOneClass.{u1} S (CommMonoid.toMonoid.{u1} S (CommRing.toCommMonoid.{u1} S _inst_12))) (MonoidHom.{u2, u1} R S (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u1} S (NonAssocSemiring.toMulZeroOneClass.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_12)))))) (MonoidHom.monoidHomClass.{u2, u1} R S (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u1} S (NonAssocSemiring.toMulZeroOneClass.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_12)))))) (MonoidHomClass.toMonoidHom.{u2, u1, max u2 u1} R S (RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_11))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_12)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u1} S (NonAssocSemiring.toMulZeroOneClass.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_12))))) (RingHomClass.toMonoidHomClass.{max u2 u1, u2, u1} (RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_11))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_12)))) R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_11))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_12))) (RingHom.instRingHomClassRingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_11))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_12))))) f) M) S (CommRing.toCommSemiring.{u1} S _inst_12) (Algebra.id.{u1} S (CommRing.toCommSemiring.{u1} S _inst_12))) (Localization.isLocalization.{u1} S (CommRing.toCommSemiring.{u1} S _inst_12) (Submonoid.map.{u2, u1, max u2 u1} R S (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u1} S (NonAssocSemiring.toMulZeroOneClass.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_12))))) (MonoidHom.{u2, u1} R S (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u1} S (NonAssocSemiring.toMulZeroOneClass.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_12)))))) (MonoidHom.monoidHomClass.{u2, u1} R S (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u1} S (NonAssocSemiring.toMulZeroOneClass.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_12)))))) (MonoidHomClass.toMonoidHom.{u2, u1, max u2 u1} R S (RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_11))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_12)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u1} S (NonAssocSemiring.toMulZeroOneClass.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_12))))) (RingHomClass.toMonoidHomClass.{max u2 u1, u2, u1} (RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_11))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_12)))) R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_11))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_12))) (RingHom.instRingHomClassRingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_11))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_12))))) f) M)) f (Submonoid.le_comap_map.{max u2 u1, u1, u2} R S (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u1} S (NonAssocSemiring.toMulZeroOneClass.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_12))))) M (MonoidHom.{u2, u1} R S (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u1} S (NonAssocSemiring.toMulZeroOneClass.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_12)))))) (MonoidHom.monoidHomClass.{u2, u1} R S (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u1} S (NonAssocSemiring.toMulZeroOneClass.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_12)))))) (MonoidHomClass.toMonoidHom.{u2, u1, max u2 u1} R S (RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_11))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_12)))) (MulZeroOneClass.toMulOneClass.{u2} R (NonAssocSemiring.toMulZeroOneClass.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_11))))) (MulZeroOneClass.toMulOneClass.{u1} S (NonAssocSemiring.toMulZeroOneClass.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_12))))) (RingHomClass.toMonoidHomClass.{max u2 u1, u2, u1} (RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_11))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_12)))) R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_11))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_12))) (RingHom.instRingHomClassRingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_11))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_12))))) f))))
+Case conversion may be inaccurate. Consider using '#align is_integral_localization' isIntegral_localization'ₓ'. -/
 theorem isIntegral_localization' {R S : Type _} [CommRing R] [CommRing S] {f : R →+* S}
     (hf : f.IsIntegral) (M : Submonoid R) :
     (map (Localization (M.map (f : R →* S))) f
@@ -262,6 +342,12 @@ theorem isIntegral_localization' {R S : Type _} [CommRing R] [CommRing S] {f : R
 
 variable (M)
 
+/- warning: is_localization.scale_roots_common_denom_mem_lifts -> IsLocalization.scaleRoots_commonDenom_mem_lifts is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] (M : Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) {Rₘ : Type.{u2}} [_inst_5 : CommRing.{u2} Rₘ] [_inst_7 : Algebra.{u1, u2} R Rₘ (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} Rₘ (CommRing.toRing.{u2} Rₘ _inst_5))] [_inst_8 : IsLocalization.{u1, u2} R (CommRing.toCommSemiring.{u1} R _inst_1) M Rₘ (CommRing.toCommSemiring.{u2} Rₘ _inst_5) _inst_7] (p : Polynomial.{u2} Rₘ (Ring.toSemiring.{u2} Rₘ (CommRing.toRing.{u2} Rₘ _inst_5))), (Membership.Mem.{u2, u2} Rₘ (Subring.{u2} Rₘ (CommRing.toRing.{u2} Rₘ _inst_5)) (SetLike.hasMem.{u2, u2} (Subring.{u2} Rₘ (CommRing.toRing.{u2} Rₘ _inst_5)) Rₘ (Subring.setLike.{u2} Rₘ (CommRing.toRing.{u2} Rₘ _inst_5))) (Polynomial.leadingCoeff.{u2} Rₘ (Ring.toSemiring.{u2} Rₘ (CommRing.toRing.{u2} Rₘ _inst_5)) p) (RingHom.range.{u1, u2} R Rₘ (CommRing.toRing.{u1} R _inst_1) (CommRing.toRing.{u2} Rₘ _inst_5) (algebraMap.{u1, u2} R Rₘ (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} Rₘ (CommRing.toRing.{u2} Rₘ _inst_5)) _inst_7))) -> (Membership.Mem.{u2, u2} (Polynomial.{u2} Rₘ (Ring.toSemiring.{u2} Rₘ (CommRing.toRing.{u2} Rₘ _inst_5))) (Subsemiring.{u2} (Polynomial.{u2} Rₘ (Ring.toSemiring.{u2} Rₘ (CommRing.toRing.{u2} Rₘ _inst_5))) (Semiring.toNonAssocSemiring.{u2} (Polynomial.{u2} Rₘ (Ring.toSemiring.{u2} Rₘ (CommRing.toRing.{u2} Rₘ _inst_5))) (Polynomial.semiring.{u2} Rₘ (Ring.toSemiring.{u2} Rₘ (CommRing.toRing.{u2} Rₘ _inst_5))))) (SetLike.hasMem.{u2, u2} (Subsemiring.{u2} (Polynomial.{u2} Rₘ (Ring.toSemiring.{u2} Rₘ (CommRing.toRing.{u2} Rₘ _inst_5))) (Semiring.toNonAssocSemiring.{u2} (Polynomial.{u2} Rₘ (Ring.toSemiring.{u2} Rₘ (CommRing.toRing.{u2} Rₘ _inst_5))) (Polynomial.semiring.{u2} Rₘ (Ring.toSemiring.{u2} Rₘ (CommRing.toRing.{u2} Rₘ _inst_5))))) (Polynomial.{u2} Rₘ (Ring.toSemiring.{u2} Rₘ (CommRing.toRing.{u2} Rₘ _inst_5))) (Subsemiring.setLike.{u2} (Polynomial.{u2} Rₘ (Ring.toSemiring.{u2} Rₘ (CommRing.toRing.{u2} Rₘ _inst_5))) (Semiring.toNonAssocSemiring.{u2} (Polynomial.{u2} Rₘ (Ring.toSemiring.{u2} Rₘ (CommRing.toRing.{u2} Rₘ _inst_5))) (Polynomial.semiring.{u2} Rₘ (Ring.toSemiring.{u2} Rₘ (CommRing.toRing.{u2} Rₘ _inst_5)))))) (Polynomial.scaleRoots.{u2} Rₘ _inst_5 p (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R Rₘ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} Rₘ (Ring.toSemiring.{u2} Rₘ (CommRing.toRing.{u2} Rₘ _inst_5)))) (fun (_x : RingHom.{u1, u2} R Rₘ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} Rₘ (Ring.toSemiring.{u2} Rₘ (CommRing.toRing.{u2} Rₘ _inst_5)))) => R -> Rₘ) (RingHom.hasCoeToFun.{u1, u2} R Rₘ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} Rₘ (Ring.toSemiring.{u2} Rₘ (CommRing.toRing.{u2} Rₘ _inst_5)))) (algebraMap.{u1, u2} R Rₘ (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} Rₘ (CommRing.toRing.{u2} Rₘ _inst_5)) _inst_7) ((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 (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) R (Submonoid.setLike.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) M) R (HasLiftT.mk.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) R (Submonoid.setLike.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) M) R (CoeTCₓ.coe.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) R (Submonoid.setLike.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) M) R (coeBase.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) R (Submonoid.setLike.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) M) R (coeSubtype.{succ u1} R (fun (x : R) => Membership.Mem.{u1, u1} R (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (SetLike.hasMem.{u1, u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) R (Submonoid.setLike.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) x M))))) (IsLocalization.commonDenom.{u1, u2, 0} R _inst_1 M Rₘ _inst_5 _inst_7 _inst_8 Nat (Polynomial.support.{u2} Rₘ (Ring.toSemiring.{u2} Rₘ (CommRing.toRing.{u2} Rₘ _inst_5)) p) (Polynomial.coeff.{u2} Rₘ (Ring.toSemiring.{u2} Rₘ (CommRing.toRing.{u2} Rₘ _inst_5)) p))))) (Polynomial.lifts.{u1, u2} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) Rₘ (Ring.toSemiring.{u2} Rₘ (CommRing.toRing.{u2} Rₘ _inst_5)) (algebraMap.{u1, u2} R Rₘ (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} Rₘ (CommRing.toRing.{u2} Rₘ _inst_5)) _inst_7)))
+but is expected to have type
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] (M : Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) {Rₘ : Type.{u2}} [_inst_5 : CommRing.{u2} Rₘ] [_inst_7 : Algebra.{u1, u2} R Rₘ (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} Rₘ (CommRing.toCommSemiring.{u2} Rₘ _inst_5))] [_inst_8 : IsLocalization.{u1, u2} R (CommRing.toCommSemiring.{u1} R _inst_1) M Rₘ (CommRing.toCommSemiring.{u2} Rₘ _inst_5) _inst_7] (p : Polynomial.{u2} Rₘ (CommSemiring.toSemiring.{u2} Rₘ (CommRing.toCommSemiring.{u2} Rₘ _inst_5))), (Membership.mem.{u2, u2} Rₘ (Subring.{u2} Rₘ (CommRing.toRing.{u2} Rₘ _inst_5)) (SetLike.instMembership.{u2, u2} (Subring.{u2} Rₘ (CommRing.toRing.{u2} Rₘ _inst_5)) Rₘ (Subring.instSetLikeSubring.{u2} Rₘ (CommRing.toRing.{u2} Rₘ _inst_5))) (Polynomial.leadingCoeff.{u2} Rₘ (CommSemiring.toSemiring.{u2} Rₘ (CommRing.toCommSemiring.{u2} Rₘ _inst_5)) p) (RingHom.range.{u1, u2} R Rₘ (CommRing.toRing.{u1} R _inst_1) (CommRing.toRing.{u2} Rₘ _inst_5) (algebraMap.{u1, u2} R Rₘ (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} Rₘ (CommRing.toCommSemiring.{u2} Rₘ _inst_5)) _inst_7))) -> (Membership.mem.{u2, u2} (Polynomial.{u2} Rₘ (CommSemiring.toSemiring.{u2} Rₘ (CommRing.toCommSemiring.{u2} Rₘ _inst_5))) (Subsemiring.{u2} (Polynomial.{u2} Rₘ (CommSemiring.toSemiring.{u2} Rₘ (CommRing.toCommSemiring.{u2} Rₘ _inst_5))) (Semiring.toNonAssocSemiring.{u2} (Polynomial.{u2} Rₘ (CommSemiring.toSemiring.{u2} Rₘ (CommRing.toCommSemiring.{u2} Rₘ _inst_5))) (Polynomial.semiring.{u2} Rₘ (CommSemiring.toSemiring.{u2} Rₘ (CommRing.toCommSemiring.{u2} Rₘ _inst_5))))) (SetLike.instMembership.{u2, u2} (Subsemiring.{u2} (Polynomial.{u2} Rₘ (CommSemiring.toSemiring.{u2} Rₘ (CommRing.toCommSemiring.{u2} Rₘ _inst_5))) (Semiring.toNonAssocSemiring.{u2} (Polynomial.{u2} Rₘ (CommSemiring.toSemiring.{u2} Rₘ (CommRing.toCommSemiring.{u2} Rₘ _inst_5))) (Polynomial.semiring.{u2} Rₘ (CommSemiring.toSemiring.{u2} Rₘ (CommRing.toCommSemiring.{u2} Rₘ _inst_5))))) (Polynomial.{u2} Rₘ (CommSemiring.toSemiring.{u2} Rₘ (CommRing.toCommSemiring.{u2} Rₘ _inst_5))) (Subsemiring.instSetLikeSubsemiring.{u2} (Polynomial.{u2} Rₘ (CommSemiring.toSemiring.{u2} Rₘ (CommRing.toCommSemiring.{u2} Rₘ _inst_5))) (Semiring.toNonAssocSemiring.{u2} (Polynomial.{u2} Rₘ (CommSemiring.toSemiring.{u2} Rₘ (CommRing.toCommSemiring.{u2} Rₘ _inst_5))) (Polynomial.semiring.{u2} Rₘ (CommSemiring.toSemiring.{u2} Rₘ (CommRing.toCommSemiring.{u2} Rₘ _inst_5)))))) (Polynomial.scaleRoots.{u2} Rₘ _inst_5 p (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (RingHom.{u1, u2} R Rₘ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} Rₘ (CommSemiring.toSemiring.{u2} Rₘ (CommRing.toCommSemiring.{u2} Rₘ _inst_5)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => Rₘ) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (RingHom.{u1, u2} R Rₘ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} Rₘ (CommSemiring.toSemiring.{u2} Rₘ (CommRing.toCommSemiring.{u2} Rₘ _inst_5)))) R Rₘ (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (NonUnitalNonAssocSemiring.toMul.{u2} Rₘ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} Rₘ (Semiring.toNonAssocSemiring.{u2} Rₘ (CommSemiring.toSemiring.{u2} Rₘ (CommRing.toCommSemiring.{u2} Rₘ _inst_5))))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R Rₘ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} Rₘ (CommSemiring.toSemiring.{u2} Rₘ (CommRing.toCommSemiring.{u2} Rₘ _inst_5)))) R Rₘ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} Rₘ (Semiring.toNonAssocSemiring.{u2} Rₘ (CommSemiring.toSemiring.{u2} Rₘ (CommRing.toCommSemiring.{u2} Rₘ _inst_5)))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R Rₘ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} Rₘ (CommSemiring.toSemiring.{u2} Rₘ (CommRing.toCommSemiring.{u2} Rₘ _inst_5)))) R Rₘ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} Rₘ (CommSemiring.toSemiring.{u2} Rₘ (CommRing.toCommSemiring.{u2} Rₘ _inst_5))) (RingHom.instRingHomClassRingHom.{u1, u2} R Rₘ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} Rₘ (CommSemiring.toSemiring.{u2} Rₘ (CommRing.toCommSemiring.{u2} Rₘ _inst_5))))))) (algebraMap.{u1, u2} R Rₘ (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} Rₘ (CommRing.toCommSemiring.{u2} Rₘ _inst_5)) _inst_7) (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 (CommRing.toCommSemiring.{u1} R _inst_1)))))) R (Submonoid.instSetLikeSubmonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) M)) (IsLocalization.commonDenom.{u1, u2, 0} R _inst_1 M Rₘ _inst_5 _inst_7 _inst_8 Nat (Polynomial.support.{u2} Rₘ (CommSemiring.toSemiring.{u2} Rₘ (CommRing.toCommSemiring.{u2} Rₘ _inst_5)) p) (Polynomial.coeff.{u2} Rₘ (CommSemiring.toSemiring.{u2} Rₘ (CommRing.toCommSemiring.{u2} Rₘ _inst_5)) p))))) (Polynomial.lifts.{u1, u2} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) Rₘ (CommSemiring.toSemiring.{u2} Rₘ (CommRing.toCommSemiring.{u2} Rₘ _inst_5)) (algebraMap.{u1, u2} R Rₘ (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} Rₘ (CommRing.toCommSemiring.{u2} Rₘ _inst_5)) _inst_7)))
+Case conversion may be inaccurate. Consider using '#align is_localization.scale_roots_common_denom_mem_lifts IsLocalization.scaleRoots_commonDenom_mem_liftsₓ'. -/
 theorem IsLocalization.scaleRoots_commonDenom_mem_lifts (p : Rₘ[X])
     (hp : p.leadingCoeff ∈ (algebraMap R Rₘ).range) :
     p.scaleRoots (algebraMap R Rₘ <| IsLocalization.commonDenom M p.support p.coeff) ∈
@@ -286,6 +372,12 @@ theorem IsLocalization.scaleRoots_commonDenom_mem_lifts (p : Rₘ[X])
     exact zero_mem (algebraMap R Rₘ).range
 #align is_localization.scale_roots_common_denom_mem_lifts IsLocalization.scaleRoots_commonDenom_mem_lifts
 
+/- warning: is_integral.exists_multiple_integral_of_is_localization -> IsIntegral.exists_multiple_integral_of_isLocalization is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] (M : Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) {S : Type.{u2}} [_inst_2 : CommRing.{u2} S] [_inst_3 : Algebra.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))] {Rₘ : Type.{u3}} [_inst_5 : CommRing.{u3} Rₘ] [_inst_7 : Algebra.{u1, u3} R Rₘ (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u3} Rₘ (CommRing.toRing.{u3} Rₘ _inst_5))] [_inst_8 : IsLocalization.{u1, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M Rₘ (CommRing.toCommSemiring.{u3} Rₘ _inst_5) _inst_7] [_inst_11 : Algebra.{u3, u2} Rₘ S (CommRing.toCommSemiring.{u3} Rₘ _inst_5) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))] [_inst_12 : IsScalarTower.{u1, u3, u2} R Rₘ S (SMulZeroClass.toHasSmul.{u1, u3} R Rₘ (AddZeroClass.toHasZero.{u3} Rₘ (AddMonoid.toAddZeroClass.{u3} Rₘ (AddCommMonoid.toAddMonoid.{u3} Rₘ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} Rₘ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} Rₘ (Semiring.toNonAssocSemiring.{u3} Rₘ (Ring.toSemiring.{u3} Rₘ (CommRing.toRing.{u3} Rₘ _inst_5)))))))) (SMulWithZero.toSmulZeroClass.{u1, u3} R Rₘ (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u3} Rₘ (AddMonoid.toAddZeroClass.{u3} Rₘ (AddCommMonoid.toAddMonoid.{u3} Rₘ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} Rₘ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} Rₘ (Semiring.toNonAssocSemiring.{u3} Rₘ (Ring.toSemiring.{u3} Rₘ (CommRing.toRing.{u3} Rₘ _inst_5)))))))) (MulActionWithZero.toSMulWithZero.{u1, u3} R Rₘ (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u3} Rₘ (AddMonoid.toAddZeroClass.{u3} Rₘ (AddCommMonoid.toAddMonoid.{u3} Rₘ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} Rₘ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} Rₘ (Semiring.toNonAssocSemiring.{u3} Rₘ (Ring.toSemiring.{u3} Rₘ (CommRing.toRing.{u3} Rₘ _inst_5)))))))) (Module.toMulActionWithZero.{u1, u3} R Rₘ (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} Rₘ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} Rₘ (Semiring.toNonAssocSemiring.{u3} Rₘ (Ring.toSemiring.{u3} Rₘ (CommRing.toRing.{u3} Rₘ _inst_5))))) (Algebra.toModule.{u1, u3} R Rₘ (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u3} Rₘ (CommRing.toRing.{u3} Rₘ _inst_5)) _inst_7))))) (SMulZeroClass.toHasSmul.{u3, u2} Rₘ S (AddZeroClass.toHasZero.{u2} S (AddMonoid.toAddZeroClass.{u2} S (AddCommMonoid.toAddMonoid.{u2} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)))))))) (SMulWithZero.toSmulZeroClass.{u3, u2} Rₘ S (MulZeroClass.toHasZero.{u3} Rₘ (MulZeroOneClass.toMulZeroClass.{u3} Rₘ (MonoidWithZero.toMulZeroOneClass.{u3} Rₘ (Semiring.toMonoidWithZero.{u3} Rₘ (CommSemiring.toSemiring.{u3} Rₘ (CommRing.toCommSemiring.{u3} Rₘ _inst_5)))))) (AddZeroClass.toHasZero.{u2} S (AddMonoid.toAddZeroClass.{u2} S (AddCommMonoid.toAddMonoid.{u2} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)))))))) (MulActionWithZero.toSMulWithZero.{u3, u2} Rₘ S (Semiring.toMonoidWithZero.{u3} Rₘ (CommSemiring.toSemiring.{u3} Rₘ (CommRing.toCommSemiring.{u3} Rₘ _inst_5))) (AddZeroClass.toHasZero.{u2} S (AddMonoid.toAddZeroClass.{u2} S (AddCommMonoid.toAddMonoid.{u2} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)))))))) (Module.toMulActionWithZero.{u3, u2} Rₘ S (CommSemiring.toSemiring.{u3} Rₘ (CommRing.toCommSemiring.{u3} Rₘ _inst_5)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))))) (Algebra.toModule.{u3, u2} Rₘ S (CommRing.toCommSemiring.{u3} Rₘ _inst_5) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) _inst_11))))) (SMulZeroClass.toHasSmul.{u1, u2} R S (AddZeroClass.toHasZero.{u2} S (AddMonoid.toAddZeroClass.{u2} S (AddCommMonoid.toAddMonoid.{u2} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)))))))) (SMulWithZero.toSmulZeroClass.{u1, u2} R S (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u2} S (AddMonoid.toAddZeroClass.{u2} S (AddCommMonoid.toAddMonoid.{u2} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)))))))) (MulActionWithZero.toSMulWithZero.{u1, u2} R S (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u2} S (AddMonoid.toAddZeroClass.{u2} S (AddCommMonoid.toAddMonoid.{u2} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)))))))) (Module.toMulActionWithZero.{u1, u2} R S (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))))) (Algebra.toModule.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) _inst_3)))))] (x : S), (IsIntegral.{u3, u2} Rₘ S _inst_5 (CommRing.toRing.{u2} S _inst_2) _inst_11 x) -> (Exists.{succ u1} (coeSort.{succ u1, succ (succ u1)} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) R (Submonoid.setLike.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) M) (fun (m : coeSort.{succ u1, succ (succ u1)} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) R (Submonoid.setLike.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) M) => IsIntegral.{u1, u2} R S _inst_1 (CommRing.toRing.{u2} S _inst_2) _inst_3 (SMul.smul.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) R (Submonoid.setLike.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) M) S (Submonoid.hasSmul.{u1, u2} R S (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (SMulZeroClass.toHasSmul.{u1, u2} R S (AddZeroClass.toHasZero.{u2} S (AddMonoid.toAddZeroClass.{u2} S (AddCommMonoid.toAddMonoid.{u2} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)))))))) (SMulWithZero.toSmulZeroClass.{u1, u2} R S (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u2} S (AddMonoid.toAddZeroClass.{u2} S (AddCommMonoid.toAddMonoid.{u2} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)))))))) (MulActionWithZero.toSMulWithZero.{u1, u2} R S (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u2} S (AddMonoid.toAddZeroClass.{u2} S (AddCommMonoid.toAddMonoid.{u2} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)))))))) (Module.toMulActionWithZero.{u1, u2} R S (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))))) (Algebra.toModule.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) _inst_3))))) M) m x)))
+but is expected to have type
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] (M : Submonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) {S : Type.{u2}} [_inst_2 : CommRing.{u2} S] [_inst_3 : Algebra.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))] {Rₘ : Type.{u3}} [_inst_5 : CommRing.{u3} Rₘ] [_inst_7 : Algebra.{u1, u3} R Rₘ (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u3} Rₘ (CommRing.toCommSemiring.{u3} Rₘ _inst_5))] [_inst_8 : IsLocalization.{u1, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) M Rₘ (CommRing.toCommSemiring.{u3} Rₘ _inst_5) _inst_7] [_inst_11 : Algebra.{u3, u2} Rₘ S (CommRing.toCommSemiring.{u3} Rₘ _inst_5) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))] [_inst_12 : IsScalarTower.{u1, u3, u2} R Rₘ S (Algebra.toSMul.{u1, u3} R Rₘ (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u3} Rₘ (CommRing.toCommSemiring.{u3} Rₘ _inst_5)) _inst_7) (Algebra.toSMul.{u3, u2} Rₘ S (CommRing.toCommSemiring.{u3} Rₘ _inst_5) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) _inst_11) (Algebra.toSMul.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) _inst_3)] (x : S), (IsIntegral.{u3, u2} Rₘ S _inst_5 (CommRing.toRing.{u2} S _inst_2) _inst_11 x) -> (Exists.{succ u1} (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 (CommRing.toCommSemiring.{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 (CommRing.toCommSemiring.{u1} R _inst_1)))))) R (Submonoid.instSetLikeSubmonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))) x M)) (fun (m : 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 (CommRing.toCommSemiring.{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 (CommRing.toCommSemiring.{u1} R _inst_1)))))) R (Submonoid.instSetLikeSubmonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))) x M)) => IsIntegral.{u1, u2} R S _inst_1 (CommRing.toRing.{u2} S _inst_2) _inst_3 (HSMul.hSMul.{u1, u2, u2} (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 (CommRing.toCommSemiring.{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 (CommRing.toCommSemiring.{u1} R _inst_1)))))) R (Submonoid.instSetLikeSubmonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))) x M)) S S (instHSMul.{u1, u2} (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 (CommRing.toCommSemiring.{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 (CommRing.toCommSemiring.{u1} R _inst_1)))))) R (Submonoid.instSetLikeSubmonoid.{u1} R (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))) x M)) S (Submonoid.smul.{u1, u2} R S (MulZeroOneClass.toMulOneClass.{u1} R (NonAssocSemiring.toMulZeroOneClass.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Algebra.toSMul.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) _inst_3) M)) m x)))
+Case conversion may be inaccurate. Consider using '#align is_integral.exists_multiple_integral_of_is_localization IsIntegral.exists_multiple_integral_of_isLocalizationₓ'. -/
 theorem IsIntegral.exists_multiple_integral_of_isLocalization [Algebra Rₘ S] [IsScalarTower R Rₘ S]
     (x : S) (hx : IsIntegral Rₘ x) : ∃ m : M, IsIntegral R (m • x) :=
   by
@@ -318,6 +410,12 @@ variable [Algebra A C] [IsScalarTower A C L]
 
 open Algebra
 
+/- warning: is_integral_closure.is_fraction_ring_of_algebraic -> IsIntegralClosure.isFractionRing_of_algebraic 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))] {L : Type.{u2}} [_inst_8 : Field.{u2} L] [_inst_10 : Algebra.{u1, u2} A L (CommRing.toCommSemiring.{u1} A _inst_5) (Ring.toSemiring.{u2} L (DivisionRing.toRing.{u2} L (Field.toDivisionRing.{u2} L _inst_8)))] (C : Type.{u3}) [_inst_12 : CommRing.{u3} C] [_inst_13 : IsDomain.{u3} C (Ring.toSemiring.{u3} C (CommRing.toRing.{u3} C _inst_12))] [_inst_14 : Algebra.{u3, u2} C L (CommRing.toCommSemiring.{u3} C _inst_12) (Ring.toSemiring.{u2} L (DivisionRing.toRing.{u2} L (Field.toDivisionRing.{u2} L _inst_8)))] [_inst_15 : IsIntegralClosure.{u3, u1, u2} C A L _inst_5 (CommRing.toCommSemiring.{u3} C _inst_12) (EuclideanDomain.toCommRing.{u2} L (Field.toEuclideanDomain.{u2} L _inst_8)) _inst_10 _inst_14] [_inst_16 : Algebra.{u1, u3} A C (CommRing.toCommSemiring.{u1} A _inst_5) (Ring.toSemiring.{u3} C (CommRing.toRing.{u3} C _inst_12))] [_inst_17 : IsScalarTower.{u1, u3, u2} A C L (SMulZeroClass.toHasSmul.{u1, u3} A C (AddZeroClass.toHasZero.{u3} C (AddMonoid.toAddZeroClass.{u3} C (AddCommMonoid.toAddMonoid.{u3} C (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} C (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} C (Semiring.toNonAssocSemiring.{u3} C (Ring.toSemiring.{u3} C (CommRing.toRing.{u3} C _inst_12)))))))) (SMulWithZero.toSmulZeroClass.{u1, u3} A C (MulZeroClass.toHasZero.{u1} A (MulZeroOneClass.toMulZeroClass.{u1} A (MonoidWithZero.toMulZeroOneClass.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_5)))))) (AddZeroClass.toHasZero.{u3} C (AddMonoid.toAddZeroClass.{u3} C (AddCommMonoid.toAddMonoid.{u3} C (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} C (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} C (Semiring.toNonAssocSemiring.{u3} C (Ring.toSemiring.{u3} C (CommRing.toRing.{u3} C _inst_12)))))))) (MulActionWithZero.toSMulWithZero.{u1, u3} A C (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_5))) (AddZeroClass.toHasZero.{u3} C (AddMonoid.toAddZeroClass.{u3} C (AddCommMonoid.toAddMonoid.{u3} C (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} C (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} C (Semiring.toNonAssocSemiring.{u3} C (Ring.toSemiring.{u3} C (CommRing.toRing.{u3} C _inst_12)))))))) (Module.toMulActionWithZero.{u1, u3} A C (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_5)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} C (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} C (Semiring.toNonAssocSemiring.{u3} C (Ring.toSemiring.{u3} C (CommRing.toRing.{u3} C _inst_12))))) (Algebra.toModule.{u1, u3} A C (CommRing.toCommSemiring.{u1} A _inst_5) (Ring.toSemiring.{u3} C (CommRing.toRing.{u3} C _inst_12)) _inst_16))))) (SMulZeroClass.toHasSmul.{u3, u2} C L (AddZeroClass.toHasZero.{u2} L (AddMonoid.toAddZeroClass.{u2} L (AddCommMonoid.toAddMonoid.{u2} L (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} L (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} L (Semiring.toNonAssocSemiring.{u2} L (Ring.toSemiring.{u2} L (DivisionRing.toRing.{u2} L (Field.toDivisionRing.{u2} L _inst_8))))))))) (SMulWithZero.toSmulZeroClass.{u3, u2} C L (MulZeroClass.toHasZero.{u3} C (MulZeroOneClass.toMulZeroClass.{u3} C (MonoidWithZero.toMulZeroOneClass.{u3} C (Semiring.toMonoidWithZero.{u3} C (CommSemiring.toSemiring.{u3} C (CommRing.toCommSemiring.{u3} C _inst_12)))))) (AddZeroClass.toHasZero.{u2} L (AddMonoid.toAddZeroClass.{u2} L (AddCommMonoid.toAddMonoid.{u2} L (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} L (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} L (Semiring.toNonAssocSemiring.{u2} L (Ring.toSemiring.{u2} L (DivisionRing.toRing.{u2} L (Field.toDivisionRing.{u2} L _inst_8))))))))) (MulActionWithZero.toSMulWithZero.{u3, u2} C L (Semiring.toMonoidWithZero.{u3} C (CommSemiring.toSemiring.{u3} C (CommRing.toCommSemiring.{u3} C _inst_12))) (AddZeroClass.toHasZero.{u2} L (AddMonoid.toAddZeroClass.{u2} L (AddCommMonoid.toAddMonoid.{u2} L (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} L (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} L (Semiring.toNonAssocSemiring.{u2} L (Ring.toSemiring.{u2} L (DivisionRing.toRing.{u2} L (Field.toDivisionRing.{u2} L _inst_8))))))))) (Module.toMulActionWithZero.{u3, u2} C L (CommSemiring.toSemiring.{u3} C (CommRing.toCommSemiring.{u3} C _inst_12)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} L (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} L (Semiring.toNonAssocSemiring.{u2} L (Ring.toSemiring.{u2} L (DivisionRing.toRing.{u2} L (Field.toDivisionRing.{u2} L _inst_8)))))) (Algebra.toModule.{u3, u2} C L (CommRing.toCommSemiring.{u3} C _inst_12) (Ring.toSemiring.{u2} L (DivisionRing.toRing.{u2} L (Field.toDivisionRing.{u2} L _inst_8))) _inst_14))))) (SMulZeroClass.toHasSmul.{u1, u2} A L (AddZeroClass.toHasZero.{u2} L (AddMonoid.toAddZeroClass.{u2} L (AddCommMonoid.toAddMonoid.{u2} L (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} L (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} L (Semiring.toNonAssocSemiring.{u2} L (Ring.toSemiring.{u2} L (DivisionRing.toRing.{u2} L (Field.toDivisionRing.{u2} L _inst_8))))))))) (SMulWithZero.toSmulZeroClass.{u1, u2} A L (MulZeroClass.toHasZero.{u1} A (MulZeroOneClass.toMulZeroClass.{u1} A (MonoidWithZero.toMulZeroOneClass.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_5)))))) (AddZeroClass.toHasZero.{u2} L (AddMonoid.toAddZeroClass.{u2} L (AddCommMonoid.toAddMonoid.{u2} L (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} L (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} L (Semiring.toNonAssocSemiring.{u2} L (Ring.toSemiring.{u2} L (DivisionRing.toRing.{u2} L (Field.toDivisionRing.{u2} L _inst_8))))))))) (MulActionWithZero.toSMulWithZero.{u1, u2} A L (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_5))) (AddZeroClass.toHasZero.{u2} L (AddMonoid.toAddZeroClass.{u2} L (AddCommMonoid.toAddMonoid.{u2} L (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} L (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} L (Semiring.toNonAssocSemiring.{u2} L (Ring.toSemiring.{u2} L (DivisionRing.toRing.{u2} L (Field.toDivisionRing.{u2} L _inst_8))))))))) (Module.toMulActionWithZero.{u1, u2} A L (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_5)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} L (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} L (Semiring.toNonAssocSemiring.{u2} L (Ring.toSemiring.{u2} L (DivisionRing.toRing.{u2} L (Field.toDivisionRing.{u2} L _inst_8)))))) (Algebra.toModule.{u1, u2} A L (CommRing.toCommSemiring.{u1} A _inst_5) (Ring.toSemiring.{u2} L (DivisionRing.toRing.{u2} L (Field.toDivisionRing.{u2} L _inst_8))) _inst_10)))))], (Algebra.IsAlgebraic.{u1, u2} A L _inst_5 (DivisionRing.toRing.{u2} L (Field.toDivisionRing.{u2} L _inst_8)) _inst_10) -> (forall (x : A), (Eq.{succ u2} L (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} A L (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_5))) (Semiring.toNonAssocSemiring.{u2} L (Ring.toSemiring.{u2} L (DivisionRing.toRing.{u2} L (Field.toDivisionRing.{u2} L _inst_8))))) (fun (_x : RingHom.{u1, u2} A L (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_5))) (Semiring.toNonAssocSemiring.{u2} L (Ring.toSemiring.{u2} L (DivisionRing.toRing.{u2} L (Field.toDivisionRing.{u2} L _inst_8))))) => A -> L) (RingHom.hasCoeToFun.{u1, u2} A L (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_5))) (Semiring.toNonAssocSemiring.{u2} L (Ring.toSemiring.{u2} L (DivisionRing.toRing.{u2} L (Field.toDivisionRing.{u2} L _inst_8))))) (algebraMap.{u1, u2} A L (CommRing.toCommSemiring.{u1} A _inst_5) (Ring.toSemiring.{u2} L (DivisionRing.toRing.{u2} L (Field.toDivisionRing.{u2} L _inst_8))) _inst_10) x) (OfNat.ofNat.{u2} L 0 (OfNat.mk.{u2} L 0 (Zero.zero.{u2} L (MulZeroClass.toHasZero.{u2} L (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} L (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} L (NonAssocRing.toNonUnitalNonAssocRing.{u2} L (Ring.toNonAssocRing.{u2} L (DivisionRing.toRing.{u2} L (Field.toDivisionRing.{u2} L _inst_8))))))))))) -> (Eq.{succ u1} A x (OfNat.ofNat.{u1} A 0 (OfNat.mk.{u1} A 0 (Zero.zero.{u1} A (MulZeroClass.toHasZero.{u1} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_5))))))))))) -> (IsFractionRing.{u3, u2} C _inst_12 L (EuclideanDomain.toCommRing.{u2} L (Field.toEuclideanDomain.{u2} L _inst_8)) _inst_14)
+but is expected to have type
+  forall (A : Type.{u3}) [_inst_5 : CommRing.{u3} A] [_inst_6 : IsDomain.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_5))] {L : Type.{u2}} [_inst_8 : Field.{u2} L] [_inst_10 : Algebra.{u3, u2} A L (CommRing.toCommSemiring.{u3} A _inst_5) (DivisionSemiring.toSemiring.{u2} L (Semifield.toDivisionSemiring.{u2} L (Field.toSemifield.{u2} L _inst_8)))] (C : Type.{u1}) [_inst_12 : CommRing.{u1} C] [_inst_13 : IsDomain.{u1} C (CommSemiring.toSemiring.{u1} C (CommRing.toCommSemiring.{u1} C _inst_12))] [_inst_14 : Algebra.{u1, u2} C L (CommRing.toCommSemiring.{u1} C _inst_12) (DivisionSemiring.toSemiring.{u2} L (Semifield.toDivisionSemiring.{u2} L (Field.toSemifield.{u2} L _inst_8)))] [_inst_15 : IsIntegralClosure.{u1, u3, u2} C A L _inst_5 (CommRing.toCommSemiring.{u1} C _inst_12) (EuclideanDomain.toCommRing.{u2} L (Field.toEuclideanDomain.{u2} L _inst_8)) _inst_10 _inst_14] [_inst_16 : Algebra.{u3, u1} A C (CommRing.toCommSemiring.{u3} A _inst_5) (CommSemiring.toSemiring.{u1} C (CommRing.toCommSemiring.{u1} C _inst_12))] [_inst_17 : IsScalarTower.{u3, u1, u2} A C L (Algebra.toSMul.{u3, u1} A C (CommRing.toCommSemiring.{u3} A _inst_5) (CommSemiring.toSemiring.{u1} C (CommRing.toCommSemiring.{u1} C _inst_12)) _inst_16) (Algebra.toSMul.{u1, u2} C L (CommRing.toCommSemiring.{u1} C _inst_12) (DivisionSemiring.toSemiring.{u2} L (Semifield.toDivisionSemiring.{u2} L (Field.toSemifield.{u2} L _inst_8))) _inst_14) (Algebra.toSMul.{u3, u2} A L (CommRing.toCommSemiring.{u3} A _inst_5) (DivisionSemiring.toSemiring.{u2} L (Semifield.toDivisionSemiring.{u2} L (Field.toSemifield.{u2} L _inst_8))) _inst_10)], (Algebra.IsAlgebraic.{u3, u2} A L _inst_5 (DivisionRing.toRing.{u2} L (Field.toDivisionRing.{u2} L _inst_8)) _inst_10) -> (forall (x : A), (Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : A) => L) x) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (RingHom.{u3, u2} A L (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_5))) (Semiring.toNonAssocSemiring.{u2} L (DivisionSemiring.toSemiring.{u2} L (Semifield.toDivisionSemiring.{u2} L (Field.toSemifield.{u2} L _inst_8))))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : A) => L) _x) (MulHomClass.toFunLike.{max u3 u2, u3, u2} (RingHom.{u3, u2} A L (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_5))) (Semiring.toNonAssocSemiring.{u2} L (DivisionSemiring.toSemiring.{u2} L (Semifield.toDivisionSemiring.{u2} L (Field.toSemifield.{u2} L _inst_8))))) A L (NonUnitalNonAssocSemiring.toMul.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_5))))) (NonUnitalNonAssocSemiring.toMul.{u2} L (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} L (Semiring.toNonAssocSemiring.{u2} L (DivisionSemiring.toSemiring.{u2} L (Semifield.toDivisionSemiring.{u2} L (Field.toSemifield.{u2} L _inst_8)))))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u2, u3, u2} (RingHom.{u3, u2} A L (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_5))) (Semiring.toNonAssocSemiring.{u2} L (DivisionSemiring.toSemiring.{u2} L (Semifield.toDivisionSemiring.{u2} L (Field.toSemifield.{u2} L _inst_8))))) A L (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_5)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} L (Semiring.toNonAssocSemiring.{u2} L (DivisionSemiring.toSemiring.{u2} L (Semifield.toDivisionSemiring.{u2} L (Field.toSemifield.{u2} L _inst_8))))) (RingHomClass.toNonUnitalRingHomClass.{max u3 u2, u3, u2} (RingHom.{u3, u2} A L (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_5))) (Semiring.toNonAssocSemiring.{u2} L (DivisionSemiring.toSemiring.{u2} L (Semifield.toDivisionSemiring.{u2} L (Field.toSemifield.{u2} L _inst_8))))) A L (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_5))) (Semiring.toNonAssocSemiring.{u2} L (DivisionSemiring.toSemiring.{u2} L (Semifield.toDivisionSemiring.{u2} L (Field.toSemifield.{u2} L _inst_8)))) (RingHom.instRingHomClassRingHom.{u3, u2} A L (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_5))) (Semiring.toNonAssocSemiring.{u2} L (DivisionSemiring.toSemiring.{u2} L (Semifield.toDivisionSemiring.{u2} L (Field.toSemifield.{u2} L _inst_8)))))))) (algebraMap.{u3, u2} A L (CommRing.toCommSemiring.{u3} A _inst_5) (DivisionSemiring.toSemiring.{u2} L (Semifield.toDivisionSemiring.{u2} L (Field.toSemifield.{u2} L _inst_8))) _inst_10) x) (OfNat.ofNat.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : A) => L) x) 0 (Zero.toOfNat0.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : A) => L) x) (CommMonoidWithZero.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : A) => L) x) (CommGroupWithZero.toCommMonoidWithZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : A) => L) x) (Semifield.toCommGroupWithZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : A) => L) x) (Field.toSemifield.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : A) => L) x) _inst_8))))))) -> (Eq.{succ u3} A x (OfNat.ofNat.{u3} A 0 (Zero.toOfNat0.{u3} A (CommMonoidWithZero.toZero.{u3} A (CancelCommMonoidWithZero.toCommMonoidWithZero.{u3} A (IsDomain.toCancelCommMonoidWithZero.{u3} A (CommRing.toCommSemiring.{u3} A _inst_5) _inst_6))))))) -> (IsFractionRing.{u1, u2} C _inst_12 L (EuclideanDomain.toCommRing.{u2} L (Field.toEuclideanDomain.{u2} L _inst_8)) _inst_14)
+Case conversion may be inaccurate. Consider using '#align is_integral_closure.is_fraction_ring_of_algebraic IsIntegralClosure.isFractionRing_of_algebraicₓ'. -/
 /-- If the field `L` is an algebraic extension of the integral domain `A`,
 the integral closure `C` of `A` in `L` has fraction field `L`. -/
 theorem isFractionRing_of_algebraic (alg : IsAlgebraic A L)
@@ -340,6 +438,12 @@ theorem isFractionRing_of_algebraic (alg : IsAlgebraic A L)
 
 variable (K L)
 
+/- warning: is_integral_closure.is_fraction_ring_of_finite_extension -> IsIntegralClosure.isFractionRing_of_finite_extension is a dubious translation:
+lean 3 declaration is
+  forall (A : Type.{u1}) (K : Type.{u2}) [_inst_5 : CommRing.{u1} A] [_inst_6 : IsDomain.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_5))] (L : Type.{u3}) [_inst_7 : Field.{u2} K] [_inst_8 : Field.{u3} L] [_inst_9 : Algebra.{u1, u2} A K (CommRing.toCommSemiring.{u1} A _inst_5) (Ring.toSemiring.{u2} K (DivisionRing.toRing.{u2} K (Field.toDivisionRing.{u2} K _inst_7)))] [_inst_10 : Algebra.{u1, u3} A L (CommRing.toCommSemiring.{u1} A _inst_5) (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L (Field.toDivisionRing.{u3} L _inst_8)))] [_inst_11 : IsFractionRing.{u1, u2} A _inst_5 K (EuclideanDomain.toCommRing.{u2} K (Field.toEuclideanDomain.{u2} K _inst_7)) _inst_9] (C : Type.{u4}) [_inst_12 : CommRing.{u4} C] [_inst_13 : IsDomain.{u4} C (Ring.toSemiring.{u4} C (CommRing.toRing.{u4} C _inst_12))] [_inst_14 : Algebra.{u4, u3} C L (CommRing.toCommSemiring.{u4} C _inst_12) (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L (Field.toDivisionRing.{u3} L _inst_8)))] [_inst_15 : IsIntegralClosure.{u4, u1, u3} C A L _inst_5 (CommRing.toCommSemiring.{u4} C _inst_12) (EuclideanDomain.toCommRing.{u3} L (Field.toEuclideanDomain.{u3} L _inst_8)) _inst_10 _inst_14] [_inst_16 : Algebra.{u1, u4} A C (CommRing.toCommSemiring.{u1} A _inst_5) (Ring.toSemiring.{u4} C (CommRing.toRing.{u4} C _inst_12))] [_inst_17 : IsScalarTower.{u1, u4, u3} A C L (SMulZeroClass.toHasSmul.{u1, u4} A C (AddZeroClass.toHasZero.{u4} C (AddMonoid.toAddZeroClass.{u4} C (AddCommMonoid.toAddMonoid.{u4} C (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} C (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} C (Semiring.toNonAssocSemiring.{u4} C (Ring.toSemiring.{u4} C (CommRing.toRing.{u4} C _inst_12)))))))) (SMulWithZero.toSmulZeroClass.{u1, u4} A C (MulZeroClass.toHasZero.{u1} A (MulZeroOneClass.toMulZeroClass.{u1} A (MonoidWithZero.toMulZeroOneClass.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_5)))))) (AddZeroClass.toHasZero.{u4} C (AddMonoid.toAddZeroClass.{u4} C (AddCommMonoid.toAddMonoid.{u4} C (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} C (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} C (Semiring.toNonAssocSemiring.{u4} C (Ring.toSemiring.{u4} C (CommRing.toRing.{u4} C _inst_12)))))))) (MulActionWithZero.toSMulWithZero.{u1, u4} A C (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_5))) (AddZeroClass.toHasZero.{u4} C (AddMonoid.toAddZeroClass.{u4} C (AddCommMonoid.toAddMonoid.{u4} C (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} C (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} C (Semiring.toNonAssocSemiring.{u4} C (Ring.toSemiring.{u4} C (CommRing.toRing.{u4} C _inst_12)))))))) (Module.toMulActionWithZero.{u1, u4} A C (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_5)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} C (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} C (Semiring.toNonAssocSemiring.{u4} C (Ring.toSemiring.{u4} C (CommRing.toRing.{u4} C _inst_12))))) (Algebra.toModule.{u1, u4} A C (CommRing.toCommSemiring.{u1} A _inst_5) (Ring.toSemiring.{u4} C (CommRing.toRing.{u4} C _inst_12)) _inst_16))))) (SMulZeroClass.toHasSmul.{u4, u3} C L (AddZeroClass.toHasZero.{u3} L (AddMonoid.toAddZeroClass.{u3} L (AddCommMonoid.toAddMonoid.{u3} L (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} L (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} L (Semiring.toNonAssocSemiring.{u3} L (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L (Field.toDivisionRing.{u3} L _inst_8))))))))) (SMulWithZero.toSmulZeroClass.{u4, u3} C L (MulZeroClass.toHasZero.{u4} C (MulZeroOneClass.toMulZeroClass.{u4} C (MonoidWithZero.toMulZeroOneClass.{u4} C (Semiring.toMonoidWithZero.{u4} C (CommSemiring.toSemiring.{u4} C (CommRing.toCommSemiring.{u4} C _inst_12)))))) (AddZeroClass.toHasZero.{u3} L (AddMonoid.toAddZeroClass.{u3} L (AddCommMonoid.toAddMonoid.{u3} L (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} L (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} L (Semiring.toNonAssocSemiring.{u3} L (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L (Field.toDivisionRing.{u3} L _inst_8))))))))) (MulActionWithZero.toSMulWithZero.{u4, u3} C L (Semiring.toMonoidWithZero.{u4} C (CommSemiring.toSemiring.{u4} C (CommRing.toCommSemiring.{u4} C _inst_12))) (AddZeroClass.toHasZero.{u3} L (AddMonoid.toAddZeroClass.{u3} L (AddCommMonoid.toAddMonoid.{u3} L (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} L (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} L (Semiring.toNonAssocSemiring.{u3} L (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L (Field.toDivisionRing.{u3} L _inst_8))))))))) (Module.toMulActionWithZero.{u4, u3} C L (CommSemiring.toSemiring.{u4} C (CommRing.toCommSemiring.{u4} C _inst_12)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} L (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} L (Semiring.toNonAssocSemiring.{u3} L (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L (Field.toDivisionRing.{u3} L _inst_8)))))) (Algebra.toModule.{u4, u3} C L (CommRing.toCommSemiring.{u4} C _inst_12) (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L (Field.toDivisionRing.{u3} L _inst_8))) _inst_14))))) (SMulZeroClass.toHasSmul.{u1, u3} A L (AddZeroClass.toHasZero.{u3} L (AddMonoid.toAddZeroClass.{u3} L (AddCommMonoid.toAddMonoid.{u3} L (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} L (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} L (Semiring.toNonAssocSemiring.{u3} L (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L (Field.toDivisionRing.{u3} L _inst_8))))))))) (SMulWithZero.toSmulZeroClass.{u1, u3} A L (MulZeroClass.toHasZero.{u1} A (MulZeroOneClass.toMulZeroClass.{u1} A (MonoidWithZero.toMulZeroOneClass.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_5)))))) (AddZeroClass.toHasZero.{u3} L (AddMonoid.toAddZeroClass.{u3} L (AddCommMonoid.toAddMonoid.{u3} L (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} L (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} L (Semiring.toNonAssocSemiring.{u3} L (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L (Field.toDivisionRing.{u3} L _inst_8))))))))) (MulActionWithZero.toSMulWithZero.{u1, u3} A L (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_5))) (AddZeroClass.toHasZero.{u3} L (AddMonoid.toAddZeroClass.{u3} L (AddCommMonoid.toAddMonoid.{u3} L (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} L (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} L (Semiring.toNonAssocSemiring.{u3} L (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L (Field.toDivisionRing.{u3} L _inst_8))))))))) (Module.toMulActionWithZero.{u1, u3} A L (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_5)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} L (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} L (Semiring.toNonAssocSemiring.{u3} L (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L (Field.toDivisionRing.{u3} L _inst_8)))))) (Algebra.toModule.{u1, u3} A L (CommRing.toCommSemiring.{u1} A _inst_5) (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L (Field.toDivisionRing.{u3} L _inst_8))) _inst_10)))))] [_inst_18 : Algebra.{u2, u3} K L (Semifield.toCommSemiring.{u2} K (Field.toSemifield.{u2} K _inst_7)) (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L (Field.toDivisionRing.{u3} L _inst_8)))] [_inst_19 : IsScalarTower.{u1, u2, u3} A K L (SMulZeroClass.toHasSmul.{u1, u2} A K (AddZeroClass.toHasZero.{u2} K (AddMonoid.toAddZeroClass.{u2} K (AddCommMonoid.toAddMonoid.{u2} K (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} K (Semiring.toNonAssocSemiring.{u2} K (Ring.toSemiring.{u2} K (DivisionRing.toRing.{u2} K (Field.toDivisionRing.{u2} K _inst_7))))))))) (SMulWithZero.toSmulZeroClass.{u1, u2} A K (MulZeroClass.toHasZero.{u1} A (MulZeroOneClass.toMulZeroClass.{u1} A (MonoidWithZero.toMulZeroOneClass.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_5)))))) (AddZeroClass.toHasZero.{u2} K (AddMonoid.toAddZeroClass.{u2} K (AddCommMonoid.toAddMonoid.{u2} K (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} K (Semiring.toNonAssocSemiring.{u2} K (Ring.toSemiring.{u2} K (DivisionRing.toRing.{u2} K (Field.toDivisionRing.{u2} K _inst_7))))))))) (MulActionWithZero.toSMulWithZero.{u1, u2} A K (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_5))) (AddZeroClass.toHasZero.{u2} K (AddMonoid.toAddZeroClass.{u2} K (AddCommMonoid.toAddMonoid.{u2} K (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} K (Semiring.toNonAssocSemiring.{u2} K (Ring.toSemiring.{u2} K (DivisionRing.toRing.{u2} K (Field.toDivisionRing.{u2} K _inst_7))))))))) (Module.toMulActionWithZero.{u1, u2} A K (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_5)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} K (Semiring.toNonAssocSemiring.{u2} K (Ring.toSemiring.{u2} K (DivisionRing.toRing.{u2} K (Field.toDivisionRing.{u2} K _inst_7)))))) (Algebra.toModule.{u1, u2} A K (CommRing.toCommSemiring.{u1} A _inst_5) (Ring.toSemiring.{u2} K (DivisionRing.toRing.{u2} K (Field.toDivisionRing.{u2} K _inst_7))) _inst_9))))) (SMulZeroClass.toHasSmul.{u2, u3} K L (AddZeroClass.toHasZero.{u3} L (AddMonoid.toAddZeroClass.{u3} L (AddCommMonoid.toAddMonoid.{u3} L (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} L (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} L (Semiring.toNonAssocSemiring.{u3} L (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L (Field.toDivisionRing.{u3} L _inst_8))))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} K L (MulZeroClass.toHasZero.{u2} K (MulZeroOneClass.toMulZeroClass.{u2} K (MonoidWithZero.toMulZeroOneClass.{u2} K (Semiring.toMonoidWithZero.{u2} K (CommSemiring.toSemiring.{u2} K (Semifield.toCommSemiring.{u2} K (Field.toSemifield.{u2} K _inst_7))))))) (AddZeroClass.toHasZero.{u3} L (AddMonoid.toAddZeroClass.{u3} L (AddCommMonoid.toAddMonoid.{u3} L (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} L (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} L (Semiring.toNonAssocSemiring.{u3} L (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L (Field.toDivisionRing.{u3} L _inst_8))))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} K L (Semiring.toMonoidWithZero.{u2} K (CommSemiring.toSemiring.{u2} K (Semifield.toCommSemiring.{u2} K (Field.toSemifield.{u2} K _inst_7)))) (AddZeroClass.toHasZero.{u3} L (AddMonoid.toAddZeroClass.{u3} L (AddCommMonoid.toAddMonoid.{u3} L (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} L (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} L (Semiring.toNonAssocSemiring.{u3} L (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L (Field.toDivisionRing.{u3} L _inst_8))))))))) (Module.toMulActionWithZero.{u2, u3} K L (CommSemiring.toSemiring.{u2} K (Semifield.toCommSemiring.{u2} K (Field.toSemifield.{u2} K _inst_7))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} L (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} L (Semiring.toNonAssocSemiring.{u3} L (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L (Field.toDivisionRing.{u3} L _inst_8)))))) (Algebra.toModule.{u2, u3} K L (Semifield.toCommSemiring.{u2} K (Field.toSemifield.{u2} K _inst_7)) (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L (Field.toDivisionRing.{u3} L _inst_8))) _inst_18))))) (SMulZeroClass.toHasSmul.{u1, u3} A L (AddZeroClass.toHasZero.{u3} L (AddMonoid.toAddZeroClass.{u3} L (AddCommMonoid.toAddMonoid.{u3} L (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} L (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} L (Semiring.toNonAssocSemiring.{u3} L (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L (Field.toDivisionRing.{u3} L _inst_8))))))))) (SMulWithZero.toSmulZeroClass.{u1, u3} A L (MulZeroClass.toHasZero.{u1} A (MulZeroOneClass.toMulZeroClass.{u1} A (MonoidWithZero.toMulZeroOneClass.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_5)))))) (AddZeroClass.toHasZero.{u3} L (AddMonoid.toAddZeroClass.{u3} L (AddCommMonoid.toAddMonoid.{u3} L (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} L (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} L (Semiring.toNonAssocSemiring.{u3} L (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L (Field.toDivisionRing.{u3} L _inst_8))))))))) (MulActionWithZero.toSMulWithZero.{u1, u3} A L (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_5))) (AddZeroClass.toHasZero.{u3} L (AddMonoid.toAddZeroClass.{u3} L (AddCommMonoid.toAddMonoid.{u3} L (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} L (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} L (Semiring.toNonAssocSemiring.{u3} L (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L (Field.toDivisionRing.{u3} L _inst_8))))))))) (Module.toMulActionWithZero.{u1, u3} A L (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_5)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} L (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} L (Semiring.toNonAssocSemiring.{u3} L (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L (Field.toDivisionRing.{u3} L _inst_8)))))) (Algebra.toModule.{u1, u3} A L (CommRing.toCommSemiring.{u1} A _inst_5) (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L (Field.toDivisionRing.{u3} L _inst_8))) _inst_10)))))] [_inst_20 : FiniteDimensional.{u2, u3} K L (Field.toDivisionRing.{u2} K _inst_7) (NonUnitalNonAssocRing.toAddCommGroup.{u3} L (NonAssocRing.toNonUnitalNonAssocRing.{u3} L (Ring.toNonAssocRing.{u3} L (DivisionRing.toRing.{u3} L (Field.toDivisionRing.{u3} L _inst_8))))) (Algebra.toModule.{u2, u3} K L (Semifield.toCommSemiring.{u2} K (Field.toSemifield.{u2} K _inst_7)) (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L (Field.toDivisionRing.{u3} L _inst_8))) _inst_18)], IsFractionRing.{u4, u3} C _inst_12 L (EuclideanDomain.toCommRing.{u3} L (Field.toEuclideanDomain.{u3} L _inst_8)) _inst_14
+but is expected to have type
+  forall (A : Type.{u2}) (K : Type.{u4}) [_inst_5 : CommRing.{u2} A] [_inst_6 : IsDomain.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_5))] (L : Type.{u3}) [_inst_7 : Field.{u4} K] [_inst_8 : Field.{u3} L] [_inst_9 : Algebra.{u2, u4} A K (CommRing.toCommSemiring.{u2} A _inst_5) (DivisionSemiring.toSemiring.{u4} K (Semifield.toDivisionSemiring.{u4} K (Field.toSemifield.{u4} K _inst_7)))] [_inst_10 : Algebra.{u2, u3} A L (CommRing.toCommSemiring.{u2} A _inst_5) (DivisionSemiring.toSemiring.{u3} L (Semifield.toDivisionSemiring.{u3} L (Field.toSemifield.{u3} L _inst_8)))] [_inst_11 : IsFractionRing.{u2, u4} A _inst_5 K (EuclideanDomain.toCommRing.{u4} K (Field.toEuclideanDomain.{u4} K _inst_7)) _inst_9] (C : Type.{u1}) [_inst_12 : CommRing.{u1} C] [_inst_13 : IsDomain.{u1} C (CommSemiring.toSemiring.{u1} C (CommRing.toCommSemiring.{u1} C _inst_12))] [_inst_14 : Algebra.{u1, u3} C L (CommRing.toCommSemiring.{u1} C _inst_12) (DivisionSemiring.toSemiring.{u3} L (Semifield.toDivisionSemiring.{u3} L (Field.toSemifield.{u3} L _inst_8)))] [_inst_15 : IsIntegralClosure.{u1, u2, u3} C A L _inst_5 (CommRing.toCommSemiring.{u1} C _inst_12) (EuclideanDomain.toCommRing.{u3} L (Field.toEuclideanDomain.{u3} L _inst_8)) _inst_10 _inst_14] [_inst_16 : Algebra.{u2, u1} A C (CommRing.toCommSemiring.{u2} A _inst_5) (CommSemiring.toSemiring.{u1} C (CommRing.toCommSemiring.{u1} C _inst_12))] [_inst_17 : IsScalarTower.{u2, u1, u3} A C L (Algebra.toSMul.{u2, u1} A C (CommRing.toCommSemiring.{u2} A _inst_5) (CommSemiring.toSemiring.{u1} C (CommRing.toCommSemiring.{u1} C _inst_12)) _inst_16) (Algebra.toSMul.{u1, u3} C L (CommRing.toCommSemiring.{u1} C _inst_12) (DivisionSemiring.toSemiring.{u3} L (Semifield.toDivisionSemiring.{u3} L (Field.toSemifield.{u3} L _inst_8))) _inst_14) (Algebra.toSMul.{u2, u3} A L (CommRing.toCommSemiring.{u2} A _inst_5) (DivisionSemiring.toSemiring.{u3} L (Semifield.toDivisionSemiring.{u3} L (Field.toSemifield.{u3} L _inst_8))) _inst_10)] [_inst_18 : Algebra.{u4, u3} K L (Semifield.toCommSemiring.{u4} K (Field.toSemifield.{u4} K _inst_7)) (DivisionSemiring.toSemiring.{u3} L (Semifield.toDivisionSemiring.{u3} L (Field.toSemifield.{u3} L _inst_8)))] [_inst_19 : IsScalarTower.{u2, u4, u3} A K L (Algebra.toSMul.{u2, u4} A K (CommRing.toCommSemiring.{u2} A _inst_5) (DivisionSemiring.toSemiring.{u4} K (Semifield.toDivisionSemiring.{u4} K (Field.toSemifield.{u4} K _inst_7))) _inst_9) (Algebra.toSMul.{u4, u3} K L (Semifield.toCommSemiring.{u4} K (Field.toSemifield.{u4} K _inst_7)) (DivisionSemiring.toSemiring.{u3} L (Semifield.toDivisionSemiring.{u3} L (Field.toSemifield.{u3} L _inst_8))) _inst_18) (Algebra.toSMul.{u2, u3} A L (CommRing.toCommSemiring.{u2} A _inst_5) (DivisionSemiring.toSemiring.{u3} L (Semifield.toDivisionSemiring.{u3} L (Field.toSemifield.{u3} L _inst_8))) _inst_10)] [_inst_20 : FiniteDimensional.{u4, u3} K L (Field.toDivisionRing.{u4} K _inst_7) (Ring.toAddCommGroup.{u3} L (DivisionRing.toRing.{u3} L (Field.toDivisionRing.{u3} L _inst_8))) (Algebra.toModule.{u4, u3} K L (Semifield.toCommSemiring.{u4} K (Field.toSemifield.{u4} K _inst_7)) (DivisionSemiring.toSemiring.{u3} L (Semifield.toDivisionSemiring.{u3} L (Field.toSemifield.{u3} L _inst_8))) _inst_18)], IsFractionRing.{u1, u3} C _inst_12 L (EuclideanDomain.toCommRing.{u3} L (Field.toEuclideanDomain.{u3} L _inst_8)) _inst_14
+Case conversion may be inaccurate. Consider using '#align is_integral_closure.is_fraction_ring_of_finite_extension IsIntegralClosure.isFractionRing_of_finite_extensionₓ'. -/
 /-- If the field `L` is a finite extension of the fraction field of the integral domain `A`,
 the integral closure `C` of `A` in `L` has fraction field `L`. -/
 theorem isFractionRing_of_finite_extension [Algebra K L] [IsScalarTower A K L]
@@ -358,6 +462,12 @@ variable {L : Type _} [Field K] [Field L] [Algebra A K] [IsFractionRing A K]
 
 open Algebra
 
+/- warning: integral_closure.is_fraction_ring_of_algebraic -> integralClosure.isFractionRing_of_algebraic 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))] {L : Type.{u2}} [_inst_8 : Field.{u2} L] [_inst_11 : Algebra.{u1, u2} A L (CommRing.toCommSemiring.{u1} A _inst_5) (Ring.toSemiring.{u2} L (DivisionRing.toRing.{u2} L (Field.toDivisionRing.{u2} L _inst_8)))], (Algebra.IsAlgebraic.{u1, u2} A L _inst_5 (DivisionRing.toRing.{u2} L (Field.toDivisionRing.{u2} L _inst_8)) _inst_11) -> (forall (x : A), (Eq.{succ u2} L (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} A L (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_5))) (Semiring.toNonAssocSemiring.{u2} L (Ring.toSemiring.{u2} L (DivisionRing.toRing.{u2} L (Field.toDivisionRing.{u2} L _inst_8))))) (fun (_x : RingHom.{u1, u2} A L (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_5))) (Semiring.toNonAssocSemiring.{u2} L (Ring.toSemiring.{u2} L (DivisionRing.toRing.{u2} L (Field.toDivisionRing.{u2} L _inst_8))))) => A -> L) (RingHom.hasCoeToFun.{u1, u2} A L (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_5))) (Semiring.toNonAssocSemiring.{u2} L (Ring.toSemiring.{u2} L (DivisionRing.toRing.{u2} L (Field.toDivisionRing.{u2} L _inst_8))))) (algebraMap.{u1, u2} A L (CommRing.toCommSemiring.{u1} A _inst_5) (Ring.toSemiring.{u2} L (DivisionRing.toRing.{u2} L (Field.toDivisionRing.{u2} L _inst_8))) _inst_11) x) (OfNat.ofNat.{u2} L 0 (OfNat.mk.{u2} L 0 (Zero.zero.{u2} L (MulZeroClass.toHasZero.{u2} L (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} L (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} L (NonAssocRing.toNonUnitalNonAssocRing.{u2} L (Ring.toNonAssocRing.{u2} L (DivisionRing.toRing.{u2} L (Field.toDivisionRing.{u2} L _inst_8))))))))))) -> (Eq.{succ u1} A x (OfNat.ofNat.{u1} A 0 (OfNat.mk.{u1} A 0 (Zero.zero.{u1} A (MulZeroClass.toHasZero.{u1} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_5))))))))))) -> (IsFractionRing.{u2, u2} (coeSort.{succ u2, succ (succ u2)} (Subalgebra.{u1, u2} A L (CommRing.toCommSemiring.{u1} A _inst_5) (Ring.toSemiring.{u2} L (CommRing.toRing.{u2} L (EuclideanDomain.toCommRing.{u2} L (Field.toEuclideanDomain.{u2} L _inst_8)))) _inst_11) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Subalgebra.{u1, u2} A L (CommRing.toCommSemiring.{u1} A _inst_5) (Ring.toSemiring.{u2} L (CommRing.toRing.{u2} L (EuclideanDomain.toCommRing.{u2} L (Field.toEuclideanDomain.{u2} L _inst_8)))) _inst_11) L (Subalgebra.setLike.{u1, u2} A L (CommRing.toCommSemiring.{u1} A _inst_5) (Ring.toSemiring.{u2} L (CommRing.toRing.{u2} L (EuclideanDomain.toCommRing.{u2} L (Field.toEuclideanDomain.{u2} L _inst_8)))) _inst_11)) (integralClosure.{u1, u2} A L _inst_5 (EuclideanDomain.toCommRing.{u2} L (Field.toEuclideanDomain.{u2} L _inst_8)) _inst_11)) (Subalgebra.toCommRing.{u1, u2} A L _inst_5 (EuclideanDomain.toCommRing.{u2} L (Field.toEuclideanDomain.{u2} L _inst_8)) _inst_11 (integralClosure.{u1, u2} A L _inst_5 (EuclideanDomain.toCommRing.{u2} L (Field.toEuclideanDomain.{u2} L _inst_8)) _inst_11)) L (EuclideanDomain.toCommRing.{u2} L (Field.toEuclideanDomain.{u2} L _inst_8)) (Subalgebra.toAlgebra.{u2, u1, u2} L A L (CommRing.toCommSemiring.{u1} A _inst_5) (Semifield.toCommSemiring.{u2} L (Field.toSemifield.{u2} L _inst_8)) (Ring.toSemiring.{u2} L (CommRing.toRing.{u2} L (EuclideanDomain.toCommRing.{u2} L (Field.toEuclideanDomain.{u2} L _inst_8)))) _inst_11 (Algebra.id.{u2} L (Semifield.toCommSemiring.{u2} L (Field.toSemifield.{u2} L _inst_8))) (integralClosure.{u1, u2} A L _inst_5 (EuclideanDomain.toCommRing.{u2} L (Field.toEuclideanDomain.{u2} L _inst_8)) _inst_11)))
+but is expected to have type
+  forall {A : Type.{u2}} [_inst_5 : CommRing.{u2} A] [_inst_6 : IsDomain.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_5))] {L : Type.{u1}} [_inst_8 : Field.{u1} L] [_inst_11 : Algebra.{u2, u1} A L (CommRing.toCommSemiring.{u2} A _inst_5) (DivisionSemiring.toSemiring.{u1} L (Semifield.toDivisionSemiring.{u1} L (Field.toSemifield.{u1} L _inst_8)))], (Algebra.IsAlgebraic.{u2, u1} A L _inst_5 (DivisionRing.toRing.{u1} L (Field.toDivisionRing.{u1} L _inst_8)) _inst_11) -> (forall (x : A), (Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : A) => L) x) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (RingHom.{u2, u1} A L (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_5))) (Semiring.toNonAssocSemiring.{u1} L (DivisionSemiring.toSemiring.{u1} L (Semifield.toDivisionSemiring.{u1} L (Field.toSemifield.{u1} L _inst_8))))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : A) => L) _x) (MulHomClass.toFunLike.{max u2 u1, u2, u1} (RingHom.{u2, u1} A L (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_5))) (Semiring.toNonAssocSemiring.{u1} L (DivisionSemiring.toSemiring.{u1} L (Semifield.toDivisionSemiring.{u1} L (Field.toSemifield.{u1} L _inst_8))))) A L (NonUnitalNonAssocSemiring.toMul.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_5))))) (NonUnitalNonAssocSemiring.toMul.{u1} L (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} L (Semiring.toNonAssocSemiring.{u1} L (DivisionSemiring.toSemiring.{u1} L (Semifield.toDivisionSemiring.{u1} L (Field.toSemifield.{u1} L _inst_8)))))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u1, u2, u1} (RingHom.{u2, u1} A L (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_5))) (Semiring.toNonAssocSemiring.{u1} L (DivisionSemiring.toSemiring.{u1} L (Semifield.toDivisionSemiring.{u1} L (Field.toSemifield.{u1} L _inst_8))))) A L (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_5)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} L (Semiring.toNonAssocSemiring.{u1} L (DivisionSemiring.toSemiring.{u1} L (Semifield.toDivisionSemiring.{u1} L (Field.toSemifield.{u1} L _inst_8))))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u1, u2, u1} (RingHom.{u2, u1} A L (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_5))) (Semiring.toNonAssocSemiring.{u1} L (DivisionSemiring.toSemiring.{u1} L (Semifield.toDivisionSemiring.{u1} L (Field.toSemifield.{u1} L _inst_8))))) A L (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_5))) (Semiring.toNonAssocSemiring.{u1} L (DivisionSemiring.toSemiring.{u1} L (Semifield.toDivisionSemiring.{u1} L (Field.toSemifield.{u1} L _inst_8)))) (RingHom.instRingHomClassRingHom.{u2, u1} A L (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_5))) (Semiring.toNonAssocSemiring.{u1} L (DivisionSemiring.toSemiring.{u1} L (Semifield.toDivisionSemiring.{u1} L (Field.toSemifield.{u1} L _inst_8)))))))) (algebraMap.{u2, u1} A L (CommRing.toCommSemiring.{u2} A _inst_5) (DivisionSemiring.toSemiring.{u1} L (Semifield.toDivisionSemiring.{u1} L (Field.toSemifield.{u1} L _inst_8))) _inst_11) x) (OfNat.ofNat.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : A) => L) x) 0 (Zero.toOfNat0.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : A) => L) x) (CommMonoidWithZero.toZero.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : A) => L) x) (CommGroupWithZero.toCommMonoidWithZero.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : A) => L) x) (Semifield.toCommGroupWithZero.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : A) => L) x) (Field.toSemifield.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : A) => L) x) _inst_8))))))) -> (Eq.{succ u2} A x (OfNat.ofNat.{u2} A 0 (Zero.toOfNat0.{u2} A (CommMonoidWithZero.toZero.{u2} A (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} A (IsDomain.toCancelCommMonoidWithZero.{u2} A (CommRing.toCommSemiring.{u2} A _inst_5) _inst_6))))))) -> (IsFractionRing.{u1, u1} (Subtype.{succ u1} L (fun (x : L) => Membership.mem.{u1, u1} L (Subalgebra.{u2, u1} A L (CommRing.toCommSemiring.{u2} A _inst_5) (CommSemiring.toSemiring.{u1} L (CommRing.toCommSemiring.{u1} L (EuclideanDomain.toCommRing.{u1} L (Field.toEuclideanDomain.{u1} L _inst_8)))) _inst_11) (SetLike.instMembership.{u1, u1} (Subalgebra.{u2, u1} A L (CommRing.toCommSemiring.{u2} A _inst_5) (CommSemiring.toSemiring.{u1} L (CommRing.toCommSemiring.{u1} L (EuclideanDomain.toCommRing.{u1} L (Field.toEuclideanDomain.{u1} L _inst_8)))) _inst_11) L (Subalgebra.instSetLikeSubalgebra.{u2, u1} A L (CommRing.toCommSemiring.{u2} A _inst_5) (CommSemiring.toSemiring.{u1} L (CommRing.toCommSemiring.{u1} L (EuclideanDomain.toCommRing.{u1} L (Field.toEuclideanDomain.{u1} L _inst_8)))) _inst_11)) x (integralClosure.{u2, u1} A L _inst_5 (EuclideanDomain.toCommRing.{u1} L (Field.toEuclideanDomain.{u1} L _inst_8)) _inst_11))) (Subalgebra.toCommRing.{u2, u1} A L _inst_5 (EuclideanDomain.toCommRing.{u1} L (Field.toEuclideanDomain.{u1} L _inst_8)) _inst_11 (integralClosure.{u2, u1} A L _inst_5 (EuclideanDomain.toCommRing.{u1} L (Field.toEuclideanDomain.{u1} L _inst_8)) _inst_11)) L (EuclideanDomain.toCommRing.{u1} L (Field.toEuclideanDomain.{u1} L _inst_8)) (Subalgebra.toAlgebra.{u1, u2, u1} L A L (CommRing.toCommSemiring.{u2} A _inst_5) (Semifield.toCommSemiring.{u1} L (Field.toSemifield.{u1} L _inst_8)) (CommSemiring.toSemiring.{u1} L (CommRing.toCommSemiring.{u1} L (EuclideanDomain.toCommRing.{u1} L (Field.toEuclideanDomain.{u1} L _inst_8)))) _inst_11 (Algebra.id.{u1} L (Semifield.toCommSemiring.{u1} L (Field.toSemifield.{u1} L _inst_8))) (integralClosure.{u2, u1} A L _inst_5 (EuclideanDomain.toCommRing.{u1} L (Field.toEuclideanDomain.{u1} L _inst_8)) _inst_11)))
+Case conversion may be inaccurate. Consider using '#align integral_closure.is_fraction_ring_of_algebraic integralClosure.isFractionRing_of_algebraicₓ'. -/
 /-- If the field `L` is an algebraic extension of the integral domain `A`,
 the integral closure of `A` in `L` has fraction field `L`. -/
 theorem isFractionRing_of_algebraic [Algebra A L] (alg : IsAlgebraic A L)
@@ -367,6 +477,12 @@ theorem isFractionRing_of_algebraic [Algebra A L] (alg : IsAlgebraic A L)
 
 variable (K L)
 
+/- warning: integral_closure.is_fraction_ring_of_finite_extension -> integralClosure.isFractionRing_of_finite_extension is a dubious translation:
+lean 3 declaration is
+  forall {A : Type.{u1}} (K : Type.{u2}) [_inst_5 : CommRing.{u1} A] [_inst_6 : IsDomain.{u1} A (Ring.toSemiring.{u1} A (CommRing.toRing.{u1} A _inst_5))] (L : Type.{u3}) [_inst_7 : Field.{u2} K] [_inst_8 : Field.{u3} L] [_inst_9 : Algebra.{u1, u2} A K (CommRing.toCommSemiring.{u1} A _inst_5) (Ring.toSemiring.{u2} K (DivisionRing.toRing.{u2} K (Field.toDivisionRing.{u2} K _inst_7)))] [_inst_10 : IsFractionRing.{u1, u2} A _inst_5 K (EuclideanDomain.toCommRing.{u2} K (Field.toEuclideanDomain.{u2} K _inst_7)) _inst_9] [_inst_11 : Algebra.{u1, u3} A L (CommRing.toCommSemiring.{u1} A _inst_5) (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L (Field.toDivisionRing.{u3} L _inst_8)))] [_inst_12 : Algebra.{u2, u3} K L (Semifield.toCommSemiring.{u2} K (Field.toSemifield.{u2} K _inst_7)) (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L (Field.toDivisionRing.{u3} L _inst_8)))] [_inst_13 : IsScalarTower.{u1, u2, u3} A K L (SMulZeroClass.toHasSmul.{u1, u2} A K (AddZeroClass.toHasZero.{u2} K (AddMonoid.toAddZeroClass.{u2} K (AddCommMonoid.toAddMonoid.{u2} K (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} K (Semiring.toNonAssocSemiring.{u2} K (Ring.toSemiring.{u2} K (DivisionRing.toRing.{u2} K (Field.toDivisionRing.{u2} K _inst_7))))))))) (SMulWithZero.toSmulZeroClass.{u1, u2} A K (MulZeroClass.toHasZero.{u1} A (MulZeroOneClass.toMulZeroClass.{u1} A (MonoidWithZero.toMulZeroOneClass.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_5)))))) (AddZeroClass.toHasZero.{u2} K (AddMonoid.toAddZeroClass.{u2} K (AddCommMonoid.toAddMonoid.{u2} K (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} K (Semiring.toNonAssocSemiring.{u2} K (Ring.toSemiring.{u2} K (DivisionRing.toRing.{u2} K (Field.toDivisionRing.{u2} K _inst_7))))))))) (MulActionWithZero.toSMulWithZero.{u1, u2} A K (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_5))) (AddZeroClass.toHasZero.{u2} K (AddMonoid.toAddZeroClass.{u2} K (AddCommMonoid.toAddMonoid.{u2} K (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} K (Semiring.toNonAssocSemiring.{u2} K (Ring.toSemiring.{u2} K (DivisionRing.toRing.{u2} K (Field.toDivisionRing.{u2} K _inst_7))))))))) (Module.toMulActionWithZero.{u1, u2} A K (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_5)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} K (Semiring.toNonAssocSemiring.{u2} K (Ring.toSemiring.{u2} K (DivisionRing.toRing.{u2} K (Field.toDivisionRing.{u2} K _inst_7)))))) (Algebra.toModule.{u1, u2} A K (CommRing.toCommSemiring.{u1} A _inst_5) (Ring.toSemiring.{u2} K (DivisionRing.toRing.{u2} K (Field.toDivisionRing.{u2} K _inst_7))) _inst_9))))) (SMulZeroClass.toHasSmul.{u2, u3} K L (AddZeroClass.toHasZero.{u3} L (AddMonoid.toAddZeroClass.{u3} L (AddCommMonoid.toAddMonoid.{u3} L (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} L (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} L (Semiring.toNonAssocSemiring.{u3} L (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L (Field.toDivisionRing.{u3} L _inst_8))))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} K L (MulZeroClass.toHasZero.{u2} K (MulZeroOneClass.toMulZeroClass.{u2} K (MonoidWithZero.toMulZeroOneClass.{u2} K (Semiring.toMonoidWithZero.{u2} K (CommSemiring.toSemiring.{u2} K (Semifield.toCommSemiring.{u2} K (Field.toSemifield.{u2} K _inst_7))))))) (AddZeroClass.toHasZero.{u3} L (AddMonoid.toAddZeroClass.{u3} L (AddCommMonoid.toAddMonoid.{u3} L (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} L (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} L (Semiring.toNonAssocSemiring.{u3} L (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L (Field.toDivisionRing.{u3} L _inst_8))))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} K L (Semiring.toMonoidWithZero.{u2} K (CommSemiring.toSemiring.{u2} K (Semifield.toCommSemiring.{u2} K (Field.toSemifield.{u2} K _inst_7)))) (AddZeroClass.toHasZero.{u3} L (AddMonoid.toAddZeroClass.{u3} L (AddCommMonoid.toAddMonoid.{u3} L (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} L (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} L (Semiring.toNonAssocSemiring.{u3} L (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L (Field.toDivisionRing.{u3} L _inst_8))))))))) (Module.toMulActionWithZero.{u2, u3} K L (CommSemiring.toSemiring.{u2} K (Semifield.toCommSemiring.{u2} K (Field.toSemifield.{u2} K _inst_7))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} L (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} L (Semiring.toNonAssocSemiring.{u3} L (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L (Field.toDivisionRing.{u3} L _inst_8)))))) (Algebra.toModule.{u2, u3} K L (Semifield.toCommSemiring.{u2} K (Field.toSemifield.{u2} K _inst_7)) (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L (Field.toDivisionRing.{u3} L _inst_8))) _inst_12))))) (SMulZeroClass.toHasSmul.{u1, u3} A L (AddZeroClass.toHasZero.{u3} L (AddMonoid.toAddZeroClass.{u3} L (AddCommMonoid.toAddMonoid.{u3} L (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} L (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} L (Semiring.toNonAssocSemiring.{u3} L (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L (Field.toDivisionRing.{u3} L _inst_8))))))))) (SMulWithZero.toSmulZeroClass.{u1, u3} A L (MulZeroClass.toHasZero.{u1} A (MulZeroOneClass.toMulZeroClass.{u1} A (MonoidWithZero.toMulZeroOneClass.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_5)))))) (AddZeroClass.toHasZero.{u3} L (AddMonoid.toAddZeroClass.{u3} L (AddCommMonoid.toAddMonoid.{u3} L (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} L (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} L (Semiring.toNonAssocSemiring.{u3} L (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L (Field.toDivisionRing.{u3} L _inst_8))))))))) (MulActionWithZero.toSMulWithZero.{u1, u3} A L (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_5))) (AddZeroClass.toHasZero.{u3} L (AddMonoid.toAddZeroClass.{u3} L (AddCommMonoid.toAddMonoid.{u3} L (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} L (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} L (Semiring.toNonAssocSemiring.{u3} L (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L (Field.toDivisionRing.{u3} L _inst_8))))))))) (Module.toMulActionWithZero.{u1, u3} A L (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_5)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} L (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} L (Semiring.toNonAssocSemiring.{u3} L (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L (Field.toDivisionRing.{u3} L _inst_8)))))) (Algebra.toModule.{u1, u3} A L (CommRing.toCommSemiring.{u1} A _inst_5) (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L (Field.toDivisionRing.{u3} L _inst_8))) _inst_11)))))] [_inst_14 : FiniteDimensional.{u2, u3} K L (Field.toDivisionRing.{u2} K _inst_7) (NonUnitalNonAssocRing.toAddCommGroup.{u3} L (NonAssocRing.toNonUnitalNonAssocRing.{u3} L (Ring.toNonAssocRing.{u3} L (DivisionRing.toRing.{u3} L (Field.toDivisionRing.{u3} L _inst_8))))) (Algebra.toModule.{u2, u3} K L (Semifield.toCommSemiring.{u2} K (Field.toSemifield.{u2} K _inst_7)) (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L (Field.toDivisionRing.{u3} L _inst_8))) _inst_12)], IsFractionRing.{u3, u3} (coeSort.{succ u3, succ (succ u3)} (Subalgebra.{u1, u3} A L (CommRing.toCommSemiring.{u1} A _inst_5) (Ring.toSemiring.{u3} L (CommRing.toRing.{u3} L (EuclideanDomain.toCommRing.{u3} L (Field.toEuclideanDomain.{u3} L _inst_8)))) _inst_11) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Subalgebra.{u1, u3} A L (CommRing.toCommSemiring.{u1} A _inst_5) (Ring.toSemiring.{u3} L (CommRing.toRing.{u3} L (EuclideanDomain.toCommRing.{u3} L (Field.toEuclideanDomain.{u3} L _inst_8)))) _inst_11) L (Subalgebra.setLike.{u1, u3} A L (CommRing.toCommSemiring.{u1} A _inst_5) (Ring.toSemiring.{u3} L (CommRing.toRing.{u3} L (EuclideanDomain.toCommRing.{u3} L (Field.toEuclideanDomain.{u3} L _inst_8)))) _inst_11)) (integralClosure.{u1, u3} A L _inst_5 (EuclideanDomain.toCommRing.{u3} L (Field.toEuclideanDomain.{u3} L _inst_8)) _inst_11)) (Subalgebra.toCommRing.{u1, u3} A L _inst_5 (EuclideanDomain.toCommRing.{u3} L (Field.toEuclideanDomain.{u3} L _inst_8)) _inst_11 (integralClosure.{u1, u3} A L _inst_5 (EuclideanDomain.toCommRing.{u3} L (Field.toEuclideanDomain.{u3} L _inst_8)) _inst_11)) L (EuclideanDomain.toCommRing.{u3} L (Field.toEuclideanDomain.{u3} L _inst_8)) (Subalgebra.toAlgebra.{u3, u1, u3} L A L (CommRing.toCommSemiring.{u1} A _inst_5) (Semifield.toCommSemiring.{u3} L (Field.toSemifield.{u3} L _inst_8)) (Ring.toSemiring.{u3} L (CommRing.toRing.{u3} L (EuclideanDomain.toCommRing.{u3} L (Field.toEuclideanDomain.{u3} L _inst_8)))) _inst_11 (Algebra.id.{u3} L (Semifield.toCommSemiring.{u3} L (Field.toSemifield.{u3} L _inst_8))) (integralClosure.{u1, u3} A L _inst_5 (EuclideanDomain.toCommRing.{u3} L (Field.toEuclideanDomain.{u3} L _inst_8)) _inst_11))
+but is expected to have type
+  forall {A : Type.{u3}} (K : Type.{u1}) [_inst_5 : CommRing.{u3} A] [_inst_6 : IsDomain.{u3} A (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_5))] (L : Type.{u2}) [_inst_7 : Field.{u1} K] [_inst_8 : Field.{u2} L] [_inst_9 : Algebra.{u3, u1} A K (CommRing.toCommSemiring.{u3} A _inst_5) (DivisionSemiring.toSemiring.{u1} K (Semifield.toDivisionSemiring.{u1} K (Field.toSemifield.{u1} K _inst_7)))] [_inst_10 : IsFractionRing.{u3, u1} A _inst_5 K (EuclideanDomain.toCommRing.{u1} K (Field.toEuclideanDomain.{u1} K _inst_7)) _inst_9] [_inst_11 : Algebra.{u3, u2} A L (CommRing.toCommSemiring.{u3} A _inst_5) (DivisionSemiring.toSemiring.{u2} L (Semifield.toDivisionSemiring.{u2} L (Field.toSemifield.{u2} L _inst_8)))] [_inst_12 : Algebra.{u1, u2} K L (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_7)) (DivisionSemiring.toSemiring.{u2} L (Semifield.toDivisionSemiring.{u2} L (Field.toSemifield.{u2} L _inst_8)))] [_inst_13 : IsScalarTower.{u3, u1, u2} A K L (Algebra.toSMul.{u3, u1} A K (CommRing.toCommSemiring.{u3} A _inst_5) (DivisionSemiring.toSemiring.{u1} K (Semifield.toDivisionSemiring.{u1} K (Field.toSemifield.{u1} K _inst_7))) _inst_9) (Algebra.toSMul.{u1, u2} K L (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_7)) (DivisionSemiring.toSemiring.{u2} L (Semifield.toDivisionSemiring.{u2} L (Field.toSemifield.{u2} L _inst_8))) _inst_12) (Algebra.toSMul.{u3, u2} A L (CommRing.toCommSemiring.{u3} A _inst_5) (DivisionSemiring.toSemiring.{u2} L (Semifield.toDivisionSemiring.{u2} L (Field.toSemifield.{u2} L _inst_8))) _inst_11)] [_inst_14 : FiniteDimensional.{u1, u2} K L (Field.toDivisionRing.{u1} K _inst_7) (Ring.toAddCommGroup.{u2} L (DivisionRing.toRing.{u2} L (Field.toDivisionRing.{u2} L _inst_8))) (Algebra.toModule.{u1, u2} K L (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_7)) (DivisionSemiring.toSemiring.{u2} L (Semifield.toDivisionSemiring.{u2} L (Field.toSemifield.{u2} L _inst_8))) _inst_12)], IsFractionRing.{u2, u2} (Subtype.{succ u2} L (fun (x : L) => Membership.mem.{u2, u2} L (Subalgebra.{u3, u2} A L (CommRing.toCommSemiring.{u3} A _inst_5) (CommSemiring.toSemiring.{u2} L (CommRing.toCommSemiring.{u2} L (EuclideanDomain.toCommRing.{u2} L (Field.toEuclideanDomain.{u2} L _inst_8)))) _inst_11) (SetLike.instMembership.{u2, u2} (Subalgebra.{u3, u2} A L (CommRing.toCommSemiring.{u3} A _inst_5) (CommSemiring.toSemiring.{u2} L (CommRing.toCommSemiring.{u2} L (EuclideanDomain.toCommRing.{u2} L (Field.toEuclideanDomain.{u2} L _inst_8)))) _inst_11) L (Subalgebra.instSetLikeSubalgebra.{u3, u2} A L (CommRing.toCommSemiring.{u3} A _inst_5) (CommSemiring.toSemiring.{u2} L (CommRing.toCommSemiring.{u2} L (EuclideanDomain.toCommRing.{u2} L (Field.toEuclideanDomain.{u2} L _inst_8)))) _inst_11)) x (integralClosure.{u3, u2} A L _inst_5 (EuclideanDomain.toCommRing.{u2} L (Field.toEuclideanDomain.{u2} L _inst_8)) _inst_11))) (Subalgebra.toCommRing.{u3, u2} A L _inst_5 (EuclideanDomain.toCommRing.{u2} L (Field.toEuclideanDomain.{u2} L _inst_8)) _inst_11 (integralClosure.{u3, u2} A L _inst_5 (EuclideanDomain.toCommRing.{u2} L (Field.toEuclideanDomain.{u2} L _inst_8)) _inst_11)) L (EuclideanDomain.toCommRing.{u2} L (Field.toEuclideanDomain.{u2} L _inst_8)) (Subalgebra.toAlgebra.{u2, u3, u2} L A L (CommRing.toCommSemiring.{u3} A _inst_5) (Semifield.toCommSemiring.{u2} L (Field.toSemifield.{u2} L _inst_8)) (CommSemiring.toSemiring.{u2} L (CommRing.toCommSemiring.{u2} L (EuclideanDomain.toCommRing.{u2} L (Field.toEuclideanDomain.{u2} L _inst_8)))) _inst_11 (Algebra.id.{u2} L (Semifield.toCommSemiring.{u2} L (Field.toSemifield.{u2} L _inst_8))) (integralClosure.{u3, u2} A L _inst_5 (EuclideanDomain.toCommRing.{u2} L (Field.toEuclideanDomain.{u2} L _inst_8)) _inst_11))
+Case conversion may be inaccurate. Consider using '#align integral_closure.is_fraction_ring_of_finite_extension integralClosure.isFractionRing_of_finite_extensionₓ'. -/
 /-- If the field `L` is a finite extension of the fraction field of the integral domain `A`,
 the integral closure of `A` in `L` has fraction field `L`. -/
 theorem isFractionRing_of_finite_extension [Algebra A L] [Algebra K L] [IsScalarTower A K L]
@@ -380,6 +496,12 @@ namespace IsFractionRing
 
 variable (R S K)
 
+/- warning: is_fraction_ring.is_algebraic_iff' -> IsFractionRing.isAlgebraic_iff' is a dubious translation:
+lean 3 declaration is
+  forall (R : Type.{u1}) [_inst_1 : CommRing.{u1} R] (S : Type.{u2}) [_inst_2 : CommRing.{u2} S] [_inst_3 : Algebra.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))] (K : Type.{u3}) [_inst_7 : Field.{u3} K] [_inst_8 : IsDomain.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))] [_inst_9 : IsDomain.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))] [_inst_10 : Algebra.{u1, u3} R K (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u3} K (DivisionRing.toRing.{u3} K (Field.toDivisionRing.{u3} K _inst_7)))] [_inst_11 : Algebra.{u2, u3} S K (CommRing.toCommSemiring.{u2} S _inst_2) (Ring.toSemiring.{u3} K (DivisionRing.toRing.{u3} K (Field.toDivisionRing.{u3} K _inst_7)))] [_inst_12 : NoZeroSMulDivisors.{u1, u3} R K (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (MulZeroClass.toHasZero.{u3} K (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} K (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} K (NonAssocRing.toNonUnitalNonAssocRing.{u3} K (Ring.toNonAssocRing.{u3} K (DivisionRing.toRing.{u3} K (Field.toDivisionRing.{u3} K _inst_7))))))) (SMulZeroClass.toHasSmul.{u1, u3} R K (AddZeroClass.toHasZero.{u3} K (AddMonoid.toAddZeroClass.{u3} K (AddCommMonoid.toAddMonoid.{u3} K (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} K (Semiring.toNonAssocSemiring.{u3} K (Ring.toSemiring.{u3} K (DivisionRing.toRing.{u3} K (Field.toDivisionRing.{u3} K _inst_7))))))))) (SMulWithZero.toSmulZeroClass.{u1, u3} R K (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u3} K (AddMonoid.toAddZeroClass.{u3} K (AddCommMonoid.toAddMonoid.{u3} K (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} K (Semiring.toNonAssocSemiring.{u3} K (Ring.toSemiring.{u3} K (DivisionRing.toRing.{u3} K (Field.toDivisionRing.{u3} K _inst_7))))))))) (MulActionWithZero.toSMulWithZero.{u1, u3} R K (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u3} K (AddMonoid.toAddZeroClass.{u3} K (AddCommMonoid.toAddMonoid.{u3} K (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} K (Semiring.toNonAssocSemiring.{u3} K (Ring.toSemiring.{u3} K (DivisionRing.toRing.{u3} K (Field.toDivisionRing.{u3} K _inst_7))))))))) (Module.toMulActionWithZero.{u1, u3} R K (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} K (Semiring.toNonAssocSemiring.{u3} K (Ring.toSemiring.{u3} K (DivisionRing.toRing.{u3} K (Field.toDivisionRing.{u3} K _inst_7)))))) (Algebra.toModule.{u1, u3} R K (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u3} K (DivisionRing.toRing.{u3} K (Field.toDivisionRing.{u3} K _inst_7))) _inst_10)))))] [_inst_13 : IsFractionRing.{u2, u3} S _inst_2 K (EuclideanDomain.toCommRing.{u3} K (Field.toEuclideanDomain.{u3} K _inst_7)) _inst_11] [_inst_14 : IsScalarTower.{u1, u2, u3} R S K (SMulZeroClass.toHasSmul.{u1, u2} R S (AddZeroClass.toHasZero.{u2} S (AddMonoid.toAddZeroClass.{u2} S (AddCommMonoid.toAddMonoid.{u2} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)))))))) (SMulWithZero.toSmulZeroClass.{u1, u2} R S (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u2} S (AddMonoid.toAddZeroClass.{u2} S (AddCommMonoid.toAddMonoid.{u2} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)))))))) (MulActionWithZero.toSMulWithZero.{u1, u2} R S (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u2} S (AddMonoid.toAddZeroClass.{u2} S (AddCommMonoid.toAddMonoid.{u2} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)))))))) (Module.toMulActionWithZero.{u1, u2} R S (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))))) (Algebra.toModule.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) _inst_3))))) (SMulZeroClass.toHasSmul.{u2, u3} S K (AddZeroClass.toHasZero.{u3} K (AddMonoid.toAddZeroClass.{u3} K (AddCommMonoid.toAddMonoid.{u3} K (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} K (Semiring.toNonAssocSemiring.{u3} K (Ring.toSemiring.{u3} K (DivisionRing.toRing.{u3} K (Field.toDivisionRing.{u3} K _inst_7))))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} S K (MulZeroClass.toHasZero.{u2} S (MulZeroOneClass.toMulZeroClass.{u2} S (MonoidWithZero.toMulZeroOneClass.{u2} S (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))))) (AddZeroClass.toHasZero.{u3} K (AddMonoid.toAddZeroClass.{u3} K (AddCommMonoid.toAddMonoid.{u3} K (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} K (Semiring.toNonAssocSemiring.{u3} K (Ring.toSemiring.{u3} K (DivisionRing.toRing.{u3} K (Field.toDivisionRing.{u3} K _inst_7))))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} S K (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (AddZeroClass.toHasZero.{u3} K (AddMonoid.toAddZeroClass.{u3} K (AddCommMonoid.toAddMonoid.{u3} K (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} K (Semiring.toNonAssocSemiring.{u3} K (Ring.toSemiring.{u3} K (DivisionRing.toRing.{u3} K (Field.toDivisionRing.{u3} K _inst_7))))))))) (Module.toMulActionWithZero.{u2, u3} S K (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} K (Semiring.toNonAssocSemiring.{u3} K (Ring.toSemiring.{u3} K (DivisionRing.toRing.{u3} K (Field.toDivisionRing.{u3} K _inst_7)))))) (Algebra.toModule.{u2, u3} S K (CommRing.toCommSemiring.{u2} S _inst_2) (Ring.toSemiring.{u3} K (DivisionRing.toRing.{u3} K (Field.toDivisionRing.{u3} K _inst_7))) _inst_11))))) (SMulZeroClass.toHasSmul.{u1, u3} R K (AddZeroClass.toHasZero.{u3} K (AddMonoid.toAddZeroClass.{u3} K (AddCommMonoid.toAddMonoid.{u3} K (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} K (Semiring.toNonAssocSemiring.{u3} K (Ring.toSemiring.{u3} K (DivisionRing.toRing.{u3} K (Field.toDivisionRing.{u3} K _inst_7))))))))) (SMulWithZero.toSmulZeroClass.{u1, u3} R K (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u3} K (AddMonoid.toAddZeroClass.{u3} K (AddCommMonoid.toAddMonoid.{u3} K (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} K (Semiring.toNonAssocSemiring.{u3} K (Ring.toSemiring.{u3} K (DivisionRing.toRing.{u3} K (Field.toDivisionRing.{u3} K _inst_7))))))))) (MulActionWithZero.toSMulWithZero.{u1, u3} R K (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u3} K (AddMonoid.toAddZeroClass.{u3} K (AddCommMonoid.toAddMonoid.{u3} K (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} K (Semiring.toNonAssocSemiring.{u3} K (Ring.toSemiring.{u3} K (DivisionRing.toRing.{u3} K (Field.toDivisionRing.{u3} K _inst_7))))))))) (Module.toMulActionWithZero.{u1, u3} R K (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} K (Semiring.toNonAssocSemiring.{u3} K (Ring.toSemiring.{u3} K (DivisionRing.toRing.{u3} K (Field.toDivisionRing.{u3} K _inst_7)))))) (Algebra.toModule.{u1, u3} R K (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u3} K (DivisionRing.toRing.{u3} K (Field.toDivisionRing.{u3} K _inst_7))) _inst_10)))))], Iff (Algebra.IsAlgebraic.{u1, u2} R S _inst_1 (CommRing.toRing.{u2} S _inst_2) _inst_3) (Algebra.IsAlgebraic.{u1, u3} R K _inst_1 (DivisionRing.toRing.{u3} K (Field.toDivisionRing.{u3} K _inst_7)) _inst_10)
+but is expected to have type
+  forall (R : Type.{u2}) [_inst_1 : CommRing.{u2} R] (S : Type.{u1}) [_inst_2 : CommRing.{u1} S] [_inst_3 : Algebra.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))] (K : Type.{u3}) [_inst_7 : Field.{u3} K] [_inst_8 : IsDomain.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))] [_inst_9 : IsDomain.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))] [_inst_10 : Algebra.{u2, u3} R K (CommRing.toCommSemiring.{u2} R _inst_1) (DivisionSemiring.toSemiring.{u3} K (Semifield.toDivisionSemiring.{u3} K (Field.toSemifield.{u3} K _inst_7)))] [_inst_11 : Algebra.{u1, u3} S K (CommRing.toCommSemiring.{u1} S _inst_2) (DivisionSemiring.toSemiring.{u3} K (Semifield.toDivisionSemiring.{u3} K (Field.toSemifield.{u3} K _inst_7)))] [_inst_12 : NoZeroSMulDivisors.{u2, u3} R K (CommMonoidWithZero.toZero.{u2} R (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} R (IsDomain.toCancelCommMonoidWithZero.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1) _inst_8))) (CommMonoidWithZero.toZero.{u3} K (CommGroupWithZero.toCommMonoidWithZero.{u3} K (Semifield.toCommGroupWithZero.{u3} K (Field.toSemifield.{u3} K _inst_7)))) (Algebra.toSMul.{u2, u3} R K (CommRing.toCommSemiring.{u2} R _inst_1) (DivisionSemiring.toSemiring.{u3} K (Semifield.toDivisionSemiring.{u3} K (Field.toSemifield.{u3} K _inst_7))) _inst_10)] [_inst_13 : IsFractionRing.{u1, u3} S _inst_2 K (EuclideanDomain.toCommRing.{u3} K (Field.toEuclideanDomain.{u3} K _inst_7)) _inst_11] [_inst_14 : IsScalarTower.{u2, u1, u3} R S K (Algebra.toSMul.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) _inst_3) (Algebra.toSMul.{u1, u3} S K (CommRing.toCommSemiring.{u1} S _inst_2) (DivisionSemiring.toSemiring.{u3} K (Semifield.toDivisionSemiring.{u3} K (Field.toSemifield.{u3} K _inst_7))) _inst_11) (Algebra.toSMul.{u2, u3} R K (CommRing.toCommSemiring.{u2} R _inst_1) (DivisionSemiring.toSemiring.{u3} K (Semifield.toDivisionSemiring.{u3} K (Field.toSemifield.{u3} K _inst_7))) _inst_10)], Iff (Algebra.IsAlgebraic.{u2, u1} R S _inst_1 (CommRing.toRing.{u1} S _inst_2) _inst_3) (Algebra.IsAlgebraic.{u2, u3} R K _inst_1 (DivisionRing.toRing.{u3} K (Field.toDivisionRing.{u3} K _inst_7)) _inst_10)
+Case conversion may be inaccurate. Consider using '#align is_fraction_ring.is_algebraic_iff' IsFractionRing.isAlgebraic_iff'ₓ'. -/
 /-- `S` is algebraic over `R` iff a fraction ring of `S` is algebraic over `R` -/
 theorem isAlgebraic_iff' [Field K] [IsDomain R] [IsDomain S] [Algebra R K] [Algebra S K]
     [NoZeroSMulDivisors R K] [IsFractionRing S K] [IsScalarTower R S K] :
@@ -429,6 +551,12 @@ open nonZeroDivisors
 
 variable (R) {S K}
 
+/- warning: is_fraction_ring.ideal_span_singleton_map_subset -> IsFractionRing.ideal_span_singleton_map_subset is a dubious translation:
+lean 3 declaration is
+  forall (R : Type.{u1}) [_inst_1 : CommRing.{u1} R] {S : Type.{u2}} [_inst_2 : CommRing.{u2} S] [_inst_3 : Algebra.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))] {K : Type.{u3}} {L : Type.{u4}} [_inst_7 : IsDomain.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))] [_inst_8 : IsDomain.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))] [_inst_9 : Field.{u3} K] [_inst_10 : Field.{u4} L] [_inst_11 : Algebra.{u1, u3} R K (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u3} K (DivisionRing.toRing.{u3} K (Field.toDivisionRing.{u3} K _inst_9)))] [_inst_12 : Algebra.{u1, u4} R L (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u4} L (DivisionRing.toRing.{u4} L (Field.toDivisionRing.{u4} L _inst_10)))] [_inst_13 : Algebra.{u2, u4} S L (CommRing.toCommSemiring.{u2} S _inst_2) (Ring.toSemiring.{u4} L (DivisionRing.toRing.{u4} L (Field.toDivisionRing.{u4} L _inst_10)))] [_inst_14 : IsIntegralClosure.{u2, u1, u4} S R L _inst_1 (CommRing.toCommSemiring.{u2} S _inst_2) (EuclideanDomain.toCommRing.{u4} L (Field.toEuclideanDomain.{u4} L _inst_10)) _inst_12 _inst_13] [_inst_15 : IsFractionRing.{u2, u4} S _inst_2 L (EuclideanDomain.toCommRing.{u4} L (Field.toEuclideanDomain.{u4} L _inst_10)) _inst_13] [_inst_16 : Algebra.{u3, u4} K L (Semifield.toCommSemiring.{u3} K (Field.toSemifield.{u3} K _inst_9)) (Ring.toSemiring.{u4} L (DivisionRing.toRing.{u4} L (Field.toDivisionRing.{u4} L _inst_10)))] [_inst_17 : IsScalarTower.{u1, u2, u4} R S L (SMulZeroClass.toHasSmul.{u1, u2} R S (AddZeroClass.toHasZero.{u2} S (AddMonoid.toAddZeroClass.{u2} S (AddCommMonoid.toAddMonoid.{u2} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)))))))) (SMulWithZero.toSmulZeroClass.{u1, u2} R S (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u2} S (AddMonoid.toAddZeroClass.{u2} S (AddCommMonoid.toAddMonoid.{u2} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)))))))) (MulActionWithZero.toSMulWithZero.{u1, u2} R S (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u2} S (AddMonoid.toAddZeroClass.{u2} S (AddCommMonoid.toAddMonoid.{u2} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)))))))) (Module.toMulActionWithZero.{u1, u2} R S (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))))) (Algebra.toModule.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) _inst_3))))) (SMulZeroClass.toHasSmul.{u2, u4} S L (AddZeroClass.toHasZero.{u4} L (AddMonoid.toAddZeroClass.{u4} L (AddCommMonoid.toAddMonoid.{u4} L (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} L (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} L (Semiring.toNonAssocSemiring.{u4} L (Ring.toSemiring.{u4} L (DivisionRing.toRing.{u4} L (Field.toDivisionRing.{u4} L _inst_10))))))))) (SMulWithZero.toSmulZeroClass.{u2, u4} S L (MulZeroClass.toHasZero.{u2} S (MulZeroOneClass.toMulZeroClass.{u2} S (MonoidWithZero.toMulZeroOneClass.{u2} S (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))))) (AddZeroClass.toHasZero.{u4} L (AddMonoid.toAddZeroClass.{u4} L (AddCommMonoid.toAddMonoid.{u4} L (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} L (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} L (Semiring.toNonAssocSemiring.{u4} L (Ring.toSemiring.{u4} L (DivisionRing.toRing.{u4} L (Field.toDivisionRing.{u4} L _inst_10))))))))) (MulActionWithZero.toSMulWithZero.{u2, u4} S L (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (AddZeroClass.toHasZero.{u4} L (AddMonoid.toAddZeroClass.{u4} L (AddCommMonoid.toAddMonoid.{u4} L (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} L (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} L (Semiring.toNonAssocSemiring.{u4} L (Ring.toSemiring.{u4} L (DivisionRing.toRing.{u4} L (Field.toDivisionRing.{u4} L _inst_10))))))))) (Module.toMulActionWithZero.{u2, u4} S L (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} L (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} L (Semiring.toNonAssocSemiring.{u4} L (Ring.toSemiring.{u4} L (DivisionRing.toRing.{u4} L (Field.toDivisionRing.{u4} L _inst_10)))))) (Algebra.toModule.{u2, u4} S L (CommRing.toCommSemiring.{u2} S _inst_2) (Ring.toSemiring.{u4} L (DivisionRing.toRing.{u4} L (Field.toDivisionRing.{u4} L _inst_10))) _inst_13))))) (SMulZeroClass.toHasSmul.{u1, u4} R L (AddZeroClass.toHasZero.{u4} L (AddMonoid.toAddZeroClass.{u4} L (AddCommMonoid.toAddMonoid.{u4} L (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} L (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} L (Semiring.toNonAssocSemiring.{u4} L (Ring.toSemiring.{u4} L (DivisionRing.toRing.{u4} L (Field.toDivisionRing.{u4} L _inst_10))))))))) (SMulWithZero.toSmulZeroClass.{u1, u4} R L (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u4} L (AddMonoid.toAddZeroClass.{u4} L (AddCommMonoid.toAddMonoid.{u4} L (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} L (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} L (Semiring.toNonAssocSemiring.{u4} L (Ring.toSemiring.{u4} L (DivisionRing.toRing.{u4} L (Field.toDivisionRing.{u4} L _inst_10))))))))) (MulActionWithZero.toSMulWithZero.{u1, u4} R L (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u4} L (AddMonoid.toAddZeroClass.{u4} L (AddCommMonoid.toAddMonoid.{u4} L (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} L (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} L (Semiring.toNonAssocSemiring.{u4} L (Ring.toSemiring.{u4} L (DivisionRing.toRing.{u4} L (Field.toDivisionRing.{u4} L _inst_10))))))))) (Module.toMulActionWithZero.{u1, u4} R L (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} L (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} L (Semiring.toNonAssocSemiring.{u4} L (Ring.toSemiring.{u4} L (DivisionRing.toRing.{u4} L (Field.toDivisionRing.{u4} L _inst_10)))))) (Algebra.toModule.{u1, u4} R L (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u4} L (DivisionRing.toRing.{u4} L (Field.toDivisionRing.{u4} L _inst_10))) _inst_12)))))] [_inst_18 : IsScalarTower.{u1, u3, u4} R K L (SMulZeroClass.toHasSmul.{u1, u3} R K (AddZeroClass.toHasZero.{u3} K (AddMonoid.toAddZeroClass.{u3} K (AddCommMonoid.toAddMonoid.{u3} K (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} K (Semiring.toNonAssocSemiring.{u3} K (Ring.toSemiring.{u3} K (DivisionRing.toRing.{u3} K (Field.toDivisionRing.{u3} K _inst_9))))))))) (SMulWithZero.toSmulZeroClass.{u1, u3} R K (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u3} K (AddMonoid.toAddZeroClass.{u3} K (AddCommMonoid.toAddMonoid.{u3} K (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} K (Semiring.toNonAssocSemiring.{u3} K (Ring.toSemiring.{u3} K (DivisionRing.toRing.{u3} K (Field.toDivisionRing.{u3} K _inst_9))))))))) (MulActionWithZero.toSMulWithZero.{u1, u3} R K (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u3} K (AddMonoid.toAddZeroClass.{u3} K (AddCommMonoid.toAddMonoid.{u3} K (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} K (Semiring.toNonAssocSemiring.{u3} K (Ring.toSemiring.{u3} K (DivisionRing.toRing.{u3} K (Field.toDivisionRing.{u3} K _inst_9))))))))) (Module.toMulActionWithZero.{u1, u3} R K (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} K (Semiring.toNonAssocSemiring.{u3} K (Ring.toSemiring.{u3} K (DivisionRing.toRing.{u3} K (Field.toDivisionRing.{u3} K _inst_9)))))) (Algebra.toModule.{u1, u3} R K (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u3} K (DivisionRing.toRing.{u3} K (Field.toDivisionRing.{u3} K _inst_9))) _inst_11))))) (SMulZeroClass.toHasSmul.{u3, u4} K L (AddZeroClass.toHasZero.{u4} L (AddMonoid.toAddZeroClass.{u4} L (AddCommMonoid.toAddMonoid.{u4} L (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} L (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} L (Semiring.toNonAssocSemiring.{u4} L (Ring.toSemiring.{u4} L (DivisionRing.toRing.{u4} L (Field.toDivisionRing.{u4} L _inst_10))))))))) (SMulWithZero.toSmulZeroClass.{u3, u4} K L (MulZeroClass.toHasZero.{u3} K (MulZeroOneClass.toMulZeroClass.{u3} K (MonoidWithZero.toMulZeroOneClass.{u3} K (Semiring.toMonoidWithZero.{u3} K (CommSemiring.toSemiring.{u3} K (Semifield.toCommSemiring.{u3} K (Field.toSemifield.{u3} K _inst_9))))))) (AddZeroClass.toHasZero.{u4} L (AddMonoid.toAddZeroClass.{u4} L (AddCommMonoid.toAddMonoid.{u4} L (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} L (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} L (Semiring.toNonAssocSemiring.{u4} L (Ring.toSemiring.{u4} L (DivisionRing.toRing.{u4} L (Field.toDivisionRing.{u4} L _inst_10))))))))) (MulActionWithZero.toSMulWithZero.{u3, u4} K L (Semiring.toMonoidWithZero.{u3} K (CommSemiring.toSemiring.{u3} K (Semifield.toCommSemiring.{u3} K (Field.toSemifield.{u3} K _inst_9)))) (AddZeroClass.toHasZero.{u4} L (AddMonoid.toAddZeroClass.{u4} L (AddCommMonoid.toAddMonoid.{u4} L (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} L (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} L (Semiring.toNonAssocSemiring.{u4} L (Ring.toSemiring.{u4} L (DivisionRing.toRing.{u4} L (Field.toDivisionRing.{u4} L _inst_10))))))))) (Module.toMulActionWithZero.{u3, u4} K L (CommSemiring.toSemiring.{u3} K (Semifield.toCommSemiring.{u3} K (Field.toSemifield.{u3} K _inst_9))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} L (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} L (Semiring.toNonAssocSemiring.{u4} L (Ring.toSemiring.{u4} L (DivisionRing.toRing.{u4} L (Field.toDivisionRing.{u4} L _inst_10)))))) (Algebra.toModule.{u3, u4} K L (Semifield.toCommSemiring.{u3} K (Field.toSemifield.{u3} K _inst_9)) (Ring.toSemiring.{u4} L (DivisionRing.toRing.{u4} L (Field.toDivisionRing.{u4} L _inst_10))) _inst_16))))) (SMulZeroClass.toHasSmul.{u1, u4} R L (AddZeroClass.toHasZero.{u4} L (AddMonoid.toAddZeroClass.{u4} L (AddCommMonoid.toAddMonoid.{u4} L (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} L (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} L (Semiring.toNonAssocSemiring.{u4} L (Ring.toSemiring.{u4} L (DivisionRing.toRing.{u4} L (Field.toDivisionRing.{u4} L _inst_10))))))))) (SMulWithZero.toSmulZeroClass.{u1, u4} R L (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u4} L (AddMonoid.toAddZeroClass.{u4} L (AddCommMonoid.toAddMonoid.{u4} L (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} L (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} L (Semiring.toNonAssocSemiring.{u4} L (Ring.toSemiring.{u4} L (DivisionRing.toRing.{u4} L (Field.toDivisionRing.{u4} L _inst_10))))))))) (MulActionWithZero.toSMulWithZero.{u1, u4} R L (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u4} L (AddMonoid.toAddZeroClass.{u4} L (AddCommMonoid.toAddMonoid.{u4} L (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} L (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} L (Semiring.toNonAssocSemiring.{u4} L (Ring.toSemiring.{u4} L (DivisionRing.toRing.{u4} L (Field.toDivisionRing.{u4} L _inst_10))))))))) (Module.toMulActionWithZero.{u1, u4} R L (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} L (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} L (Semiring.toNonAssocSemiring.{u4} L (Ring.toSemiring.{u4} L (DivisionRing.toRing.{u4} L (Field.toDivisionRing.{u4} L _inst_10)))))) (Algebra.toModule.{u1, u4} R L (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u4} L (DivisionRing.toRing.{u4} L (Field.toDivisionRing.{u4} L _inst_10))) _inst_12)))))] {a : S} {b : Set.{u2} S}, (Algebra.IsAlgebraic.{u1, u4} R L _inst_1 (DivisionRing.toRing.{u4} L (Field.toDivisionRing.{u4} L _inst_10)) _inst_12) -> (Function.Injective.{succ u1, succ u4} R L (coeFn.{max (succ u1) (succ u4), max (succ u1) (succ u4)} (RingHom.{u1, u4} R L (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u4} L (Ring.toSemiring.{u4} L (DivisionRing.toRing.{u4} L (Field.toDivisionRing.{u4} L _inst_10))))) (fun (_x : RingHom.{u1, u4} R L (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u4} L (Ring.toSemiring.{u4} L (DivisionRing.toRing.{u4} L (Field.toDivisionRing.{u4} L _inst_10))))) => R -> L) (RingHom.hasCoeToFun.{u1, u4} R L (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u4} L (Ring.toSemiring.{u4} L (DivisionRing.toRing.{u4} L (Field.toDivisionRing.{u4} L _inst_10))))) (algebraMap.{u1, u4} R L (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u4} L (DivisionRing.toRing.{u4} L (Field.toDivisionRing.{u4} L _inst_10))) _inst_12))) -> (HasSubset.Subset.{u2} (Set.{u2} S) (Set.hasSubset.{u2} S) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Ideal.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))) (Set.{u2} S) (HasLiftT.mk.{succ u2, succ u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))) (Set.{u2} S) (CoeTCₓ.coe.{succ u2, succ u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))) (Set.{u2} S) (SetLike.Set.hasCoeT.{u2, u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))) S (Submodule.setLike.{u2, u2} S S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))))) (Semiring.toModule.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))))))) (Ideal.span.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) (Singleton.singleton.{u2, u2} S (Set.{u2} S) (Set.hasSingleton.{u2} S) a))) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Submodule.{u1, u2} R S (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} S (NonUnitalNonAssocRing.toAddCommGroup.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2))))) (Algebra.toModule.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) _inst_3)) (Set.{u2} S) (HasLiftT.mk.{succ u2, succ u2} (Submodule.{u1, u2} R S (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} S (NonUnitalNonAssocRing.toAddCommGroup.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2))))) (Algebra.toModule.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) _inst_3)) (Set.{u2} S) (CoeTCₓ.coe.{succ u2, succ u2} (Submodule.{u1, u2} R S (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} S (NonUnitalNonAssocRing.toAddCommGroup.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2))))) (Algebra.toModule.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) _inst_3)) (Set.{u2} S) (SetLike.Set.hasCoeT.{u2, u2} (Submodule.{u1, u2} R S (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} S (NonUnitalNonAssocRing.toAddCommGroup.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2))))) (Algebra.toModule.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) _inst_3)) S (Submodule.setLike.{u1, u2} R S (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} S (NonUnitalNonAssocRing.toAddCommGroup.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2))))) (Algebra.toModule.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) _inst_3))))) (Submodule.span.{u1, u2} R S (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} S (NonUnitalNonAssocRing.toAddCommGroup.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2))))) (Algebra.toModule.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) _inst_3) b))) -> (HasSubset.Subset.{u4} (Set.{u4} L) (Set.hasSubset.{u4} L) ((fun (a : Type.{u4}) (b : Type.{u4}) [self : HasLiftT.{succ u4, succ u4} a b] => self.0) (Ideal.{u4} L (Ring.toSemiring.{u4} L (DivisionRing.toRing.{u4} L (Field.toDivisionRing.{u4} L _inst_10)))) (Set.{u4} L) (HasLiftT.mk.{succ u4, succ u4} (Ideal.{u4} L (Ring.toSemiring.{u4} L (DivisionRing.toRing.{u4} L (Field.toDivisionRing.{u4} L _inst_10)))) (Set.{u4} L) (CoeTCₓ.coe.{succ u4, succ u4} (Ideal.{u4} L (Ring.toSemiring.{u4} L (DivisionRing.toRing.{u4} L (Field.toDivisionRing.{u4} L _inst_10)))) (Set.{u4} L) (SetLike.Set.hasCoeT.{u4, u4} (Ideal.{u4} L (Ring.toSemiring.{u4} L (DivisionRing.toRing.{u4} L (Field.toDivisionRing.{u4} L _inst_10)))) L (Submodule.setLike.{u4, u4} L L (Ring.toSemiring.{u4} L (DivisionRing.toRing.{u4} L (Field.toDivisionRing.{u4} L _inst_10))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} L (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} L (Semiring.toNonAssocSemiring.{u4} L (Ring.toSemiring.{u4} L (DivisionRing.toRing.{u4} L (Field.toDivisionRing.{u4} L _inst_10)))))) (Semiring.toModule.{u4} L (Ring.toSemiring.{u4} L (DivisionRing.toRing.{u4} L (Field.toDivisionRing.{u4} L _inst_10)))))))) (Ideal.span.{u4} L (Ring.toSemiring.{u4} L (DivisionRing.toRing.{u4} L (Field.toDivisionRing.{u4} L _inst_10))) (Singleton.singleton.{u4, u4} L (Set.{u4} L) (Set.hasSingleton.{u4} L) (coeFn.{max (succ u2) (succ u4), max (succ u2) (succ u4)} (RingHom.{u2, u4} S L (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (Semiring.toNonAssocSemiring.{u4} L (Ring.toSemiring.{u4} L (DivisionRing.toRing.{u4} L (Field.toDivisionRing.{u4} L _inst_10))))) (fun (_x : RingHom.{u2, u4} S L (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (Semiring.toNonAssocSemiring.{u4} L (Ring.toSemiring.{u4} L (DivisionRing.toRing.{u4} L (Field.toDivisionRing.{u4} L _inst_10))))) => S -> L) (RingHom.hasCoeToFun.{u2, u4} S L (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (Semiring.toNonAssocSemiring.{u4} L (Ring.toSemiring.{u4} L (DivisionRing.toRing.{u4} L (Field.toDivisionRing.{u4} L _inst_10))))) (algebraMap.{u2, u4} S L (CommRing.toCommSemiring.{u2} S _inst_2) (Ring.toSemiring.{u4} L (DivisionRing.toRing.{u4} L (Field.toDivisionRing.{u4} L _inst_10))) _inst_13) a)))) ((fun (a : Type.{u4}) (b : Type.{u4}) [self : HasLiftT.{succ u4, succ u4} a b] => self.0) (Submodule.{u3, u4} K L (Ring.toSemiring.{u3} K (DivisionRing.toRing.{u3} K (Field.toDivisionRing.{u3} K _inst_9))) (AddCommGroup.toAddCommMonoid.{u4} L (NonUnitalNonAssocRing.toAddCommGroup.{u4} L (NonAssocRing.toNonUnitalNonAssocRing.{u4} L (Ring.toNonAssocRing.{u4} L (DivisionRing.toRing.{u4} L (Field.toDivisionRing.{u4} L _inst_10)))))) (Algebra.toModule.{u3, u4} K L (Semifield.toCommSemiring.{u3} K (Field.toSemifield.{u3} K _inst_9)) (Ring.toSemiring.{u4} L (DivisionRing.toRing.{u4} L (Field.toDivisionRing.{u4} L _inst_10))) _inst_16)) (Set.{u4} L) (HasLiftT.mk.{succ u4, succ u4} (Submodule.{u3, u4} K L (Ring.toSemiring.{u3} K (DivisionRing.toRing.{u3} K (Field.toDivisionRing.{u3} K _inst_9))) (AddCommGroup.toAddCommMonoid.{u4} L (NonUnitalNonAssocRing.toAddCommGroup.{u4} L (NonAssocRing.toNonUnitalNonAssocRing.{u4} L (Ring.toNonAssocRing.{u4} L (DivisionRing.toRing.{u4} L (Field.toDivisionRing.{u4} L _inst_10)))))) (Algebra.toModule.{u3, u4} K L (Semifield.toCommSemiring.{u3} K (Field.toSemifield.{u3} K _inst_9)) (Ring.toSemiring.{u4} L (DivisionRing.toRing.{u4} L (Field.toDivisionRing.{u4} L _inst_10))) _inst_16)) (Set.{u4} L) (CoeTCₓ.coe.{succ u4, succ u4} (Submodule.{u3, u4} K L (Ring.toSemiring.{u3} K (DivisionRing.toRing.{u3} K (Field.toDivisionRing.{u3} K _inst_9))) (AddCommGroup.toAddCommMonoid.{u4} L (NonUnitalNonAssocRing.toAddCommGroup.{u4} L (NonAssocRing.toNonUnitalNonAssocRing.{u4} L (Ring.toNonAssocRing.{u4} L (DivisionRing.toRing.{u4} L (Field.toDivisionRing.{u4} L _inst_10)))))) (Algebra.toModule.{u3, u4} K L (Semifield.toCommSemiring.{u3} K (Field.toSemifield.{u3} K _inst_9)) (Ring.toSemiring.{u4} L (DivisionRing.toRing.{u4} L (Field.toDivisionRing.{u4} L _inst_10))) _inst_16)) (Set.{u4} L) (SetLike.Set.hasCoeT.{u4, u4} (Submodule.{u3, u4} K L (Ring.toSemiring.{u3} K (DivisionRing.toRing.{u3} K (Field.toDivisionRing.{u3} K _inst_9))) (AddCommGroup.toAddCommMonoid.{u4} L (NonUnitalNonAssocRing.toAddCommGroup.{u4} L (NonAssocRing.toNonUnitalNonAssocRing.{u4} L (Ring.toNonAssocRing.{u4} L (DivisionRing.toRing.{u4} L (Field.toDivisionRing.{u4} L _inst_10)))))) (Algebra.toModule.{u3, u4} K L (Semifield.toCommSemiring.{u3} K (Field.toSemifield.{u3} K _inst_9)) (Ring.toSemiring.{u4} L (DivisionRing.toRing.{u4} L (Field.toDivisionRing.{u4} L _inst_10))) _inst_16)) L (Submodule.setLike.{u3, u4} K L (Ring.toSemiring.{u3} K (DivisionRing.toRing.{u3} K (Field.toDivisionRing.{u3} K _inst_9))) (AddCommGroup.toAddCommMonoid.{u4} L (NonUnitalNonAssocRing.toAddCommGroup.{u4} L (NonAssocRing.toNonUnitalNonAssocRing.{u4} L (Ring.toNonAssocRing.{u4} L (DivisionRing.toRing.{u4} L (Field.toDivisionRing.{u4} L _inst_10)))))) (Algebra.toModule.{u3, u4} K L (Semifield.toCommSemiring.{u3} K (Field.toSemifield.{u3} K _inst_9)) (Ring.toSemiring.{u4} L (DivisionRing.toRing.{u4} L (Field.toDivisionRing.{u4} L _inst_10))) _inst_16))))) (Submodule.span.{u3, u4} K L (Ring.toSemiring.{u3} K (DivisionRing.toRing.{u3} K (Field.toDivisionRing.{u3} K _inst_9))) (AddCommGroup.toAddCommMonoid.{u4} L (NonUnitalNonAssocRing.toAddCommGroup.{u4} L (NonAssocRing.toNonUnitalNonAssocRing.{u4} L (Ring.toNonAssocRing.{u4} L (DivisionRing.toRing.{u4} L (Field.toDivisionRing.{u4} L _inst_10)))))) (Algebra.toModule.{u3, u4} K L (Semifield.toCommSemiring.{u3} K (Field.toSemifield.{u3} K _inst_9)) (Ring.toSemiring.{u4} L (DivisionRing.toRing.{u4} L (Field.toDivisionRing.{u4} L _inst_10))) _inst_16) (Set.image.{u2, u4} S L (coeFn.{max (succ u2) (succ u4), max (succ u2) (succ u4)} (RingHom.{u2, u4} S L (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (Semiring.toNonAssocSemiring.{u4} L (Ring.toSemiring.{u4} L (DivisionRing.toRing.{u4} L (Field.toDivisionRing.{u4} L _inst_10))))) (fun (_x : RingHom.{u2, u4} S L (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (Semiring.toNonAssocSemiring.{u4} L (Ring.toSemiring.{u4} L (DivisionRing.toRing.{u4} L (Field.toDivisionRing.{u4} L _inst_10))))) => S -> L) (RingHom.hasCoeToFun.{u2, u4} S L (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (Semiring.toNonAssocSemiring.{u4} L (Ring.toSemiring.{u4} L (DivisionRing.toRing.{u4} L (Field.toDivisionRing.{u4} L _inst_10))))) (algebraMap.{u2, u4} S L (CommRing.toCommSemiring.{u2} S _inst_2) (Ring.toSemiring.{u4} L (DivisionRing.toRing.{u4} L (Field.toDivisionRing.{u4} L _inst_10))) _inst_13)) b))))
+but is expected to have type
+  forall (R : Type.{u3}) [_inst_1 : CommRing.{u3} R] {S : Type.{u2}} [_inst_2 : CommRing.{u2} S] [_inst_3 : Algebra.{u3, u2} R S (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))] {K : Type.{u1}} {L : Type.{u4}} [_inst_7 : IsDomain.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))] [_inst_8 : IsDomain.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))] [_inst_9 : Field.{u1} K] [_inst_10 : Field.{u4} L] [_inst_11 : Algebra.{u3, u1} R K (CommRing.toCommSemiring.{u3} R _inst_1) (DivisionSemiring.toSemiring.{u1} K (Semifield.toDivisionSemiring.{u1} K (Field.toSemifield.{u1} K _inst_9)))] [_inst_12 : Algebra.{u3, u4} R L (CommRing.toCommSemiring.{u3} R _inst_1) (DivisionSemiring.toSemiring.{u4} L (Semifield.toDivisionSemiring.{u4} L (Field.toSemifield.{u4} L _inst_10)))] [_inst_13 : Algebra.{u2, u4} S L (CommRing.toCommSemiring.{u2} S _inst_2) (DivisionSemiring.toSemiring.{u4} L (Semifield.toDivisionSemiring.{u4} L (Field.toSemifield.{u4} L _inst_10)))] [_inst_14 : IsIntegralClosure.{u2, u3, u4} S R L _inst_1 (CommRing.toCommSemiring.{u2} S _inst_2) (EuclideanDomain.toCommRing.{u4} L (Field.toEuclideanDomain.{u4} L _inst_10)) _inst_12 _inst_13] [_inst_15 : IsFractionRing.{u2, u4} S _inst_2 L (EuclideanDomain.toCommRing.{u4} L (Field.toEuclideanDomain.{u4} L _inst_10)) _inst_13] [_inst_16 : Algebra.{u1, u4} K L (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_9)) (DivisionSemiring.toSemiring.{u4} L (Semifield.toDivisionSemiring.{u4} L (Field.toSemifield.{u4} L _inst_10)))] [_inst_17 : IsScalarTower.{u3, u2, u4} R S L (Algebra.toSMul.{u3, u2} R S (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) _inst_3) (Algebra.toSMul.{u2, u4} S L (CommRing.toCommSemiring.{u2} S _inst_2) (DivisionSemiring.toSemiring.{u4} L (Semifield.toDivisionSemiring.{u4} L (Field.toSemifield.{u4} L _inst_10))) _inst_13) (Algebra.toSMul.{u3, u4} R L (CommRing.toCommSemiring.{u3} R _inst_1) (DivisionSemiring.toSemiring.{u4} L (Semifield.toDivisionSemiring.{u4} L (Field.toSemifield.{u4} L _inst_10))) _inst_12)] [_inst_18 : IsScalarTower.{u3, u1, u4} R K L (Algebra.toSMul.{u3, u1} R K (CommRing.toCommSemiring.{u3} R _inst_1) (DivisionSemiring.toSemiring.{u1} K (Semifield.toDivisionSemiring.{u1} K (Field.toSemifield.{u1} K _inst_9))) _inst_11) (Algebra.toSMul.{u1, u4} K L (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_9)) (DivisionSemiring.toSemiring.{u4} L (Semifield.toDivisionSemiring.{u4} L (Field.toSemifield.{u4} L _inst_10))) _inst_16) (Algebra.toSMul.{u3, u4} R L (CommRing.toCommSemiring.{u3} R _inst_1) (DivisionSemiring.toSemiring.{u4} L (Semifield.toDivisionSemiring.{u4} L (Field.toSemifield.{u4} L _inst_10))) _inst_12)] {a : S} {b : Set.{u2} S}, (Algebra.IsAlgebraic.{u3, u4} R L _inst_1 (DivisionRing.toRing.{u4} L (Field.toDivisionRing.{u4} L _inst_10)) _inst_12) -> (Function.Injective.{succ u3, succ u4} R L (FunLike.coe.{max (succ u3) (succ u4), succ u3, succ u4} (RingHom.{u3, u4} R L (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (Semiring.toNonAssocSemiring.{u4} L (DivisionSemiring.toSemiring.{u4} L (Semifield.toDivisionSemiring.{u4} L (Field.toSemifield.{u4} L _inst_10))))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => L) _x) (MulHomClass.toFunLike.{max u3 u4, u3, u4} (RingHom.{u3, u4} R L (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (Semiring.toNonAssocSemiring.{u4} L (DivisionSemiring.toSemiring.{u4} L (Semifield.toDivisionSemiring.{u4} L (Field.toSemifield.{u4} L _inst_10))))) R L (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))) (NonUnitalNonAssocSemiring.toMul.{u4} L (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} L (Semiring.toNonAssocSemiring.{u4} L (DivisionSemiring.toSemiring.{u4} L (Semifield.toDivisionSemiring.{u4} L (Field.toSemifield.{u4} L _inst_10)))))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u4, u3, u4} (RingHom.{u3, u4} R L (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (Semiring.toNonAssocSemiring.{u4} L (DivisionSemiring.toSemiring.{u4} L (Semifield.toDivisionSemiring.{u4} L (Field.toSemifield.{u4} L _inst_10))))) R L (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} L (Semiring.toNonAssocSemiring.{u4} L (DivisionSemiring.toSemiring.{u4} L (Semifield.toDivisionSemiring.{u4} L (Field.toSemifield.{u4} L _inst_10))))) (RingHomClass.toNonUnitalRingHomClass.{max u3 u4, u3, u4} (RingHom.{u3, u4} R L (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (Semiring.toNonAssocSemiring.{u4} L (DivisionSemiring.toSemiring.{u4} L (Semifield.toDivisionSemiring.{u4} L (Field.toSemifield.{u4} L _inst_10))))) R L (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (Semiring.toNonAssocSemiring.{u4} L (DivisionSemiring.toSemiring.{u4} L (Semifield.toDivisionSemiring.{u4} L (Field.toSemifield.{u4} L _inst_10)))) (RingHom.instRingHomClassRingHom.{u3, u4} R L (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (Semiring.toNonAssocSemiring.{u4} L (DivisionSemiring.toSemiring.{u4} L (Semifield.toDivisionSemiring.{u4} L (Field.toSemifield.{u4} L _inst_10)))))))) (algebraMap.{u3, u4} R L (CommRing.toCommSemiring.{u3} R _inst_1) (DivisionSemiring.toSemiring.{u4} L (Semifield.toDivisionSemiring.{u4} L (Field.toSemifield.{u4} L _inst_10))) _inst_12))) -> (HasSubset.Subset.{u2} (Set.{u2} S) (Set.instHasSubsetSet.{u2} S) (SetLike.coe.{u2, u2} (Ideal.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) S (Submodule.setLike.{u2, u2} S S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (Semiring.toModule.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (Ideal.span.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (Singleton.singleton.{u2, u2} S (Set.{u2} S) (Set.instSingletonSet.{u2} S) a))) (SetLike.coe.{u2, u2} (Submodule.{u3, u2} R S (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2))))) (Algebra.toModule.{u3, u2} R S (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) _inst_3)) S (Submodule.setLike.{u3, u2} R S (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2))))) (Algebra.toModule.{u3, u2} R S (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) _inst_3)) (Submodule.span.{u3, u2} R S (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2))))) (Algebra.toModule.{u3, u2} R S (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) _inst_3) b))) -> (HasSubset.Subset.{u4} (Set.{u4} L) (Set.instHasSubsetSet.{u4} L) (SetLike.coe.{u4, u4} (Ideal.{u4} L (DivisionSemiring.toSemiring.{u4} L (Semifield.toDivisionSemiring.{u4} L (Field.toSemifield.{u4} L _inst_10)))) L (Submodule.setLike.{u4, u4} L L (DivisionSemiring.toSemiring.{u4} L (Semifield.toDivisionSemiring.{u4} L (Field.toSemifield.{u4} L _inst_10))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} L (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} L (Semiring.toNonAssocSemiring.{u4} L (DivisionSemiring.toSemiring.{u4} L (Semifield.toDivisionSemiring.{u4} L (Field.toSemifield.{u4} L _inst_10)))))) (Semiring.toModule.{u4} L (DivisionSemiring.toSemiring.{u4} L (Semifield.toDivisionSemiring.{u4} L (Field.toSemifield.{u4} L _inst_10))))) (Ideal.span.{u4} L (DivisionSemiring.toSemiring.{u4} L (Semifield.toDivisionSemiring.{u4} L (Field.toSemifield.{u4} L _inst_10))) (Singleton.singleton.{u4, u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : S) => L) a) (Set.{u4} L) (Set.instSingletonSet.{u4} L) (FunLike.coe.{max (succ u2) (succ u4), succ u2, succ u4} (RingHom.{u2, u4} S L (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (Semiring.toNonAssocSemiring.{u4} L (DivisionSemiring.toSemiring.{u4} L (Semifield.toDivisionSemiring.{u4} L (Field.toSemifield.{u4} L _inst_10))))) S (fun (_x : S) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : S) => L) _x) (MulHomClass.toFunLike.{max u2 u4, u2, u4} (RingHom.{u2, u4} S L (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (Semiring.toNonAssocSemiring.{u4} L (DivisionSemiring.toSemiring.{u4} L (Semifield.toDivisionSemiring.{u4} L (Field.toSemifield.{u4} L _inst_10))))) S L (NonUnitalNonAssocSemiring.toMul.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (NonUnitalNonAssocSemiring.toMul.{u4} L (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} L (Semiring.toNonAssocSemiring.{u4} L (DivisionSemiring.toSemiring.{u4} L (Semifield.toDivisionSemiring.{u4} L (Field.toSemifield.{u4} L _inst_10)))))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u4, u2, u4} (RingHom.{u2, u4} S L (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (Semiring.toNonAssocSemiring.{u4} L (DivisionSemiring.toSemiring.{u4} L (Semifield.toDivisionSemiring.{u4} L (Field.toSemifield.{u4} L _inst_10))))) S L (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} L (Semiring.toNonAssocSemiring.{u4} L (DivisionSemiring.toSemiring.{u4} L (Semifield.toDivisionSemiring.{u4} L (Field.toSemifield.{u4} L _inst_10))))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u4, u2, u4} (RingHom.{u2, u4} S L (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (Semiring.toNonAssocSemiring.{u4} L (DivisionSemiring.toSemiring.{u4} L (Semifield.toDivisionSemiring.{u4} L (Field.toSemifield.{u4} L _inst_10))))) S L (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (Semiring.toNonAssocSemiring.{u4} L (DivisionSemiring.toSemiring.{u4} L (Semifield.toDivisionSemiring.{u4} L (Field.toSemifield.{u4} L _inst_10)))) (RingHom.instRingHomClassRingHom.{u2, u4} S L (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (Semiring.toNonAssocSemiring.{u4} L (DivisionSemiring.toSemiring.{u4} L (Semifield.toDivisionSemiring.{u4} L (Field.toSemifield.{u4} L _inst_10)))))))) (algebraMap.{u2, u4} S L (CommRing.toCommSemiring.{u2} S _inst_2) (DivisionSemiring.toSemiring.{u4} L (Semifield.toDivisionSemiring.{u4} L (Field.toSemifield.{u4} L _inst_10))) _inst_13) a)))) (SetLike.coe.{u4, u4} (Submodule.{u1, u4} K L (DivisionSemiring.toSemiring.{u1} K (Semifield.toDivisionSemiring.{u1} K (Field.toSemifield.{u1} K _inst_9))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} L (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} L (NonAssocRing.toNonUnitalNonAssocRing.{u4} L (Ring.toNonAssocRing.{u4} L (DivisionRing.toRing.{u4} L (Field.toDivisionRing.{u4} L _inst_10)))))) (Algebra.toModule.{u1, u4} K L (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_9)) (DivisionSemiring.toSemiring.{u4} L (Semifield.toDivisionSemiring.{u4} L (Field.toSemifield.{u4} L _inst_10))) _inst_16)) L (Submodule.setLike.{u1, u4} K L (DivisionSemiring.toSemiring.{u1} K (Semifield.toDivisionSemiring.{u1} K (Field.toSemifield.{u1} K _inst_9))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} L (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} L (NonAssocRing.toNonUnitalNonAssocRing.{u4} L (Ring.toNonAssocRing.{u4} L (DivisionRing.toRing.{u4} L (Field.toDivisionRing.{u4} L _inst_10)))))) (Algebra.toModule.{u1, u4} K L (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_9)) (DivisionSemiring.toSemiring.{u4} L (Semifield.toDivisionSemiring.{u4} L (Field.toSemifield.{u4} L _inst_10))) _inst_16)) (Submodule.span.{u1, u4} K L (DivisionSemiring.toSemiring.{u1} K (Semifield.toDivisionSemiring.{u1} K (Field.toSemifield.{u1} K _inst_9))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} L (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} L (NonAssocRing.toNonUnitalNonAssocRing.{u4} L (Ring.toNonAssocRing.{u4} L (DivisionRing.toRing.{u4} L (Field.toDivisionRing.{u4} L _inst_10)))))) (Algebra.toModule.{u1, u4} K L (Semifield.toCommSemiring.{u1} K (Field.toSemifield.{u1} K _inst_9)) (DivisionSemiring.toSemiring.{u4} L (Semifield.toDivisionSemiring.{u4} L (Field.toSemifield.{u4} L _inst_10))) _inst_16) (Set.image.{u2, u4} S L (FunLike.coe.{max (succ u2) (succ u4), succ u2, succ u4} (RingHom.{u2, u4} S L (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (Semiring.toNonAssocSemiring.{u4} L (DivisionSemiring.toSemiring.{u4} L (Semifield.toDivisionSemiring.{u4} L (Field.toSemifield.{u4} L _inst_10))))) S (fun (_x : S) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : S) => L) _x) (MulHomClass.toFunLike.{max u2 u4, u2, u4} (RingHom.{u2, u4} S L (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (Semiring.toNonAssocSemiring.{u4} L (DivisionSemiring.toSemiring.{u4} L (Semifield.toDivisionSemiring.{u4} L (Field.toSemifield.{u4} L _inst_10))))) S L (NonUnitalNonAssocSemiring.toMul.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (NonUnitalNonAssocSemiring.toMul.{u4} L (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} L (Semiring.toNonAssocSemiring.{u4} L (DivisionSemiring.toSemiring.{u4} L (Semifield.toDivisionSemiring.{u4} L (Field.toSemifield.{u4} L _inst_10)))))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u4, u2, u4} (RingHom.{u2, u4} S L (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (Semiring.toNonAssocSemiring.{u4} L (DivisionSemiring.toSemiring.{u4} L (Semifield.toDivisionSemiring.{u4} L (Field.toSemifield.{u4} L _inst_10))))) S L (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} L (Semiring.toNonAssocSemiring.{u4} L (DivisionSemiring.toSemiring.{u4} L (Semifield.toDivisionSemiring.{u4} L (Field.toSemifield.{u4} L _inst_10))))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u4, u2, u4} (RingHom.{u2, u4} S L (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (Semiring.toNonAssocSemiring.{u4} L (DivisionSemiring.toSemiring.{u4} L (Semifield.toDivisionSemiring.{u4} L (Field.toSemifield.{u4} L _inst_10))))) S L (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (Semiring.toNonAssocSemiring.{u4} L (DivisionSemiring.toSemiring.{u4} L (Semifield.toDivisionSemiring.{u4} L (Field.toSemifield.{u4} L _inst_10)))) (RingHom.instRingHomClassRingHom.{u2, u4} S L (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (Semiring.toNonAssocSemiring.{u4} L (DivisionSemiring.toSemiring.{u4} L (Semifield.toDivisionSemiring.{u4} L (Field.toSemifield.{u4} L _inst_10)))))))) (algebraMap.{u2, u4} S L (CommRing.toCommSemiring.{u2} S _inst_2) (DivisionSemiring.toSemiring.{u4} L (Semifield.toDivisionSemiring.{u4} L (Field.toSemifield.{u4} L _inst_10))) _inst_13)) b))))
+Case conversion may be inaccurate. Consider using '#align is_fraction_ring.ideal_span_singleton_map_subset IsFractionRing.ideal_span_singleton_map_subsetₓ'. -/
 /-- If the `S`-multiples of `a` are contained in some `R`-span, then `Frac(S)`-multiples of `a`
 are contained in the equivalent `Frac(R)`-span. -/
 theorem ideal_span_singleton_map_subset {L : Type _} [IsDomain R] [IsDomain S] [Field K] [Field L]
Diff
@@ -95,7 +95,7 @@ theorem integerNormalization_spec (p : S[X]) :
       Classical.choose_spec
         (Classical.choose_spec (exist_integer_multiples_of_finset M (p.support.image p.coeff))
           (p.coeff i) (finset.mem_image.mpr ⟨i, hi, rfl⟩))
-  · convert (smul_zero _).symm
+  · convert(smul_zero _).symm
     · apply RingHom.map_zero
     · exact not_mem_support_iff.mp hi
 #align is_localization.integer_normalization_spec IsLocalization.integerNormalization_spec
Diff
@@ -115,7 +115,7 @@ theorem integerNormalization_eval₂_eq_zero (g : S →+* R') (p : S[X]) {x : R'
     (hx : eval₂ g x p = 0) : eval₂ (g.comp (algebraMap R S)) x (integerNormalization M p) = 0 :=
   let ⟨b, hb⟩ := integerNormalization_map_to_map M p
   trans (eval₂_map (algebraMap R S) g x).symm
-    (by rw [hb, ← IsScalarTower.algebraMap_smul S (b : R) p, eval₂_smul, hx, mul_zero])
+    (by rw [hb, ← IsScalarTower.algebraMap_smul S (b : R) p, eval₂_smul, hx, MulZeroClass.mul_zero])
 #align is_localization.integer_normalization_eval₂_eq_zero IsLocalization.integerNormalization_eval₂_eq_zero
 
 theorem integerNormalization_aeval_eq_zero [Algebra R R'] [Algebra S R'] [IsScalarTower R S R']
@@ -210,7 +210,7 @@ theorem RingHom.isIntegralElem_localization_at_leadingCoeff {R S : Type _} [Comm
   refine' ⟨p.map (algebraMap R Rₘ) * C b, ⟨_, _⟩⟩
   · refine' monic_mul_C_of_leading_coeff_mul_eq_one _
     rwa [leading_coeff_map_of_leading_coeff_ne_zero (algebraMap R Rₘ)]
-    refine' fun hfp => zero_ne_one (trans (zero_mul b).symm (hfp ▸ hb) : (0 : Rₘ) = 1)
+    refine' fun hfp => zero_ne_one (trans (MulZeroClass.zero_mul b).symm (hfp ▸ hb) : (0 : Rₘ) = 1)
   · refine' eval₂_mul_eq_zero_of_left _ _ _ _
     erw [eval₂_map, IsLocalization.map_comp, ← hom_eval₂ _ f (algebraMap S Sₘ) x]
     exact trans (congr_arg (algebraMap S Sₘ) hf) (RingHom.map_zero _)
@@ -282,7 +282,7 @@ theorem IsLocalization.scaleRoots_commonDenom_mem_lifts (p : Rₘ[X])
     · rw [← Algebra.smul_def]
       exact ⟨_, IsLocalization.map_integerMultiple M p.support p.coeff ⟨n, h₁⟩⟩
   · rw [Polynomial.not_mem_support_iff] at h₁
-    rw [h₁, zero_mul]
+    rw [h₁, MulZeroClass.zero_mul]
     exact zero_mem (algebraMap R Rₘ).range
 #align is_localization.scale_roots_common_denom_mem_lifts IsLocalization.scaleRoots_commonDenom_mem_lifts
 
Diff
@@ -291,7 +291,7 @@ theorem IsIntegral.exists_multiple_integral_of_isLocalization [Algebra Rₘ S] [
   by
   cases' subsingleton_or_nontrivial Rₘ with _ nontriv <;> skip
   · haveI := (algebraMap Rₘ S).codomain_trivial
-    exact ⟨1, Polynomial.X, Polynomial.monic_x, Subsingleton.elim _ _⟩
+    exact ⟨1, Polynomial.X, Polynomial.monic_X, Subsingleton.elim _ _⟩
   obtain ⟨p, hp₁, hp₂⟩ := hx
   obtain ⟨p', hp'₁, -, hp'₂⟩ :=
     lifts_and_nat_degree_eq_and_monic (IsLocalization.scaleRoots_commonDenom_mem_lifts M p _) _
Diff
@@ -291,7 +291,7 @@ theorem IsIntegral.exists_multiple_integral_of_isLocalization [Algebra Rₘ S] [
   by
   cases' subsingleton_or_nontrivial Rₘ with _ nontriv <;> skip
   · haveI := (algebraMap Rₘ S).codomain_trivial
-    exact ⟨1, Polynomial.x, Polynomial.monic_x, Subsingleton.elim _ _⟩
+    exact ⟨1, Polynomial.X, Polynomial.monic_x, Subsingleton.elim _ _⟩
   obtain ⟨p, hp₁, hp₂⟩ := hx
   obtain ⟨p', hp'₁, -, hp'₂⟩ :=
     lifts_and_nat_degree_eq_and_monic (IsLocalization.scaleRoots_commonDenom_mem_lifts M p _) _

Changes in mathlib4

mathlib3
mathlib4
move(Polynomial): Move out of Data (#11751)

Polynomial and MvPolynomial are algebraic objects, hence should be under Algebra (or at least not under Data)

Diff
@@ -3,14 +3,14 @@ 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 Mathlib.Data.Polynomial.Lifts
+import Mathlib.Algebra.GroupWithZero.NonZeroDivisors
+import Mathlib.Algebra.Polynomial.Lifts
 import Mathlib.GroupTheory.MonoidLocalization
 import Mathlib.RingTheory.Algebraic
 import Mathlib.RingTheory.Ideal.LocalRing
 import Mathlib.RingTheory.IntegralClosure
 import Mathlib.RingTheory.Localization.FractionRing
 import Mathlib.RingTheory.Localization.Integer
-import Mathlib.Algebra.GroupWithZero.NonZeroDivisors
 
 #align_import ring_theory.localization.integral from "leanprover-community/mathlib"@"831c494092374cfe9f50591ed0ac81a25efc5b86"
 
chore: avoid Ne.def (adaptation for nightly-2024-03-27) (#11813)
Diff
@@ -54,14 +54,14 @@ noncomputable def coeffIntegerNormalization (p : S[X]) (i : ℕ) : R :=
 
 theorem coeffIntegerNormalization_of_not_mem_support (p : S[X]) (i : ℕ) (h : coeff p i = 0) :
     coeffIntegerNormalization M p i = 0 := by
-  simp only [coeffIntegerNormalization, h, mem_support_iff, eq_self_iff_true, not_true, Ne.def,
+  simp only [coeffIntegerNormalization, h, mem_support_iff, eq_self_iff_true, not_true, Ne,
     dif_neg, not_false_iff]
 #align is_localization.coeff_integer_normalization_of_not_mem_support IsLocalization.coeffIntegerNormalization_of_not_mem_support
 
 theorem coeffIntegerNormalization_mem_support (p : S[X]) (i : ℕ)
     (h : coeffIntegerNormalization M p i ≠ 0) : i ∈ p.support := by
   contrapose h
-  rw [Ne.def, Classical.not_not, coeffIntegerNormalization, dif_neg h]
+  rw [Ne, Classical.not_not, coeffIntegerNormalization, dif_neg h]
 #align is_localization.coeff_integer_normalization_mem_support IsLocalization.coeffIntegerNormalization_mem_support
 
 /-- `integerNormalization g` normalizes `g` to have integer coefficients
@@ -391,7 +391,7 @@ theorem isAlgebraic_iff' [Field K] [IsDomain R] [IsDomain S] [Algebra R K] [Alge
     · rw [← isAlgebraic_iff_isIntegral]
       use (f.map (algebraMap R (FractionRing R))).reverse
       constructor
-      · rwa [Ne.def, Polynomial.reverse_eq_zero, ← Polynomial.degree_eq_bot,
+      · rwa [Ne, Polynomial.reverse_eq_zero, ← Polynomial.degree_eq_bot,
           Polynomial.degree_map_eq_of_injective
             (NoZeroSMulDivisors.algebraMap_injective R (FractionRing R)),
           Polynomial.degree_eq_bot]
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
@@ -28,7 +28,6 @@ commutative ring, field of fractions
 
 
 variable {R : Type*} [CommRing R] (M : Submonoid R) {S : Type*} [CommRing S]
-
 variable [Algebra R S] {P : Type*} [CommRing P]
 
 open BigOperators Polynomial
@@ -125,7 +124,6 @@ namespace IsFractionRing
 open IsLocalization
 
 variable {A K C : Type*} [CommRing A] [IsDomain A] [Field K] [Algebra A K] [IsFractionRing A K]
-
 variable [CommRing C]
 
 theorem integerNormalization_eq_zero_iff {p : K[X]} :
@@ -177,11 +175,8 @@ open IsLocalization
 section IsIntegral
 
 variable {Rₘ Sₘ : Type*} [CommRing Rₘ] [CommRing Sₘ]
-
 variable [Algebra R Rₘ] [IsLocalization M Rₘ]
-
 variable [Algebra S Sₘ] [IsLocalization (Algebra.algebraMapSubmonoid S M) Sₘ]
-
 variable {M}
 
 open Polynomial
@@ -307,9 +302,7 @@ namespace IsIntegralClosure
 
 variable (A)
 variable {L : Type*} [Field K] [Field L] [Algebra A K] [Algebra A L] [IsFractionRing A K]
-
 variable (C : Type*) [CommRing C] [IsDomain C] [Algebra C L] [IsIntegralClosure C A L]
-
 variable [Algebra A C] [IsScalarTower A C L]
 
 open Algebra
chore: remove tactics (#11365)

More tactics that are not used, found using the linter at #11308.

The PR consists of tactic removals, whitespace changes and replacing a porting note by an explanation.

Diff
@@ -282,7 +282,7 @@ theorem IsLocalization.scaleRoots_commonDenom_mem_lifts (p : Rₘ[X])
 
 theorem IsIntegral.exists_multiple_integral_of_isLocalization [Algebra Rₘ S] [IsScalarTower R Rₘ S]
     (x : S) (hx : IsIntegral Rₘ x) : ∃ m : M, IsIntegral R (m • x) := by
-  cases' subsingleton_or_nontrivial Rₘ with _ nontriv <;> skip
+  cases' subsingleton_or_nontrivial Rₘ with _ nontriv
   · haveI := (_root_.algebraMap Rₘ S).codomain_trivial
     exact ⟨1, Polynomial.X, Polynomial.monic_X, Subsingleton.elim _ _⟩
   obtain ⟨p, hp₁, hp₂⟩ := hx
chore: scope open Classical (#11199)

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

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

Diff
@@ -41,7 +41,7 @@ open Polynomial
 
 variable [IsLocalization M S]
 
-open Classical
+open scoped Classical
 
 /-- `coeffIntegerNormalization p` gives the coefficients of the polynomial
 `integerNormalization p` -/
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
@@ -447,8 +447,8 @@ theorem ideal_span_singleton_map_subset {L : Type*} [IsDomain R] [IsDomain S] [F
   have mk_yz_eq : IsLocalization.mk' L y' z' = IsLocalization.mk' L y ⟨_, hz0'⟩ := by
     rw [Algebra.smul_def, mul_comm _ y, mul_comm _ y'] at yz_eq
     exact IsLocalization.mk'_eq_of_eq (by rw [mul_comm _ y, mul_comm _ y', yz_eq])
-  suffices hy : algebraMap S L (a * y) ∈ Submodule.span K ((algebraMap S L) '' b)
-  · rw [mk_yz_eq, IsFractionRing.mk'_eq_div, ← IsScalarTower.algebraMap_apply,
+  suffices hy : algebraMap S L (a * y) ∈ Submodule.span K ((algebraMap S L) '' b) by
+    rw [mk_yz_eq, IsFractionRing.mk'_eq_div, ← IsScalarTower.algebraMap_apply,
       IsScalarTower.algebraMap_apply R K L, div_eq_mul_inv, ← mul_assoc, mul_comm, ← map_inv₀, ←
       Algebra.smul_def, ← _root_.map_mul]
     exact (Submodule.span K _).smul_mem _ hy
refactor(Data/FunLike): use unbundled inheritance from FunLike (#8386)

The FunLike hierarchy is very big and gets scanned through each time we need a coercion (via the CoeFun instance). It looks like unbundled inheritance suits Lean 4 better here. The only class that still extends FunLike is EquivLike, since that has a custom coe_injective' field that is easier to implement. All other classes should take FunLike or EquivLike as a parameter.

Zulip thread

Important changes

Previously, morphism classes would be Type-valued and extend FunLike:

/-- `MyHomClass F A B` states that `F` is a type of `MyClass.op`-preserving morphisms.
You should extend this class when you extend `MyHom`. -/
class MyHomClass (F : Type*) (A B : outParam <| Type*) [MyClass A] [MyClass B]
  extends FunLike F A B :=
(map_op : ∀ (f : F) (x y : A), f (MyClass.op x y) = MyClass.op (f x) (f y))

After this PR, they should be Prop-valued and take FunLike as a parameter:

/-- `MyHomClass F A B` states that `F` is a type of `MyClass.op`-preserving morphisms.
You should extend this class when you extend `MyHom`. -/
class MyHomClass (F : Type*) (A B : outParam <| Type*) [MyClass A] [MyClass B]
  [FunLike F A B] : Prop :=
(map_op : ∀ (f : F) (x y : A), f (MyClass.op x y) = MyClass.op (f x) (f y))

(Note that A B stay marked as outParam even though they are not purely required to be so due to the FunLike parameter already filling them in. This is required to see through type synonyms, which is important in the category theory library. Also, I think keeping them as outParam is slightly faster.)

Similarly, MyEquivClass should take EquivLike as a parameter.

As a result, every mention of [MyHomClass F A B] should become [FunLike F A B] [MyHomClass F A B].

Remaining issues

Slower (failing) search

While overall this gives some great speedups, there are some cases that are noticeably slower. In particular, a failing application of a lemma such as map_mul is more expensive. This is due to suboptimal processing of arguments. For example:

variable [FunLike F M N] [Mul M] [Mul N] (f : F) (x : M) (y : M)

theorem map_mul [MulHomClass F M N] : f (x * y) = f x * f y

example [AddHomClass F A B] : f (x * y) = f x * f y := map_mul f _ _

Before this PR, applying map_mul f gives the goals [Mul ?M] [Mul ?N] [MulHomClass F ?M ?N]. Since M and N are out_params, [MulHomClass F ?M ?N] is synthesized first, supplies values for ?M and ?N and then the Mul M and Mul N instances can be found.

After this PR, the goals become [FunLike F ?M ?N] [Mul ?M] [Mul ?N] [MulHomClass F ?M ?N]. Now [FunLike F ?M ?N] is synthesized first, supplies values for ?M and ?N and then the Mul M and Mul N instances can be found, before trying MulHomClass F M N which fails. Since the Mul hierarchy is very big, this can be slow to fail, especially when there is no such Mul instance.

A long-term but harder to achieve solution would be to specify the order in which instance goals get solved. For example, we'd like to change the arguments to map_mul to look like [FunLike F M N] [Mul M] [Mul N] [highPriority <| MulHomClass F M N] because MulHomClass fails or succeeds much faster than the others.

As a consequence, the simpNF linter is much slower since by design it tries and fails to apply many map_ lemmas. The same issue occurs a few times in existing calls to simp [map_mul], where map_mul is tried "too soon" and fails. Thanks to the speedup of leanprover/lean4#2478 the impact is very limited, only in files that already were close to the timeout.

simp not firing sometimes

This affects map_smulₛₗ and related definitions. For simp lemmas Lean apparently uses a slightly different mechanism to find instances, so that rw can find every argument to map_smulₛₗ successfully but simp can't: leanprover/lean4#3701.

Missing instances due to unification failing

Especially in the category theory library, we might sometimes have a type A which is also accessible as a synonym (Bundled A hA).1. Instance synthesis doesn't always work if we have f : A →* B but x * y : (Bundled A hA).1 or vice versa. This seems to be mostly fixed by keeping A B as outParams in MulHomClass F A B. (Presumably because Lean will do a definitional check A =?= (Bundled A hA).1 instead of using the syntax in the discrimination tree.)

Workaround for issues

The timeouts can be worked around for now by specifying which map_mul we mean, either as map_mul f for some explicit f, or as e.g. MonoidHomClass.map_mul.

map_smulₛₗ not firing as simp lemma can be worked around by going back to the pre-FunLike situation and making LinearMap.map_smulₛₗ a simp lemma instead of the generic map_smulₛₗ. Writing simp [map_smulₛₗ _] also works.

Co-authored-by: Matthew Ballard <matt@mrb.email> Co-authored-by: Scott Morrison <scott.morrison@gmail.com> Co-authored-by: Scott Morrison <scott@tqft.net> Co-authored-by: Anne Baanen <Vierkantor@users.noreply.github.com>

Diff
@@ -454,7 +454,9 @@ theorem ideal_span_singleton_map_subset {L : Type*} [IsDomain R] [IsDomain S] [F
     exact (Submodule.span K _).smul_mem _ hy
   refine' Submodule.span_subset_span R K _ _
   rw [Submodule.span_algebraMap_image_of_tower]
-  exact Submodule.mem_map_of_mem (h (Ideal.mem_span_singleton.mpr ⟨y, rfl⟩))
+  -- Note: #8386 had to specify the value of `f` here:
+  exact Submodule.mem_map_of_mem (f := LinearMap.restrictScalars _ _)
+    (h (Ideal.mem_span_singleton.mpr ⟨y, rfl⟩))
 #align is_fraction_ring.ideal_span_singleton_map_subset IsFractionRing.ideal_span_singleton_map_subset
 
 end IsFractionRing
feat: Define intNorm and intTrace. (#9265)

Co-authored-by: Andrew Yang <36414270+erdOne@users.noreply.github.com>

Diff
@@ -458,3 +458,38 @@ theorem ideal_span_singleton_map_subset {L : Type*} [IsDomain R] [IsDomain S] [F
 #align is_fraction_ring.ideal_span_singleton_map_subset IsFractionRing.ideal_span_singleton_map_subset
 
 end IsFractionRing
+
+lemma isAlgebraic_of_isLocalization {R} [CommRing R] (M : Submonoid R) (S) [CommRing S]
+    [Nontrivial R] [Algebra R S] [IsLocalization M S] : Algebra.IsAlgebraic R S := by
+  intro x
+  obtain ⟨x, s, rfl⟩ := IsLocalization.mk'_surjective M x
+  by_cases hs : (s : R) = 0
+  · have := IsLocalization.mk'_spec S x s
+    rw [hs, map_zero, mul_zero] at this
+    exact ⟨X, X_ne_zero, by simp [IsLocalization.mk'_eq_mul_mk'_one x, ← this]⟩
+  refine ⟨s • X - C x, ?_, ?_⟩
+  · intro e; apply hs
+    simpa only [coeff_sub, coeff_smul, coeff_X_one, coeff_C_succ, sub_zero, coeff_zero,
+      ← Algebra.algebraMap_eq_smul_one, Submonoid.smul_def,
+      Algebra.id.map_eq_id, RingHom.id_apply] using congr_arg (Polynomial.coeff · 1) e
+  · simp only [map_sub, Algebra.smul_def, Submonoid.smul_def,
+      map_mul, AlgHom.commutes, aeval_X, IsLocalization.mk'_spec', aeval_C, sub_self]
+
+open nonZeroDivisors in
+lemma isAlgebraic_of_isFractionRing {R S} (K L) [CommRing R] [CommRing S] [Field K] [CommRing L]
+    [Algebra R S] [Algebra R K] [Algebra R L] [Algebra S L] [Algebra K L] [IsScalarTower R S L]
+    [IsScalarTower R K L] [IsFractionRing S L]
+    (h : Algebra.IsIntegral R S) : Algebra.IsAlgebraic K L := by
+  intro x
+  obtain ⟨x, s, rfl⟩ := IsLocalization.mk'_surjective S⁰ x
+  apply IsIntegral.isAlgebraic
+  rw [IsLocalization.mk'_eq_mul_mk'_one]
+  apply RingHom.IsIntegralElem.mul
+  · apply IsIntegral.tower_top (R := R)
+    apply IsIntegral.map (IsScalarTower.toAlgHom R S L)
+    exact h x
+  · show IsIntegral _ _
+    rw [← isAlgebraic_iff_isIntegral, ← IsAlgebraic.invOf_iff, isAlgebraic_iff_isIntegral]
+    apply IsIntegral.tower_top (R := R)
+    apply IsIntegral.map (IsScalarTower.toAlgHom R S L)
+    exact h s
chore: Move RingTheory/NonZeroDivisors under Algebra instead. (#8685)

Co-authored-by: Andrew Yang <36414270+erdOne@users.noreply.github.com>

Diff
@@ -10,7 +10,7 @@ import Mathlib.RingTheory.Ideal.LocalRing
 import Mathlib.RingTheory.IntegralClosure
 import Mathlib.RingTheory.Localization.FractionRing
 import Mathlib.RingTheory.Localization.Integer
-import Mathlib.RingTheory.NonZeroDivisors
+import Mathlib.Algebra.GroupWithZero.NonZeroDivisors
 
 #align_import ring_theory.localization.integral from "leanprover-community/mathlib"@"831c494092374cfe9f50591ed0ac81a25efc5b86"
 
chore(IntegralClosure): noncommutative generalizations and golfs (#8406)

Zulip

Initially I just wanted to add more dot notations for IsIntegral and IsAlgebraic (done in #8437); then I noticed near-duplicates Algebra.isIntegral_of_finite [Field R] [Ring A] and RingHom.IsIntegral.of_finite [CommRing R] [CommRing A] so I went on to generalize the latter to cover the former, and generalized everything in the IntegralClosure file to the noncommutative case whenever possible.

In the process I noticed more golfs, which result in this PR. Most notably, isIntegral_of_mem_of_FG is now proven using Cayley-Hamilton and doesn't depend on the Noetherian case isIntegral_of_noetherian; the latter is now proven using the former. In total the golfs makes mathlib 227 lines leaner (+487 -714).

The main changes are in the single file RingTheory/IntegralClosure:

  • Change the definition of Algebra.IsIntegral which makes it unfold to IsIntegral rather than RingHom.IsIntegralElem because the former has much more APIs.

  • Fix lemma names involving is_integral which are actually about IsIntegralElem: RingHom.is_integral_mapRingHom.isIntegralElem_map RingHom.is_integral_of_mem_closureRingHom.IsIntegralElem.of_mem_closure RingHom.is_integral_zero/oneRingHom.isIntegralElem_zero/one RingHom.is_integral_add/neg/sub/mul/of_mul_unitRingHom.IsIntegralElem.add/neg/sub/mul/of_mul_unit

  • Add a lemma Algebra.IsIntegral.of_injective.

  • Move isIntegral_of_(submodule_)noetherian down and golf them.

  • Remove (Algebra.)isIntegral_of_finite that work only over fields, in favor of the more general (Algebra.)isIntegral.of_finite.

  • Merge duplicate lemmas isIntegral_of_isScalarTower and isIntegral_tower_top_of_isIntegral into IsIntegral.tower_top.

  • Golf IsIntegral.of_mem_of_fg by first proving IsIntegral.of_finite using Cayley-Hamilton.

  • Add a docstring mentioning the Kurosh problem at Algebra.IsIntegral.finite. The negative solution to the problem means the theorem doesn't generalize to noncommutative algebras.

  • Golf IsIntegral.tmul and isField_of_isIntegral_of_isField(').

  • Combine isIntegral_trans_aux into isIntegral_trans and golf.

  • Add Algebra namespace to isIntegral_sup.

  • rename lemmas for dot notation: RingHom.isIntegral_transRingHom.IsIntegral.trans RingHom.isIntegral_quotient/tower_bot/top_of_isIntegralRingHom.IsIntegral.quotient/tower_bot/top isIntegral_of_mem_closure'IsIntegral.of_mem_closure' (and the '' version) isIntegral_of_surjectiveAlgebra.isIntegral_of_surjective

The next changed file is RingTheory/Algebraic:

  • Rename: of_larger_basetower_top (for consistency with IsIntegral) Algebra.isAlgebraic_of_finiteAlgebra.IsAlgebraic.of_finite Algebra.isAlgebraic_transAlgebra.IsAlgebraic.trans

  • Add new lemmasAlgebra.IsIntegral.isAlgebraic, isAlgebraic_algHom_iff, and Algebra.IsAlgebraic.of_injective to streamline some proofs.

The generalization from CommRing to Ring requires an additional lemma scaleRoots_eval₂_mul_of_commute in Polynomial/ScaleRoots.

A lemma Algebra.lmul_injective is added to Algebra/Bilinear (in order to golf the proof of IsIntegral.of_mem_of_fg).

In all other files, I merely fix the changed names, or use newly available dot notations.

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

Diff
@@ -232,9 +232,7 @@ theorem isIntegral_localization (H : Algebra.IsIntegral R S) :
   obtain ⟨⟨s, ⟨u, hu⟩⟩, hx⟩ := surj (Algebra.algebraMapSubmonoid S M) x
   obtain ⟨v, hv⟩ := hu
   obtain ⟨v', hv'⟩ := isUnit_iff_exists_inv'.1 (map_units Rₘ ⟨v, hv.1⟩)
-  refine'
-    @IsIntegral.of_mul_unit Rₘ _ _ _ (localizationAlgebra M S) x (algebraMap S Sₘ u) v' _
-      _
+  refine @IsIntegral.of_mul_unit Rₘ _ _ _ (localizationAlgebra M S) x (algebraMap S Sₘ u) v' ?_ ?_
   · replace hv' := congr_arg (@algebraMap Rₘ Sₘ _ _ (localizationAlgebra M S)) hv'
     rw [RingHom.map_mul, RingHom.map_one, ← RingHom.comp_apply _ (algebraMap R Rₘ)] at hv'
     -- Porting note: added argument
@@ -343,7 +341,7 @@ the integral closure `C` of `A` in `L` has fraction field `L`. -/
 theorem isFractionRing_of_finite_extension [Algebra K L] [IsScalarTower A K L]
     [FiniteDimensional K L] : IsFractionRing C L :=
   isFractionRing_of_algebraic A C
-    (IsFractionRing.comap_isAlgebraic_iff.mpr (isAlgebraic_of_finite K L)) fun _ hx =>
+    (IsFractionRing.comap_isAlgebraic_iff.mpr (Algebra.IsAlgebraic.of_finite K L)) fun _ hx =>
     IsFractionRing.to_map_eq_zero_iff.mp
       ((_root_.map_eq_zero <|
           algebraMap K L).mp <| (IsScalarTower.algebraMap_apply _ _ _ _).symm.trans hx)
@@ -392,12 +390,11 @@ theorem isAlgebraic_iff' [Field K] [IsDomain R] [IsDomain S] [Algebra R K] [Alge
     obtain ⟨a : S, b, ha, rfl⟩ := @div_surjective S _ _ _ _ _ _ x
     obtain ⟨f, hf₁, hf₂⟩ := h b
     rw [div_eq_mul_inv]
-    refine' IsIntegral.mul _ _
+    refine IsIntegral.mul ?_ ?_
     · rw [← isAlgebraic_iff_isIntegral]
-      refine'
-        IsAlgebraic.of_larger_base_of_injective
-          (NoZeroSMulDivisors.algebraMap_injective R (FractionRing R)) _
-      exact IsAlgebraic.algebraMap (h a)
+      refine .tower_top_of_injective
+        (NoZeroSMulDivisors.algebraMap_injective R (FractionRing R)) ?_
+      exact .algebraMap (h a)
     · rw [← isAlgebraic_iff_isIntegral]
       use (f.map (algebraMap R (FractionRing R))).reverse
       constructor
chore(RingTheory/{Algebraic, Localization/Integral}): rename decls to use dot notation (#8437)

This PR tests a string-based tool for renaming declarations.

Inspired by this Zulip thread, I am trying to reduce the diff of #8406.

This PR makes the following renames:

| From | To |

Diff
@@ -233,7 +233,7 @@ theorem isIntegral_localization (H : Algebra.IsIntegral R S) :
   obtain ⟨v, hv⟩ := hu
   obtain ⟨v', hv'⟩ := isUnit_iff_exists_inv'.1 (map_units Rₘ ⟨v, hv.1⟩)
   refine'
-    @isIntegral_of_isIntegral_mul_unit Rₘ _ _ _ (localizationAlgebra M S) x (algebraMap S Sₘ u) v' _
+    @IsIntegral.of_mul_unit Rₘ _ _ _ (localizationAlgebra M S) x (algebraMap S Sₘ u) v' _
       _
   · replace hv' := congr_arg (@algebraMap Rₘ Sₘ _ _ (localizationAlgebra M S)) hv'
     rw [RingHom.map_mul, RingHom.map_one, ← RingHom.comp_apply _ (algebraMap R Rₘ)] at hv'
@@ -392,12 +392,12 @@ theorem isAlgebraic_iff' [Field K] [IsDomain R] [IsDomain S] [Algebra R K] [Alge
     obtain ⟨a : S, b, ha, rfl⟩ := @div_surjective S _ _ _ _ _ _ x
     obtain ⟨f, hf₁, hf₂⟩ := h b
     rw [div_eq_mul_inv]
-    refine' isIntegral_mul _ _
+    refine' IsIntegral.mul _ _
     · rw [← isAlgebraic_iff_isIntegral]
       refine'
-        _root_.isAlgebraic_of_larger_base_of_injective
+        IsAlgebraic.of_larger_base_of_injective
           (NoZeroSMulDivisors.algebraMap_injective R (FractionRing R)) _
-      exact isAlgebraic_algebraMap_of_isAlgebraic (h a)
+      exact IsAlgebraic.algebraMap (h a)
     · rw [← isAlgebraic_iff_isIntegral]
       use (f.map (algebraMap R (FractionRing R))).reverse
       constructor
chore: replace IsLocalization.eq_iff_exists' by exists_of_eq (#8335)

The other direction is a consequence of IsLocalization.map_units.

Also do the same for LocalizationMap and IsLocalizedModule.

This means we have one less fact to prove when constructing an IsLocalization (etc.) instance (thus many proofs are golfed), but once we construct it we still have access to the eq_iff_exists lemmas (without the prime) so the API doesn't get less powerful.

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

Diff
@@ -333,9 +333,7 @@ theorem isFractionRing_of_algebraic (alg : IsAlgebraic A L)
         by
           simp only
           rw [algebraMap_mk', ← IsScalarTower.algebraMap_apply A C L, hxy]⟩
-    eq_iff_exists' := fun {x y} =>
-      ⟨fun h => ⟨1, by simpa using algebraMap_injective C A L h⟩, fun ⟨c, hc⟩ =>
-        congr_arg (algebraMap _ L) (mul_left_cancel₀ (mem_nonZeroDivisors_iff_ne_zero.mp c.2) hc)⟩ }
+    exists_of_eq := fun {x y} h => ⟨1, by simpa using algebraMap_injective C A L h⟩ }
 #align is_integral_closure.is_fraction_ring_of_algebraic IsIntegralClosure.isFractionRing_of_algebraic
 
 variable (K L)
perf(FunLike.Basic): beta reduce CoeFun.coe (#7905)

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

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

Diff
@@ -83,14 +83,12 @@ theorem integerNormalization_spec (p : S[X]) :
   use Classical.choose (exist_integer_multiples_of_finset M (p.support.image p.coeff))
   intro i
   rw [integerNormalization_coeff, coeffIntegerNormalization]
-  split_ifs with hi -- Porting note: didn't remove the ifs
-  · rw [dif_pos hi]
-    exact
+  split_ifs with hi
+  · exact
       Classical.choose_spec
         (Classical.choose_spec (exist_integer_multiples_of_finset M (p.support.image p.coeff))
           (p.coeff i) (Finset.mem_image.mpr ⟨i, hi, rfl⟩))
-  · rw [dif_neg hi]
-    rw [RingHom.map_zero, not_mem_support_iff.mp hi, smul_zero]
+  · rw [RingHom.map_zero, not_mem_support_iff.mp hi, smul_zero]
     -- Porting note: was `convert (smul_zero _).symm, ...`
 #align is_localization.integer_normalization_spec IsLocalization.integerNormalization_spec
 
feat(Data/Polynomial/AlgebraMap): more results for non-commutative polynomials (#8116)

This adds an AlgHom version of eval₂RingHom', and a stronger ext lemma for noncommutative algebras. This is a follow-up to leanprover-community/mathlib#9250

This better ext lemma golfs away most of a nasty proof.

Diff
@@ -114,7 +114,8 @@ theorem integerNormalization_eval₂_eq_zero (g : S →+* R') (p : S[X]) {x : R'
 
 theorem integerNormalization_aeval_eq_zero [Algebra R R'] [Algebra S R'] [IsScalarTower R S R']
     (p : S[X]) {x : R'} (hx : aeval x p = 0) : aeval x (integerNormalization M p) = 0 := by
-  rw [aeval_def, IsScalarTower.algebraMap_eq R S R', integerNormalization_eval₂_eq_zero _ _ _ hx]
+  rw [aeval_def, IsScalarTower.algebraMap_eq R S R',
+    integerNormalization_eval₂_eq_zero _ (algebraMap _ _) _ hx]
 #align is_localization.integer_normalization_aeval_eq_zero IsLocalization.integerNormalization_aeval_eq_zero
 
 end IntegerNormalization
fix: remove a bad Algebra instance in FractionRing (#6724)
Diff
@@ -389,6 +389,8 @@ theorem isAlgebraic_iff' [Field K] [IsDomain R] [IsDomain S] [Algebra R K] [Alge
   simp only [Algebra.IsAlgebraic]
   constructor
   · intro h x
+    letI := FractionRing.liftAlgebra R K
+    have := FractionRing.isScalarTower_liftAlgebra R K
     rw [IsFractionRing.isAlgebraic_iff R (FractionRing R) K, isAlgebraic_iff_isIntegral]
     obtain ⟨a : S, b, ha, rfl⟩ := @div_surjective S _ _ _ _ _ _ x
     obtain ⟨f, hf₁, hf₂⟩ := h b
chore: drop MulZeroClass. in mul_zero/zero_mul (#6682)

Search&replace MulZeroClass.mul_zero -> mul_zero, MulZeroClass.zero_mul -> zero_mul.

These were introduced by Mathport, as the full name of mul_zero is actually MulZeroClass.mul_zero (it's exported with the short name).

Diff
@@ -109,7 +109,7 @@ theorem integerNormalization_eval₂_eq_zero (g : S →+* R') (p : S[X]) {x : R'
     (hx : eval₂ g x p = 0) : eval₂ (g.comp (algebraMap R S)) x (integerNormalization M p) = 0 :=
   let ⟨b, hb⟩ := integerNormalization_map_to_map M p
   _root_.trans (eval₂_map (algebraMap R S) g x).symm
-    (by rw [hb, ← IsScalarTower.algebraMap_smul S (b : R) p, eval₂_smul, hx, MulZeroClass.mul_zero])
+    (by rw [hb, ← IsScalarTower.algebraMap_smul S (b : R) p, eval₂_smul, hx, mul_zero])
 #align is_localization.integer_normalization_eval₂_eq_zero IsLocalization.integerNormalization_eval₂_eq_zero
 
 theorem integerNormalization_aeval_eq_zero [Algebra R R'] [Algebra S R'] [IsScalarTower R S R']
@@ -200,7 +200,7 @@ theorem RingHom.isIntegralElem_localization_at_leadingCoeff {R S : Type*} [CommR
   · refine' monic_mul_C_of_leadingCoeff_mul_eq_one _
     rwa [leadingCoeff_map_of_leadingCoeff_ne_zero (algebraMap R Rₘ)]
     refine' fun hfp => zero_ne_one
-      (_root_.trans (MulZeroClass.zero_mul b).symm (hfp ▸ hb) : (0 : Rₘ) = 1)
+      (_root_.trans (zero_mul b).symm (hfp ▸ hb) : (0 : Rₘ) = 1)
   · refine' eval₂_mul_eq_zero_of_left _ _ _ _
     erw [eval₂_map, IsLocalization.map_comp, ← hom_eval₂ _ f (algebraMap S Sₘ) x]
     exact _root_.trans (congr_arg (algebraMap S Sₘ) hf) (RingHom.map_zero _)
@@ -279,7 +279,7 @@ theorem IsLocalization.scaleRoots_commonDenom_mem_lifts (p : Rₘ[X])
     · rw [← Algebra.smul_def]
       exact ⟨_, IsLocalization.map_integerMultiple M p.support p.coeff ⟨n, h₁⟩⟩
   · rw [Polynomial.not_mem_support_iff] at h₁
-    rw [h₁, MulZeroClass.zero_mul]
+    rw [h₁, zero_mul]
     exact zero_mem (algebraMap R Rₘ).range
 #align is_localization.scale_roots_common_denom_mem_lifts IsLocalization.scaleRoots_commonDenom_mem_lifts
 
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
@@ -27,9 +27,9 @@ commutative ring, field of fractions
 -/
 
 
-variable {R : Type _} [CommRing R] (M : Submonoid R) {S : Type _} [CommRing S]
+variable {R : Type*} [CommRing R] (M : Submonoid R) {S : Type*} [CommRing S]
 
-variable [Algebra R S] {P : Type _} [CommRing P]
+variable [Algebra R S] {P : Type*} [CommRing P]
 
 open BigOperators Polynomial
 
@@ -103,7 +103,7 @@ theorem integerNormalization_map_to_map (p : S[X]) :
       exact hb i⟩
 #align is_localization.integer_normalization_map_to_map IsLocalization.integerNormalization_map_to_map
 
-variable {R' : Type _} [CommRing R']
+variable {R' : Type*} [CommRing R']
 
 theorem integerNormalization_eval₂_eq_zero (g : S →+* R') (p : S[X]) {x : R'}
     (hx : eval₂ g x p = 0) : eval₂ (g.comp (algebraMap R S)) x (integerNormalization M p) = 0 :=
@@ -125,7 +125,7 @@ namespace IsFractionRing
 
 open IsLocalization
 
-variable {A K C : Type _} [CommRing A] [IsDomain A] [Field K] [Algebra A K] [IsFractionRing A K]
+variable {A K C : Type*} [CommRing A] [IsDomain A] [Field K] [Algebra A K] [IsFractionRing A K]
 
 variable [CommRing C]
 
@@ -177,7 +177,7 @@ open IsLocalization
 
 section IsIntegral
 
-variable {Rₘ Sₘ : Type _} [CommRing Rₘ] [CommRing Sₘ]
+variable {Rₘ Sₘ : Type*} [CommRing Rₘ] [CommRing Sₘ]
 
 variable [Algebra R Rₘ] [IsLocalization M Rₘ]
 
@@ -187,9 +187,9 @@ variable {M}
 
 open Polynomial
 
-theorem RingHom.isIntegralElem_localization_at_leadingCoeff {R S : Type _} [CommRing R] [CommRing S]
+theorem RingHom.isIntegralElem_localization_at_leadingCoeff {R S : Type*} [CommRing R] [CommRing S]
     (f : R →+* S) (x : S) (p : R[X]) (hf : p.eval₂ f x = 0) (M : Submonoid R)
-    (hM : p.leadingCoeff ∈ M) {Rₘ Sₘ : Type _} [CommRing Rₘ] [CommRing Sₘ] [Algebra R Rₘ]
+    (hM : p.leadingCoeff ∈ M) {Rₘ Sₘ : Type*} [CommRing Rₘ] [CommRing Sₘ] [Algebra R Rₘ]
     [IsLocalization M Rₘ] [Algebra S Sₘ] [IsLocalization (M.map f : Submonoid S) Sₘ] :
     (map Sₘ f M.le_comap_map : Rₘ →+* _).IsIntegralElem (algebraMap S Sₘ x) := by
   by_cases triv : (1 : Rₘ) = 0
@@ -246,7 +246,7 @@ theorem isIntegral_localization (H : Algebra.IsIntegral R S) :
     exact hx.symm ▸ is_integral_localization_at_leadingCoeff p hp.2 (hp.1.symm ▸ M.one_mem)
 #align is_integral_localization isIntegral_localization
 
-theorem isIntegral_localization' {R S : Type _} [CommRing R] [CommRing S] {f : R →+* S}
+theorem isIntegral_localization' {R S : Type*} [CommRing R] [CommRing S] {f : R →+* S}
     (hf : f.IsIntegral) (M : Submonoid R) :
     (map (Localization (M.map (f : R →* S))) f
           (M.le_comap_map : _ ≤ Submonoid.comap (f : R →* S) _) :
@@ -304,14 +304,14 @@ theorem IsIntegral.exists_multiple_integral_of_isLocalization [Algebra Rₘ S] [
 
 end IsIntegral
 
-variable {A K : Type _} [CommRing A] [IsDomain A]
+variable {A K : Type*} [CommRing A] [IsDomain A]
 
 namespace IsIntegralClosure
 
 variable (A)
-variable {L : Type _} [Field K] [Field L] [Algebra A K] [Algebra A L] [IsFractionRing A K]
+variable {L : Type*} [Field K] [Field L] [Algebra A K] [Algebra A L] [IsFractionRing A K]
 
-variable (C : Type _) [CommRing C] [IsDomain C] [Algebra C L] [IsIntegralClosure C A L]
+variable (C : Type*) [CommRing C] [IsDomain C] [Algebra C L] [IsIntegralClosure C A L]
 
 variable [Algebra A C] [IsScalarTower A C L]
 
@@ -356,7 +356,7 @@ end IsIntegralClosure
 
 namespace integralClosure
 
-variable {L : Type _} [Field K] [Field L] [Algebra A K] [IsFractionRing A K]
+variable {L : Type*} [Field K] [Field L] [Algebra A K] [IsFractionRing A K]
 
 open Algebra
 
@@ -431,7 +431,7 @@ variable {S K}
 
 /-- If the `S`-multiples of `a` are contained in some `R`-span, then `Frac(S)`-multiples of `a`
 are contained in the equivalent `Frac(R)`-span. -/
-theorem ideal_span_singleton_map_subset {L : Type _} [IsDomain R] [IsDomain S] [Field K] [Field L]
+theorem ideal_span_singleton_map_subset {L : Type*} [IsDomain R] [IsDomain S] [Field K] [Field L]
     [Algebra R K] [Algebra R L] [Algebra S L] [IsIntegralClosure S R L] [IsFractionRing S L]
     [Algebra K L] [IsScalarTower R S L] [IsScalarTower R K L] {a : S} {b : Set S}
     (alg : Algebra.IsAlgebraic R L) (inj : Function.Injective (algebraMap R L))
chore: script to replace headers with #align_import statements (#5979)

Open in Gitpod

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

Diff
@@ -2,11 +2,6 @@
 Copyright (c) 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.integral
-! leanprover-community/mathlib commit 831c494092374cfe9f50591ed0ac81a25efc5b86
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathlib.Data.Polynomial.Lifts
 import Mathlib.GroupTheory.MonoidLocalization
@@ -17,6 +12,8 @@ import Mathlib.RingTheory.Localization.FractionRing
 import Mathlib.RingTheory.Localization.Integer
 import Mathlib.RingTheory.NonZeroDivisors
 
+#align_import ring_theory.localization.integral from "leanprover-community/mathlib"@"831c494092374cfe9f50591ed0ac81a25efc5b86"
+
 /-!
 # Integral and algebraic elements of a fraction field
 
feat: port RingTheory.Localization.Integral (#4231)

Dependencies 10 + 630

631 files ported (98.4%)
265060 lines ported (98.7%)
Show graph

The unported dependencies are