ring_theory.integral_closureMathlib.RingTheory.IntegralClosure

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)

(last sync)

Changes in mathlib3port

mathlib3
mathlib3port
Diff
@@ -1313,7 +1313,7 @@ theorem isField_of_isIntegral_of_isField {R S : Type _} [CommRing R] [Nontrivial
     have a_inv_ne_zero : a_inv ≠ 0 := right_ne_zero_of_mul (mt ha_inv.symm.trans one_ne_zero)
     refine' (mul_eq_zero.mp _).resolve_right (pow_ne_zero p.nat_degree a_inv_ne_zero)
     rw [eval₂_eq_sum_range] at hp
-    rw [RingHom.map_sum, Finset.sum_mul]
+    rw [map_sum, Finset.sum_mul]
     refine' (Finset.sum_congr rfl fun i hi => _).trans hp
     rw [RingHom.map_mul, mul_assoc]
     congr
Diff
@@ -3,7 +3,7 @@ Copyright (c) 2019 Kenny Lau. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Kenny Lau
 -/
-import Data.Polynomial.Expand
+import Algebra.Polynomial.Expand
 import LinearAlgebra.FiniteDimensional
 import LinearAlgebra.Matrix.Charpoly.LinearMap
 import RingTheory.Adjoin.FG
Diff
@@ -6,11 +6,11 @@ Authors: Kenny Lau
 import Data.Polynomial.Expand
 import LinearAlgebra.FiniteDimensional
 import LinearAlgebra.Matrix.Charpoly.LinearMap
-import RingTheory.Adjoin.Fg
+import RingTheory.Adjoin.FG
 import RingTheory.FiniteType
 import RingTheory.Polynomial.ScaleRoots
 import RingTheory.Polynomial.Tower
-import RingTheory.TensorProduct
+import LinearAlgebra.TensorProduct.Tower
 
 #align_import ring_theory.integral_closure from "leanprover-community/mathlib"@"38df578a6450a8c5142b3727e3ae894c2300cae0"
 
@@ -836,7 +836,7 @@ theorem normalizeScaleRoots_coeff_mul_leadingCoeff_pow (i : ℕ) (hp : 1 ≤ nat
     MulZeroClass.zero_mul, mem_support_iff, ite_mul, Ne.def, ite_not]
   split_ifs with h₁ h₂
   · simp [h₁]
-  · rw [h₂, leading_coeff, ← pow_succ, tsub_add_cancel_of_le hp]
+  · rw [h₂, leading_coeff, ← pow_succ', tsub_add_cancel_of_le hp]
   · rw [mul_assoc, ← pow_add, tsub_add_cancel_of_le]
     apply Nat.le_pred_of_lt
     rw [lt_iff_le_and_ne]
@@ -854,7 +854,7 @@ theorem leadingCoeff_smul_normalizeScaleRoots (p : R[X]) :
   split_ifs with h₁ h₂
   · simp [*]
   · simp [*]
-  · rw [Algebra.id.smul_eq_mul, mul_comm, mul_assoc, ← pow_succ', tsub_right_comm,
+  · rw [Algebra.id.smul_eq_mul, mul_comm, mul_assoc, ← pow_succ, tsub_right_comm,
       tsub_add_cancel_of_le]
     rw [Nat.succ_le_iff]
     exact tsub_pos_of_lt (lt_of_le_of_ne (le_nat_degree_of_ne_zero h₁) h₂)
@@ -1328,7 +1328,7 @@ theorem isField_of_isIntegral_of_isField {R S : Type _} [CommRing R] [Nontrivial
   convert hq using 2
   refine' Finset.sum_congr rfl fun i hi => _
   have : 1 ≤ p.nat_degree - i := le_tsub_of_add_le_left (finset.mem_range.mp hi)
-  rw [mul_assoc, ← pow_succ', tsub_add_cancel_of_le this]
+  rw [mul_assoc, ← pow_succ, tsub_add_cancel_of_le this]
 #align is_field_of_is_integral_of_is_field isField_of_isIntegral_of_isField
 -/
 
Diff
@@ -108,7 +108,7 @@ theorem isIntegral_of_noetherian (H : IsNoetherian R A) (x : A) : IsIntegral R x
   cases' HM with N HN
   have HM : ¬M < D (N + 1) :=
     WellFounded.not_lt_min (isNoetherian_iff_wellFounded.1 H) (Set.range D) _ ⟨N + 1, rfl⟩
-  rw [← HN] at HM 
+  rw [← HN] at HM
   have HN2 : D (N + 1) ≤ D N :=
     by_contradiction fun H =>
       HM (lt_of_le_not_le (map_mono (degree_le_mono (WithBot.coe_le_coe.2 (Nat.le_succ N)))) H)
@@ -180,7 +180,7 @@ theorem isIntegral_algHom_iff {A B : Type _} [Ring A] [Ring B] [Algebra R A] [Al
   rintro ⟨p, hp, hx⟩
   use p, hp
   rwa [← f.comp_algebra_map, ← AlgHom.coe_toRingHom, ← Polynomial.hom_eval₂, AlgHom.coe_toRingHom,
-    map_eq_zero_iff f hf] at hx 
+    map_eq_zero_iff f hf] at hx
 #align is_integral_alg_hom_iff isIntegral_algHom_iff
 -/
 
@@ -250,14 +250,14 @@ theorem fG_adjoin_singleton_of_integral (x : A) (hx : IsIntegral R x) :
   rcases hx with ⟨f, hfm, hfx⟩
   exists Finset.image ((· ^ ·) x) (Finset.range (nat_degree f + 1))
   apply le_antisymm
-  · rw [span_le]; intro s hs; rw [Finset.mem_coe] at hs 
+  · rw [span_le]; intro s hs; rw [Finset.mem_coe] at hs
     rcases Finset.mem_image.1 hs with ⟨k, hk, rfl⟩; clear hk
     exact (Algebra.adjoin R {x}).pow_mem (Algebra.subset_adjoin (Set.mem_singleton _)) k
-  intro r hr; change r ∈ Algebra.adjoin R ({x} : Set A) at hr 
-  rw [Algebra.adjoin_singleton_eq_range_aeval] at hr 
+  intro r hr; change r ∈ Algebra.adjoin R ({x} : Set A) at hr
+  rw [Algebra.adjoin_singleton_eq_range_aeval] at hr
   rcases(aeval x).mem_range.mp hr with ⟨p, rfl⟩
   rw [← mod_by_monic_add_div p hfm]
-  rw [← aeval_def] at hfx 
+  rw [← aeval_def] at hfx
   rw [AlgHom.map_add, AlgHom.map_mul, hfx, MulZeroClass.zero_mul, add_zero]
   have : degree (p %ₘ f) ≤ degree f := degree_mod_by_monic_le p hfm
   generalize p %ₘ f = q at this ⊢
@@ -267,8 +267,8 @@ theorem fG_adjoin_singleton_of_integral (x : A) (hx : IsIntegral R x) :
   refine' smul_mem _ _ (subset_span _)
   rw [Finset.mem_coe]; refine' Finset.mem_image.2 ⟨_, _, rfl⟩
   rw [Finset.mem_range, Nat.lt_succ_iff]; refine' le_of_not_lt fun hk => _
-  rw [degree_le_iff_coeff_zero] at this 
-  rw [mem_support_iff] at hkq ; apply hkq; apply this
+  rw [degree_le_iff_coeff_zero] at this
+  rw [mem_support_iff] at hkq; apply hkq; apply this
   exact lt_of_le_of_lt degree_le_nat_degree (WithBot.coe_lt_coe.2 hk)
 #align fg_adjoin_singleton_of_integral fG_adjoin_singleton_of_integral
 
@@ -319,7 +319,7 @@ theorem IsIntegral.of_mem_of_fg (S : Subalgebra R A) (HS : S.toSubmodule.FG) (x
   -- Now `S` is a subalgebra so the product of two elements of `y` is also in `S`.
   have : ∀ jk : (↑(y ×ˢ y) : Set (A × A)), jk.1.1 * jk.1.2 ∈ S.to_submodule := fun jk =>
     S.mul_mem (hyS (Finset.mem_product.1 jk.2).1) (hyS (Finset.mem_product.1 jk.2).2)
-  rw [← hy, ← Set.image_id ↑y] at this ; simp only [Finsupp.mem_span_image_iff_total] at this 
+  rw [← hy, ← Set.image_id ↑y] at this; simp only [Finsupp.mem_span_image_iff_total] at this
   -- Say `yᵢyⱼ = ∑rᵢⱼₖ yₖ`
   choose ly hly1 hly2
   -- Now let `S₀` be the subring of `R` generated by the `rᵢ` and the `rᵢⱼₖ`.
@@ -369,7 +369,7 @@ theorem IsIntegral.of_mem_of_fg (S : Subalgebra R A) (HS : S.toSubmodule.FG) (x
         (span_le.2
             (Set.insert_subset_iff.2 ⟨(Algebra.adjoin S₀ ↑y).one_mem, Algebra.subset_adjoin⟩))
           hz
-    · rw [Subalgebra.mem_toSubmodule, Algebra.mem_adjoin_iff] at hz 
+    · rw [Subalgebra.mem_toSubmodule, Algebra.mem_adjoin_iff] at hz
       suffices Subring.closure (Set.range ⇑(algebraMap (↥S₀) A) ∪ ↑y) ≤ S₁ by exact this hz
       refine' Subring.closure_le.2 (Set.union_subset _ fun t ht => subset_span <| Or.inr ht)
       rw [Set.range_subset_iff]
@@ -388,7 +388,7 @@ theorem IsIntegral.of_mem_of_fg (S : Subalgebra R A) (HS : S.toSubmodule.FG) (x
   have : lx r ∈ S₀ :=
     Subring.subset_closure (Finset.mem_union_left _ (Finset.mem_image_of_mem _ hr))
   change (⟨_, this⟩ : S₀) • r ∈ _
-  rw [Finsupp.mem_supported] at hlx1 
+  rw [Finsupp.mem_supported] at hlx1
   exact Subalgebra.smul_mem _ (Algebra.subset_adjoin <| hlx1 hr) _
 #align is_integral_of_mem_of_fg IsIntegral.of_mem_of_fg
 -/
@@ -421,7 +421,7 @@ theorem isIntegral_of_smul_mem_submodule {M : Type _} [AddCommGroup M] [Module R
         map_smul' := fun r s => LinearMap.ext fun n => Subtype.ext <| smul_assoc r s n }
       (LinearMap.ext fun n => Subtype.ext <| one_smul _ _) fun x y =>
       LinearMap.ext fun n => Subtype.ext <| mul_smul x y n
-  obtain ⟨a, ha₁, ha₂⟩ : ∃ a ∈ N, a ≠ (0 : M) := by by_contra h'; push_neg at h' ; apply hN;
+  obtain ⟨a, ha₁, ha₂⟩ : ∃ a ∈ N, a ≠ (0 : M) := by by_contra h'; push_neg at h'; apply hN;
     rwa [eq_bot_iff]
   have : Function.Injective f :=
     by
@@ -477,7 +477,7 @@ theorem Algebra.IsIntegral.finite (h : Algebra.IsIntegral R A) [h' : Algebra.Fin
   by
   have :=
     h.to_finite (by delta RingHom.FiniteType; convert h'; ext; exact (Algebra.smul_def _ _).symm)
-  delta RingHom.Finite at this ; convert this; ext; exact Algebra.smul_def _ _
+  delta RingHom.Finite at this; convert this; ext; exact Algebra.smul_def _ _
 #align algebra.is_integral.finite Algebra.IsIntegral.finite
 -/
 
@@ -505,7 +505,7 @@ theorem RingHom.IsIntegralElem.of_mem_closure {x y z : S} (hx : f.IsIntegralElem
   by
   letI : Algebra R S := f.to_algebra
   have := (fG_adjoin_singleton_of_integral x hx).mul (fG_adjoin_singleton_of_integral y hy)
-  rw [← Algebra.adjoin_union_coe_submodule, Set.singleton_union] at this 
+  rw [← Algebra.adjoin_union_coe_submodule, Set.singleton_union] at this
   exact
     IsIntegral.of_mem_of_fg (Algebra.adjoin R {x, y}) this z
       (Algebra.mem_adjoin_iff.2 <| Subring.closure_mono (Set.subset_union_right _ _) hz)
@@ -692,7 +692,7 @@ theorem integralClosure.isIntegral (x : integralClosure R A) : IsIntegral R x :=
   let ⟨p, hpm, hpx⟩ := x.2
   ⟨p, hpm,
     Subtype.eq <| by
-      rwa [← aeval_def, Subtype.val_eq_coe, ← Subalgebra.val_apply, aeval_alg_hom_apply] at hpx ⟩
+      rwa [← aeval_def, Subtype.val_eq_coe, ← Subalgebra.val_apply, aeval_alg_hom_apply] at hpx⟩
 #align integral_closure.is_integral integralClosure.isIntegral
 -/
 
@@ -916,16 +916,16 @@ theorem RingHom.isIntegralElem_leadingCoeff_mul (h : p.eval₂ f x = 0) :
   by
   by_cases h' : 1 ≤ p.nat_degree
   · use normalizeScaleRoots p
-    have : p ≠ 0 := fun h'' => by rw [h'', nat_degree_zero] at h' ; exact Nat.not_succ_le_zero 0 h'
+    have : p ≠ 0 := fun h'' => by rw [h'', nat_degree_zero] at h'; exact Nat.not_succ_le_zero 0 h'
     use normalizeScaleRoots_monic p this
     rw [normalizeScaleRoots_eval₂_leadingCoeff_mul p h' f x, h, MulZeroClass.mul_zero]
   · by_cases hp : p.map f = 0
-    · apply_fun fun q => coeff q p.nat_degree at hp 
-      rw [coeff_map, coeff_zero, coeff_nat_degree] at hp 
+    · apply_fun fun q => coeff q p.nat_degree at hp
+      rw [coeff_map, coeff_zero, coeff_nat_degree] at hp
       rw [hp, MulZeroClass.zero_mul]
       exact f.is_integral_zero
-    · rw [Nat.one_le_iff_ne_zero, Classical.not_not] at h' 
-      rw [eq_C_of_nat_degree_eq_zero h', eval₂_C] at h 
+    · rw [Nat.one_le_iff_ne_zero, Classical.not_not] at h'
+      rw [eq_C_of_nat_degree_eq_zero h', eval₂_C] at h
       suffices p.map f = 0 by exact (hp this).rec _
       rw [eq_C_of_nat_degree_eq_zero h', map_C, h, C_eq_zero]
 #align ring_hom.is_integral_elem_leading_coeff_mul RingHom.isIntegralElem_leadingCoeff_mul
@@ -937,7 +937,7 @@ then `p.leading_coeff • x : S` is integral over `R`. -/
 theorem isIntegral_leadingCoeff_smul [Algebra R S] (h : aeval x p = 0) :
     IsIntegral R (p.leadingCoeff • x) :=
   by
-  rw [aeval_def] at h 
+  rw [aeval_def] at h
   rw [Algebra.smul_def]
   exact (algebraMap R S).isIntegralElem_leadingCoeff_mul p x h
 #align is_integral_leading_coeff_smul isIntegral_leadingCoeff_smul
@@ -1158,7 +1158,7 @@ theorem isIntegral_trans (A_int : Algebra.IsIntegral R A) (x : B) (hx : IsIntegr
   let S : Set B := ↑(p.map <| algebraMap A B).frange
   refine' IsIntegral.of_mem_of_fg (adjoin R (S ∪ {x})) _ _ (subset_adjoin <| Or.inr rfl)
   refine' fg_trans (fg_adjoin_of_finite (Finset.finite_toSet _) fun x hx => _) _
-  · rw [Finset.mem_coe, frange, Finset.mem_image] at hx 
+  · rw [Finset.mem_coe, frange, Finset.mem_image] at hx
     rcases hx with ⟨i, _, rfl⟩
     rw [coeff_map]
     exact IsIntegral.map (IsScalarTower.toAlgHom R A B) (A_int _)
@@ -1207,7 +1207,7 @@ theorem IsIntegral.tower_bot (H : Function.Injective (algebraMap A B)) {x : A}
   rcases h with ⟨p, ⟨hp, hp'⟩⟩
   refine' ⟨p, ⟨hp, _⟩⟩
   rw [IsScalarTower.algebraMap_eq R A B, ← eval₂_map, eval₂_hom, ←
-    RingHom.map_zero (algebraMap A B)] at hp' 
+    RingHom.map_zero (algebraMap A B)] at hp'
   rw [eval₂_eq_eval_map]
   exact H hp'
 #align is_integral_tower_bot_of_is_integral IsIntegral.tower_bot
@@ -1235,7 +1235,7 @@ theorem IsIntegral.tower_bot_of_field {R A B : Type _} [CommRing R] [Field A] [C
 theorem RingHom.isIntegralElem.of_comp {x : T} (h : (g.comp f).IsIntegralElem x) :
     g.IsIntegralElem x :=
   let ⟨p, ⟨hp, hp'⟩⟩ := h
-  ⟨p.map f, hp.map f, by rwa [← eval₂_map] at hp' ⟩
+  ⟨p.map f, hp.map f, by rwa [← eval₂_map] at hp'⟩
 #align ring_hom.is_integral_elem_of_is_integral_elem_comp RingHom.isIntegralElem.of_comp
 -/
 
@@ -1254,7 +1254,7 @@ theorem IsIntegral.tower_top {x : B} (h : IsIntegral R x) : IsIntegral A x :=
   by
   rcases h with ⟨p, ⟨hp, hp'⟩⟩
   refine' ⟨p.map (algebraMap R A), ⟨hp.map (algebraMap R A), _⟩⟩
-  rw [IsScalarTower.algebraMap_eq R A B, ← eval₂_map] at hp' 
+  rw [IsScalarTower.algebraMap_eq R A B, ← eval₂_map] at hp'
   exact hp'
 #align is_integral_tower_top_of_is_integral IsIntegral.tower_top
 -/
@@ -1312,7 +1312,7 @@ theorem isField_of_isIntegral_of_isField {R S : Type _} [CommRing R] [Nontrivial
     apply (injective_iff_map_eq_zero (algebraMap R S)).mp hRS
     have a_inv_ne_zero : a_inv ≠ 0 := right_ne_zero_of_mul (mt ha_inv.symm.trans one_ne_zero)
     refine' (mul_eq_zero.mp _).resolve_right (pow_ne_zero p.nat_degree a_inv_ne_zero)
-    rw [eval₂_eq_sum_range] at hp 
+    rw [eval₂_eq_sum_range] at hp
     rw [RingHom.map_sum, Finset.sum_mul]
     refine' (Finset.sum_congr rfl fun i hi => _).trans hp
     rw [RingHom.map_mul, mul_assoc]
@@ -1323,7 +1323,7 @@ theorem isField_of_isIntegral_of_isField {R S : Type _} [CommRing R] [Nontrivial
   -- Since `q(a) = 0` and `q(a) = q'(a) * a + 1`, we have `a * -q'(a) = 1`.
   -- TODO: we could use a lemma for `polynomial.div_X` here.
   rw [Finset.sum_range_succ_comm, p_monic.coeff_nat_degree, one_mul, tsub_self, pow_zero,
-    add_eq_zero_iff_eq_neg, eq_comm] at hq 
+    add_eq_zero_iff_eq_neg, eq_comm] at hq
   rw [mul_comm, neg_mul, Finset.sum_mul]
   convert hq using 2
   refine' Finset.sum_congr rfl fun i hi => _
Diff
@@ -950,7 +950,7 @@ end
 section IsIntegralClosure
 
 #print IsIntegralClosure /-
-/- ./././Mathport/Syntax/Translate/Command.lean:404:30: infer kinds are unsupported in Lean 4: #[`algebraMap_injective] [] -/
+/- ./././Mathport/Syntax/Translate/Command.lean:400:30: infer kinds are unsupported in Lean 4: #[`algebraMap_injective] [] -/
 /-- `is_integral_closure A R B` is the characteristic predicate stating `A` is
 the integral closure of `R` in `B`,
 i.e. that an element of `B` is integral over `R` iff it is an element of (the image of) `A`.
Diff
@@ -950,7 +950,7 @@ end
 section IsIntegralClosure
 
 #print IsIntegralClosure /-
-/- ./././Mathport/Syntax/Translate/Command.lean:394:30: infer kinds are unsupported in Lean 4: #[`algebraMap_injective] [] -/
+/- ./././Mathport/Syntax/Translate/Command.lean:404:30: infer kinds are unsupported in Lean 4: #[`algebraMap_injective] [] -/
 /-- `is_integral_closure A R B` is the characteristic predicate stating `A` is
 the integral closure of `R` in `B`,
 i.e. that an element of `B` is integral over `R` iff it is an element of (the image of) `A`.
Diff
@@ -244,8 +244,7 @@ theorem isIntegral_iff_isIntegral_closure_finite {r : A} :
 #align is_integral_iff_is_integral_closure_finite isIntegral_iff_isIntegral_closure_finite
 -/
 
-#print IsIntegral.fg_adjoin_singleton /-
-theorem IsIntegral.fg_adjoin_singleton (x : A) (hx : IsIntegral R x) :
+theorem fG_adjoin_singleton_of_integral (x : A) (hx : IsIntegral R x) :
     (Algebra.adjoin R ({x} : Set A)).toSubmodule.FG :=
   by
   rcases hx with ⟨f, hfm, hfx⟩
@@ -271,8 +270,7 @@ theorem IsIntegral.fg_adjoin_singleton (x : A) (hx : IsIntegral R x) :
   rw [degree_le_iff_coeff_zero] at this 
   rw [mem_support_iff] at hkq ; apply hkq; apply this
   exact lt_of_le_of_lt degree_le_nat_degree (WithBot.coe_lt_coe.2 hk)
-#align fg_adjoin_singleton_of_integral IsIntegral.fg_adjoin_singleton
--/
+#align fg_adjoin_singleton_of_integral fG_adjoin_singleton_of_integral
 
 #print fg_adjoin_of_finite /-
 theorem fg_adjoin_of_finite {s : Set A} (hfs : s.Finite) (his : ∀ x ∈ s, IsIntegral R x) :
@@ -289,7 +287,7 @@ theorem fg_adjoin_of_finite {s : Set A} (hfs : s.Finite) (his : ∀ x ∈ s, IsI
       rw [← Set.union_singleton, Algebra.adjoin_union_coe_submodule] <;>
         exact
           fg.mul (ih fun i hi => his i <| Set.mem_insert_of_mem a hi)
-            (IsIntegral.fg_adjoin_singleton _ <| his a <| Set.mem_insert a s))
+            (fG_adjoin_singleton_of_integral _ <| his a <| Set.mem_insert a s))
     his
 #align fg_adjoin_of_finite fg_adjoin_of_finite
 -/
@@ -506,7 +504,7 @@ theorem RingHom.IsIntegralElem.of_mem_closure {x y z : S} (hx : f.IsIntegralElem
     (hy : f.IsIntegralElem y) (hz : z ∈ Subring.closure ({x, y} : Set S)) : f.IsIntegralElem z :=
   by
   letI : Algebra R S := f.to_algebra
-  have := (IsIntegral.fg_adjoin_singleton x hx).mul (IsIntegral.fg_adjoin_singleton y hy)
+  have := (fG_adjoin_singleton_of_integral x hx).mul (fG_adjoin_singleton_of_integral y hy)
   rw [← Algebra.adjoin_union_coe_submodule, Set.singleton_union] at this 
   exact
     IsIntegral.of_mem_of_fg (Algebra.adjoin R {x, y}) this z
@@ -638,7 +636,8 @@ def integralClosure : Subalgebra R A
 #print mem_integralClosure_iff_mem_fg /-
 theorem mem_integralClosure_iff_mem_fg {r : A} :
     r ∈ integralClosure R A ↔ ∃ M : Subalgebra R A, M.toSubmodule.FG ∧ r ∈ M :=
-  ⟨fun hr => ⟨Algebra.adjoin R {r}, IsIntegral.fg_adjoin_singleton _ hr, Algebra.subset_adjoin rfl⟩,
+  ⟨fun hr =>
+    ⟨Algebra.adjoin R {r}, fG_adjoin_singleton_of_integral _ hr, Algebra.subset_adjoin rfl⟩,
     fun ⟨M, Hf, hrM⟩ => IsIntegral.of_mem_of_fg M Hf _ hrM⟩
 #align mem_integral_closure_iff_mem_fg mem_integralClosure_iff_mem_fg
 -/
@@ -1163,7 +1162,7 @@ theorem isIntegral_trans (A_int : Algebra.IsIntegral R A) (x : B) (hx : IsIntegr
     rcases hx with ⟨i, _, rfl⟩
     rw [coeff_map]
     exact IsIntegral.map (IsScalarTower.toAlgHom R A B) (A_int _)
-  · apply IsIntegral.fg_adjoin_singleton
+  · apply fG_adjoin_singleton_of_integral
     exact isIntegral_trans_aux _ pmonic hp
 #align is_integral_trans isIntegral_trans
 -/
@@ -1341,7 +1340,7 @@ theorem isField_of_isIntegral_of_isField' {R S : Type _} [CommRing R] [CommRing
   refine' ⟨⟨0, 1, zero_ne_one⟩, mul_comm, fun x hx => _⟩
   let A := Algebra.adjoin R ({x} : Set S)
   haveI : IsNoetherian R A :=
-    isNoetherian_of_fg_of_noetherian A.to_submodule (IsIntegral.fg_adjoin_singleton x (H x))
+    isNoetherian_of_fg_of_noetherian A.to_submodule (fG_adjoin_singleton_of_integral x (H x))
   haveI : Module.Finite R A := Module.IsNoetherian.finite R A
   obtain ⟨y, hy⟩ :=
     LinearMap.surjective_of_injective
Diff
@@ -86,15 +86,15 @@ protected def Algebra.IsIntegral : Prop :=
 
 variable {R A}
 
-#print RingHom.is_integral_map /-
-theorem RingHom.is_integral_map {x : R} : f.IsIntegralElem (f x) :=
+#print RingHom.isIntegralElem_map /-
+theorem RingHom.isIntegralElem_map {x : R} : f.IsIntegralElem (f x) :=
   ⟨X - C x, monic_X_sub_C _, by simp⟩
-#align ring_hom.is_integral_map RingHom.is_integral_map
+#align ring_hom.is_integral_map RingHom.isIntegralElem_map
 -/
 
 #print isIntegral_algebraMap /-
 theorem isIntegral_algebraMap {x : R} : IsIntegral R (algebraMap R A x) :=
-  (algebraMap R A).is_integral_map
+  (algebraMap R A).isIntegralElem_map
 #align is_integral_algebra_map isIntegral_algebraMap
 -/
 
@@ -147,8 +147,8 @@ variable [CommRing R] [CommRing A] [CommRing B] [CommRing S]
 
 variable [Algebra R A] [Algebra R B] (f : R →+* S)
 
-#print map_isIntegral /-
-theorem map_isIntegral {B C F : Type _} [Ring B] [Ring C] [Algebra R B] [Algebra A B] [Algebra R C]
+#print IsIntegral.map /-
+theorem IsIntegral.map {B C F : Type _} [Ring B] [Ring C] [Algebra R B] [Algebra A B] [Algebra R C]
     [IsScalarTower R A B] [Algebra A C] [IsScalarTower R A C] {b : B} [AlgHomClass F A B C] (f : F)
     (hb : IsIntegral R b) : IsIntegral R (f b) :=
   by
@@ -156,12 +156,12 @@ theorem map_isIntegral {B C F : Type _} [Ring B] [Ring C] [Algebra R B] [Algebra
   refine' ⟨P, hP.1, _⟩
   rw [← aeval_def, show (aeval (f b)) P = (aeval (f b)) (P.map (algebraMap R A)) by simp,
     aeval_alg_hom_apply, aeval_map_algebra_map, aeval_def, hP.2, _root_.map_zero]
-#align map_is_integral map_isIntegral
+#align map_is_integral IsIntegral.map
 -/
 
-#print isIntegral_map_of_comp_eq_of_isIntegral /-
-theorem isIntegral_map_of_comp_eq_of_isIntegral {R S T U : Type _} [CommRing R] [CommRing S]
-    [CommRing T] [CommRing U] [Algebra R S] [Algebra T U] (φ : R →+* T) (ψ : S →+* U)
+#print IsIntegral.map_of_comp_eq /-
+theorem IsIntegral.map_of_comp_eq {R S T U : Type _} [CommRing R] [CommRing S] [CommRing T]
+    [CommRing U] [Algebra R S] [Algebra T U] (φ : R →+* T) (ψ : S →+* U)
     (h : (algebraMap T U).comp φ = ψ.comp (algebraMap R S)) {a : S} (ha : IsIntegral R a) :
     IsIntegral T (ψ a) := by
   rw [IsIntegral, RingHom.IsIntegralElem] at ha ⊢
@@ -169,14 +169,14 @@ theorem isIntegral_map_of_comp_eq_of_isIntegral {R S T U : Type _} [CommRing R]
   refine' ⟨p.map φ, hp.left.map _, _⟩
   rw [← eval_map, map_map, h, ← map_map, eval_map, eval₂_at_apply, eval_map, hp.right,
     RingHom.map_zero]
-#align is_integral_map_of_comp_eq_of_is_integral isIntegral_map_of_comp_eq_of_isIntegral
+#align is_integral_map_of_comp_eq_of_is_integral IsIntegral.map_of_comp_eq
 -/
 
 #print isIntegral_algHom_iff /-
 theorem isIntegral_algHom_iff {A B : Type _} [Ring A] [Ring B] [Algebra R A] [Algebra R B]
     (f : A →ₐ[R] B) (hf : Function.Injective f) {x : A} : IsIntegral R (f x) ↔ IsIntegral R x :=
   by
-  refine' ⟨_, map_isIntegral f⟩
+  refine' ⟨_, IsIntegral.map f⟩
   rintro ⟨p, hp, hx⟩
   use p, hp
   rwa [← f.comp_algebra_map, ← AlgHom.coe_toRingHom, ← Polynomial.hom_eval₂, AlgHom.coe_toRingHom,
@@ -188,29 +188,29 @@ theorem isIntegral_algHom_iff {A B : Type _} [Ring A] [Ring B] [Algebra R A] [Al
 @[simp]
 theorem isIntegral_algEquiv {A B : Type _} [Ring A] [Ring B] [Algebra R A] [Algebra R B]
     (f : A ≃ₐ[R] B) {x : A} : IsIntegral R (f x) ↔ IsIntegral R x :=
-  ⟨fun h => by simpa using map_isIntegral f.symm.to_alg_hom h, map_isIntegral f.toAlgHom⟩
+  ⟨fun h => by simpa using IsIntegral.map f.symm.to_alg_hom h, IsIntegral.map f.toAlgHom⟩
 #align is_integral_alg_equiv isIntegral_algEquiv
 -/
 
-#print isIntegral_of_isScalarTower /-
-theorem isIntegral_of_isScalarTower [Algebra A B] [IsScalarTower R A B] {x : B}
-    (hx : IsIntegral R x) : IsIntegral A x :=
+#print IsIntegral.tower_top /-
+theorem IsIntegral.tower_top [Algebra A B] [IsScalarTower R A B] {x : B} (hx : IsIntegral R x) :
+    IsIntegral A x :=
   let ⟨p, hp, hpx⟩ := hx
   ⟨p.map <| algebraMap R A, hp.map _, by rw [← aeval_def, aeval_map_algebra_map, aeval_def, hpx]⟩
-#align is_integral_of_is_scalar_tower isIntegral_of_isScalarTower
+#align is_integral_of_is_scalar_tower IsIntegral.tower_top
 -/
 
 #print map_isIntegral_int /-
 theorem map_isIntegral_int {B C F : Type _} [Ring B] [Ring C] {b : B} [RingHomClass F B C] (f : F)
     (hb : IsIntegral ℤ b) : IsIntegral ℤ (f b) :=
-  map_isIntegral (f : B →+* C).toIntAlgHom hb
+  IsIntegral.map (f : B →+* C).toIntAlgHom hb
 #align map_is_integral_int map_isIntegral_int
 -/
 
-#print isIntegral_ofSubring /-
-theorem isIntegral_ofSubring {x : A} (T : Subring R) (hx : IsIntegral T x) : IsIntegral R x :=
-  isIntegral_of_isScalarTower hx
-#align is_integral_of_subring isIntegral_ofSubring
+#print IsIntegral.of_subring /-
+theorem IsIntegral.of_subring {x : A} (T : Subring R) (hx : IsIntegral T x) : IsIntegral R x :=
+  IsIntegral.tower_top hx
+#align is_integral_of_subring IsIntegral.of_subring
 -/
 
 #print IsIntegral.algebraMap /-
@@ -240,12 +240,12 @@ theorem isIntegral_iff_isIntegral_closure_finite {r : A} :
     refine' ⟨_, Finset.finite_toSet _, p.restriction, monic_restriction.2 hmp, _⟩
     rw [← aeval_def, ← aeval_map_algebra_map R r p.restriction, map_restriction, aeval_def, hpr]
   rcases hr with ⟨s, hs, hsr⟩
-  exact isIntegral_ofSubring _ hsr
+  exact IsIntegral.of_subring _ hsr
 #align is_integral_iff_is_integral_closure_finite isIntegral_iff_isIntegral_closure_finite
 -/
 
-#print FG_adjoin_singleton_of_integral /-
-theorem FG_adjoin_singleton_of_integral (x : A) (hx : IsIntegral R x) :
+#print IsIntegral.fg_adjoin_singleton /-
+theorem IsIntegral.fg_adjoin_singleton (x : A) (hx : IsIntegral R x) :
     (Algebra.adjoin R ({x} : Set A)).toSubmodule.FG :=
   by
   rcases hx with ⟨f, hfm, hfx⟩
@@ -271,11 +271,11 @@ theorem FG_adjoin_singleton_of_integral (x : A) (hx : IsIntegral R x) :
   rw [degree_le_iff_coeff_zero] at this 
   rw [mem_support_iff] at hkq ; apply hkq; apply this
   exact lt_of_le_of_lt degree_le_nat_degree (WithBot.coe_lt_coe.2 hk)
-#align fg_adjoin_singleton_of_integral FG_adjoin_singleton_of_integral
+#align fg_adjoin_singleton_of_integral IsIntegral.fg_adjoin_singleton
 -/
 
-#print FG_adjoin_of_finite /-
-theorem FG_adjoin_of_finite {s : Set A} (hfs : s.Finite) (his : ∀ x ∈ s, IsIntegral R x) :
+#print fg_adjoin_of_finite /-
+theorem fg_adjoin_of_finite {s : Set A} (hfs : s.Finite) (his : ∀ x ∈ s, IsIntegral R x) :
     (Algebra.adjoin R s).toSubmodule.FG :=
   Set.Finite.induction_on hfs
     (fun _ =>
@@ -289,23 +289,23 @@ theorem FG_adjoin_of_finite {s : Set A} (hfs : s.Finite) (his : ∀ x ∈ s, IsI
       rw [← Set.union_singleton, Algebra.adjoin_union_coe_submodule] <;>
         exact
           fg.mul (ih fun i hi => his i <| Set.mem_insert_of_mem a hi)
-            (FG_adjoin_singleton_of_integral _ <| his a <| Set.mem_insert a s))
+            (IsIntegral.fg_adjoin_singleton _ <| his a <| Set.mem_insert a s))
     his
-#align fg_adjoin_of_finite FG_adjoin_of_finite
+#align fg_adjoin_of_finite fg_adjoin_of_finite
 -/
 
 #print isNoetherian_adjoin_finset /-
 theorem isNoetherian_adjoin_finset [IsNoetherianRing R] (s : Finset A)
     (hs : ∀ x ∈ s, IsIntegral R x) : IsNoetherian R (Algebra.adjoin R (↑s : Set A)) :=
-  isNoetherian_of_fg_of_noetherian _ (FG_adjoin_of_finite s.finite_toSet hs)
+  isNoetherian_of_fg_of_noetherian _ (fg_adjoin_of_finite s.finite_toSet hs)
 #align is_noetherian_adjoin_finset isNoetherian_adjoin_finset
 -/
 
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
-#print isIntegral_of_mem_of_FG /-
+#print IsIntegral.of_mem_of_fg /-
 /-- If `S` is a sub-`R`-algebra of `A` and `S` is finitely-generated as an `R`-module,
   then all elements of `S` are integral over `R`. -/
-theorem isIntegral_of_mem_of_FG (S : Subalgebra R A) (HS : S.toSubmodule.FG) (x : A) (hx : x ∈ S) :
+theorem IsIntegral.of_mem_of_fg (S : Subalgebra R A) (HS : S.toSubmodule.FG) (x : A) (hx : x ∈ S) :
     IsIntegral R x :=
   by
   -- say `x ∈ S`. We want to prove that `x` is integral over `R`.
@@ -328,7 +328,7 @@ theorem isIntegral_of_mem_of_FG (S : Subalgebra R A) (HS : S.toSubmodule.FG) (x
   let S₀ : Subring R :=
     Subring.closure ↑(lx.frange ∪ Finset.biUnion Finset.univ (Finsupp.frange ∘ ly))
   -- It suffices to prove that `x` is integral over `S₀`.
-  refine' isIntegral_ofSubring S₀ _
+  refine' IsIntegral.of_subring S₀ _
   letI : CommRing S₀ := SubringClass.toCommRing S₀
   letI : Algebra S₀ A := Algebra.ofSubring S₀
   -- Claim: the `S₀`-module span (in `A`) of the set `y ∪ {1}` is closed under
@@ -392,7 +392,7 @@ theorem isIntegral_of_mem_of_FG (S : Subalgebra R A) (HS : S.toSubmodule.FG) (x
   change (⟨_, this⟩ : S₀) • r ∈ _
   rw [Finsupp.mem_supported] at hlx1 
   exact Subalgebra.smul_mem _ (Algebra.subset_adjoin <| hlx1 hr) _
-#align is_integral_of_mem_of_fg isIntegral_of_mem_of_FG
+#align is_integral_of_mem_of_fg IsIntegral.of_mem_of_fg
 -/
 
 #print Module.End.isIntegral /-
@@ -444,7 +444,7 @@ variable {f}
 #print RingHom.Finite.to_isIntegral /-
 theorem RingHom.Finite.to_isIntegral (h : f.Finite) : f.IsIntegral :=
   letI := f.to_algebra
-  fun x => isIntegral_of_mem_of_FG ⊤ h.1 _ trivial
+  fun x => IsIntegral.of_mem_of_fg ⊤ h.1 _ trivial
 #align ring_hom.finite.to_is_integral RingHom.Finite.to_isIntegral
 -/
 
@@ -459,7 +459,7 @@ theorem RingHom.IsIntegral.to_finite (h : f.IsIntegral) (h' : f.FiniteType) : f.
   constructor
   change (⊤ : Subalgebra R S).toSubmodule.FG
   rw [← hs]
-  exact FG_adjoin_of_finite (Set.toFinite _) fun x _ => h x
+  exact fg_adjoin_of_finite (Set.toFinite _) fun x _ => h x
 #align ring_hom.is_integral.to_finite RingHom.IsIntegral.to_finite
 -/
 
@@ -501,123 +501,123 @@ theorem Algebra.finite_iff_isIntegral_and_finiteType :
 
 variable (f)
 
-#print RingHom.is_integral_of_mem_closure /-
-theorem RingHom.is_integral_of_mem_closure {x y z : S} (hx : f.IsIntegralElem x)
+#print RingHom.IsIntegralElem.of_mem_closure /-
+theorem RingHom.IsIntegralElem.of_mem_closure {x y z : S} (hx : f.IsIntegralElem x)
     (hy : f.IsIntegralElem y) (hz : z ∈ Subring.closure ({x, y} : Set S)) : f.IsIntegralElem z :=
   by
   letI : Algebra R S := f.to_algebra
-  have := (FG_adjoin_singleton_of_integral x hx).mul (FG_adjoin_singleton_of_integral y hy)
+  have := (IsIntegral.fg_adjoin_singleton x hx).mul (IsIntegral.fg_adjoin_singleton y hy)
   rw [← Algebra.adjoin_union_coe_submodule, Set.singleton_union] at this 
   exact
-    isIntegral_of_mem_of_FG (Algebra.adjoin R {x, y}) this z
+    IsIntegral.of_mem_of_fg (Algebra.adjoin R {x, y}) this z
       (Algebra.mem_adjoin_iff.2 <| Subring.closure_mono (Set.subset_union_right _ _) hz)
-#align ring_hom.is_integral_of_mem_closure RingHom.is_integral_of_mem_closure
+#align ring_hom.is_integral_of_mem_closure RingHom.IsIntegralElem.of_mem_closure
 -/
 
-#print isIntegral_of_mem_closure /-
-theorem isIntegral_of_mem_closure {x y z : A} (hx : IsIntegral R x) (hy : IsIntegral R y)
+#print IsIntegral.of_mem_closure /-
+theorem IsIntegral.of_mem_closure {x y z : A} (hx : IsIntegral R x) (hy : IsIntegral R y)
     (hz : z ∈ Subring.closure ({x, y} : Set A)) : IsIntegral R z :=
-  (algebraMap R A).is_integral_of_mem_closure hx hy hz
-#align is_integral_of_mem_closure isIntegral_of_mem_closure
+  (algebraMap R A).of_mem_closure hx hy hz
+#align is_integral_of_mem_closure IsIntegral.of_mem_closure
 -/
 
-#print RingHom.is_integral_zero /-
-theorem RingHom.is_integral_zero : f.IsIntegralElem 0 :=
-  f.map_zero ▸ f.is_integral_map
-#align ring_hom.is_integral_zero RingHom.is_integral_zero
+#print RingHom.isIntegralElem_zero /-
+theorem RingHom.isIntegralElem_zero : f.IsIntegralElem 0 :=
+  f.map_zero ▸ f.isIntegralElem_map
+#align ring_hom.is_integral_zero RingHom.isIntegralElem_zero
 -/
 
 #print isIntegral_zero /-
 theorem isIntegral_zero : IsIntegral R (0 : A) :=
-  (algebraMap R A).is_integral_zero
+  (algebraMap R A).isIntegralElem_zero
 #align is_integral_zero isIntegral_zero
 -/
 
-#print RingHom.is_integral_one /-
-theorem RingHom.is_integral_one : f.IsIntegralElem 1 :=
-  f.map_one ▸ f.is_integral_map
-#align ring_hom.is_integral_one RingHom.is_integral_one
+#print RingHom.isIntegralElem_one /-
+theorem RingHom.isIntegralElem_one : f.IsIntegralElem 1 :=
+  f.map_one ▸ f.isIntegralElem_map
+#align ring_hom.is_integral_one RingHom.isIntegralElem_one
 -/
 
 #print isIntegral_one /-
 theorem isIntegral_one : IsIntegral R (1 : A) :=
-  (algebraMap R A).is_integral_one
+  (algebraMap R A).isIntegralElem_one
 #align is_integral_one isIntegral_one
 -/
 
-#print RingHom.is_integral_add /-
-theorem RingHom.is_integral_add {x y : S} (hx : f.IsIntegralElem x) (hy : f.IsIntegralElem y) :
+#print RingHom.IsIntegralElem.add /-
+theorem RingHom.IsIntegralElem.add {x y : S} (hx : f.IsIntegralElem x) (hy : f.IsIntegralElem y) :
     f.IsIntegralElem (x + y) :=
-  f.is_integral_of_mem_closure hx hy <|
+  f.of_mem_closure hx hy <|
     Subring.add_mem _ (Subring.subset_closure (Or.inl rfl)) (Subring.subset_closure (Or.inr rfl))
-#align ring_hom.is_integral_add RingHom.is_integral_add
+#align ring_hom.is_integral_add RingHom.IsIntegralElem.add
 -/
 
-#print isIntegral_add /-
-theorem isIntegral_add {x y : A} (hx : IsIntegral R x) (hy : IsIntegral R y) :
+#print IsIntegral.add /-
+theorem IsIntegral.add {x y : A} (hx : IsIntegral R x) (hy : IsIntegral R y) :
     IsIntegral R (x + y) :=
-  (algebraMap R A).is_integral_add hx hy
-#align is_integral_add isIntegral_add
+  (algebraMap R A).add hx hy
+#align is_integral_add IsIntegral.add
 -/
 
-#print RingHom.is_integral_neg /-
-theorem RingHom.is_integral_neg {x : S} (hx : f.IsIntegralElem x) : f.IsIntegralElem (-x) :=
-  f.is_integral_of_mem_closure hx hx (Subring.neg_mem _ (Subring.subset_closure (Or.inl rfl)))
-#align ring_hom.is_integral_neg RingHom.is_integral_neg
+#print RingHom.IsIntegralElem.neg /-
+theorem RingHom.IsIntegralElem.neg {x : S} (hx : f.IsIntegralElem x) : f.IsIntegralElem (-x) :=
+  f.of_mem_closure hx hx (Subring.neg_mem _ (Subring.subset_closure (Or.inl rfl)))
+#align ring_hom.is_integral_neg RingHom.IsIntegralElem.neg
 -/
 
-#print isIntegral_neg /-
-theorem isIntegral_neg {x : A} (hx : IsIntegral R x) : IsIntegral R (-x) :=
-  (algebraMap R A).is_integral_neg hx
-#align is_integral_neg isIntegral_neg
+#print IsIntegral.neg /-
+theorem IsIntegral.neg {x : A} (hx : IsIntegral R x) : IsIntegral R (-x) :=
+  (algebraMap R A).neg hx
+#align is_integral_neg IsIntegral.neg
 -/
 
-#print RingHom.is_integral_sub /-
-theorem RingHom.is_integral_sub {x y : S} (hx : f.IsIntegralElem x) (hy : f.IsIntegralElem y) :
+#print RingHom.IsIntegralElem.sub /-
+theorem RingHom.IsIntegralElem.sub {x y : S} (hx : f.IsIntegralElem x) (hy : f.IsIntegralElem y) :
     f.IsIntegralElem (x - y) := by
   simpa only [sub_eq_add_neg] using f.is_integral_add hx (f.is_integral_neg hy)
-#align ring_hom.is_integral_sub RingHom.is_integral_sub
+#align ring_hom.is_integral_sub RingHom.IsIntegralElem.sub
 -/
 
-#print isIntegral_sub /-
-theorem isIntegral_sub {x y : A} (hx : IsIntegral R x) (hy : IsIntegral R y) :
+#print IsIntegral.sub /-
+theorem IsIntegral.sub {x y : A} (hx : IsIntegral R x) (hy : IsIntegral R y) :
     IsIntegral R (x - y) :=
-  (algebraMap R A).is_integral_sub hx hy
-#align is_integral_sub isIntegral_sub
+  (algebraMap R A).sub hx hy
+#align is_integral_sub IsIntegral.sub
 -/
 
-#print RingHom.is_integral_mul /-
-theorem RingHom.is_integral_mul {x y : S} (hx : f.IsIntegralElem x) (hy : f.IsIntegralElem y) :
+#print RingHom.IsIntegralElem.mul /-
+theorem RingHom.IsIntegralElem.mul {x y : S} (hx : f.IsIntegralElem x) (hy : f.IsIntegralElem y) :
     f.IsIntegralElem (x * y) :=
-  f.is_integral_of_mem_closure hx hy
+  f.of_mem_closure hx hy
     (Subring.mul_mem _ (Subring.subset_closure (Or.inl rfl)) (Subring.subset_closure (Or.inr rfl)))
-#align ring_hom.is_integral_mul RingHom.is_integral_mul
+#align ring_hom.is_integral_mul RingHom.IsIntegralElem.mul
 -/
 
-#print isIntegral_mul /-
-theorem isIntegral_mul {x y : A} (hx : IsIntegral R x) (hy : IsIntegral R y) :
+#print IsIntegral.mul /-
+theorem IsIntegral.mul {x y : A} (hx : IsIntegral R x) (hy : IsIntegral R y) :
     IsIntegral R (x * y) :=
-  (algebraMap R A).is_integral_mul hx hy
-#align is_integral_mul isIntegral_mul
+  (algebraMap R A).mul hx hy
+#align is_integral_mul IsIntegral.mul
 -/
 
-#print isIntegral_smul /-
-theorem isIntegral_smul [Algebra S A] [Algebra R S] [IsScalarTower R S A] {x : A} (r : R)
+#print IsIntegral.smul /-
+theorem IsIntegral.smul [Algebra S A] [Algebra R S] [IsScalarTower R S A] {x : A} (r : R)
     (hx : IsIntegral S x) : IsIntegral S (r • x) :=
   by
   rw [Algebra.smul_def, IsScalarTower.algebraMap_apply R S A]
-  exact isIntegral_mul isIntegral_algebraMap hx
-#align is_integral_smul isIntegral_smul
+  exact IsIntegral.mul isIntegral_algebraMap hx
+#align is_integral_smul IsIntegral.smul
 -/
 
-#print isIntegral_of_pow /-
-theorem isIntegral_of_pow {x : A} {n : ℕ} (hn : 0 < n) (hx : IsIntegral R <| x ^ n) :
+#print IsIntegral.of_pow /-
+theorem IsIntegral.of_pow {x : A} {n : ℕ} (hn : 0 < n) (hx : IsIntegral R <| x ^ n) :
     IsIntegral R x := by
   rcases hx with ⟨p, ⟨hmonic, heval⟩⟩
   exact
     ⟨expand R n p, monic.expand hn hmonic, by
       rwa [eval₂_eq_eval_map, map_expand, expand_eval, ← eval₂_eq_eval_map]⟩
-#align is_integral_of_pow isIntegral_of_pow
+#align is_integral_of_pow IsIntegral.of_pow
 -/
 
 variable (R A)
@@ -629,19 +629,18 @@ def integralClosure : Subalgebra R A
   carrier := {r | IsIntegral R r}
   zero_mem' := isIntegral_zero
   one_mem' := isIntegral_one
-  add_mem' _ _ := isIntegral_add
-  hMul_mem' _ _ := isIntegral_mul
+  add_mem' _ _ := IsIntegral.add
+  hMul_mem' _ _ := IsIntegral.mul
   algebraMap_mem' x := isIntegral_algebraMap
 #align integral_closure integralClosure
 -/
 
-#print mem_integralClosure_iff_mem_FG /-
-theorem mem_integralClosure_iff_mem_FG {r : A} :
+#print mem_integralClosure_iff_mem_fg /-
+theorem mem_integralClosure_iff_mem_fg {r : A} :
     r ∈ integralClosure R A ↔ ∃ M : Subalgebra R A, M.toSubmodule.FG ∧ r ∈ M :=
-  ⟨fun hr =>
-    ⟨Algebra.adjoin R {r}, FG_adjoin_singleton_of_integral _ hr, Algebra.subset_adjoin rfl⟩,
-    fun ⟨M, Hf, hrM⟩ => isIntegral_of_mem_of_FG M Hf _ hrM⟩
-#align mem_integral_closure_iff_mem_fg mem_integralClosure_iff_mem_FG
+  ⟨fun hr => ⟨Algebra.adjoin R {r}, IsIntegral.fg_adjoin_singleton _ hr, Algebra.subset_adjoin rfl⟩,
+    fun ⟨M, Hf, hrM⟩ => IsIntegral.of_mem_of_fg M Hf _ hrM⟩
+#align mem_integral_closure_iff_mem_fg mem_integralClosure_iff_mem_fg
 -/
 
 variable {R} {A}
@@ -666,11 +665,11 @@ theorem le_integralClosure_iff_isIntegral {S : Subalgebra R A} :
 #align le_integral_closure_iff_is_integral le_integralClosure_iff_isIntegral
 -/
 
-#print isIntegral_sup /-
-theorem isIntegral_sup {S T : Subalgebra R A} :
+#print Algebra.isIntegral_sup /-
+theorem Algebra.isIntegral_sup {S T : Subalgebra R A} :
     Algebra.IsIntegral R ↥(S ⊔ T) ↔ Algebra.IsIntegral R S ∧ Algebra.IsIntegral R T := by
   simp only [← le_integralClosure_iff_isIntegral, sup_le_iff]
-#align is_integral_sup isIntegral_sup
+#align is_integral_sup Algebra.isIntegral_sup
 -/
 
 #print integralClosure_map_algEquiv /-
@@ -682,9 +681,9 @@ theorem integralClosure_map_algEquiv (f : A ≃ₐ[R] B) :
   rw [Subalgebra.mem_map]
   constructor
   · rintro ⟨x, hx, rfl⟩
-    exact map_isIntegral f hx
+    exact IsIntegral.map f hx
   · intro hy
-    use f.symm y, map_isIntegral (f.symm : B →ₐ[R] A) hy
+    use f.symm y, IsIntegral.map (f.symm : B →ₐ[R] A) hy
     simp
 #align integral_closure_map_alg_equiv integralClosure_map_algEquiv
 -/
@@ -698,38 +697,38 @@ theorem integralClosure.isIntegral (x : integralClosure R A) : IsIntegral R x :=
 #align integral_closure.is_integral integralClosure.isIntegral
 -/
 
-#print RingHom.isIntegral_of_isIntegral_mul_unit /-
-theorem RingHom.isIntegral_of_isIntegral_mul_unit (x y : S) (r : R) (hr : f r * y = 1)
+#print RingHom.IsIntegralElem.of_mul_unit /-
+theorem RingHom.IsIntegralElem.of_mul_unit (x y : S) (r : R) (hr : f r * y = 1)
     (hx : f.IsIntegralElem (x * y)) : f.IsIntegralElem x :=
   by
   obtain ⟨p, ⟨p_monic, hp⟩⟩ := hx
   refine' ⟨scale_roots p r, ⟨(monic_scale_roots_iff r).2 p_monic, _⟩⟩
   convert scale_roots_eval₂_eq_zero f hp
   rw [mul_comm x y, ← mul_assoc, hr, one_mul]
-#align ring_hom.is_integral_of_is_integral_mul_unit RingHom.isIntegral_of_isIntegral_mul_unit
+#align ring_hom.is_integral_of_is_integral_mul_unit RingHom.IsIntegralElem.of_mul_unit
 -/
 
-#print isIntegral_of_isIntegral_mul_unit /-
-theorem isIntegral_of_isIntegral_mul_unit {x y : A} {r : R} (hr : algebraMap R A r * y = 1)
+#print IsIntegral.of_mul_unit /-
+theorem IsIntegral.of_mul_unit {x y : A} {r : R} (hr : algebraMap R A r * y = 1)
     (hx : IsIntegral R (x * y)) : IsIntegral R x :=
-  (algebraMap R A).isIntegral_of_isIntegral_mul_unit x y r hr hx
-#align is_integral_of_is_integral_mul_unit isIntegral_of_isIntegral_mul_unit
+  (algebraMap R A).of_mul_unit x y r hr hx
+#align is_integral_of_is_integral_mul_unit IsIntegral.of_mul_unit
 -/
 
-#print isIntegral_of_mem_closure' /-
+#print IsIntegral.of_mem_closure' /-
 /-- Generalization of `is_integral_of_mem_closure` bootstrapped up from that lemma -/
-theorem isIntegral_of_mem_closure' (G : Set A) (hG : ∀ x ∈ G, IsIntegral R x) :
+theorem IsIntegral.of_mem_closure' (G : Set A) (hG : ∀ x ∈ G, IsIntegral R x) :
     ∀ x ∈ Subring.closure G, IsIntegral R x := fun x hx =>
-  Subring.closure_induction hx hG isIntegral_zero isIntegral_one (fun _ _ => isIntegral_add)
-    (fun _ => isIntegral_neg) fun _ _ => isIntegral_mul
-#align is_integral_of_mem_closure' isIntegral_of_mem_closure'
+  Subring.closure_induction hx hG isIntegral_zero isIntegral_one (fun _ _ => IsIntegral.add)
+    (fun _ => IsIntegral.neg) fun _ _ => IsIntegral.mul
+#align is_integral_of_mem_closure' IsIntegral.of_mem_closure'
 -/
 
-#print isIntegral_of_mem_closure'' /-
-theorem isIntegral_of_mem_closure'' {S : Type _} [CommRing S] {f : R →+* S} (G : Set S)
+#print IsIntegral.of_mem_closure'' /-
+theorem IsIntegral.of_mem_closure'' {S : Type _} [CommRing S] {f : R →+* S} (G : Set S)
     (hG : ∀ x ∈ G, f.IsIntegralElem x) : ∀ x ∈ Subring.closure G, f.IsIntegralElem x := fun x hx =>
-  @isIntegral_of_mem_closure' R S _ _ f.toAlgebra G hG x hx
-#align is_integral_of_mem_closure'' isIntegral_of_mem_closure''
+  @IsIntegral.of_mem_closure' R S _ _ f.toAlgebra G hG x hx
+#align is_integral_of_mem_closure'' IsIntegral.of_mem_closure''
 -/
 
 #print IsIntegral.pow /-
@@ -790,7 +789,7 @@ theorem IsIntegral.det {n : Type _} [Fintype n] [DecidableEq n] {M : Matrix n n
 #print IsIntegral.pow_iff /-
 @[simp]
 theorem IsIntegral.pow_iff {x : A} {n : ℕ} (hn : 0 < n) : IsIntegral R (x ^ n) ↔ IsIntegral R x :=
-  ⟨isIntegral_of_pow hn, fun hx => IsIntegral.pow hx n⟩
+  ⟨IsIntegral.of_pow hn, fun hx => IsIntegral.pow hx n⟩
 #align is_integral.pow_iff IsIntegral.pow_iff
 -/
 
@@ -1036,7 +1035,7 @@ theorem mk'_zero (h : IsIntegral R (0 : B) := isIntegral_zero) : mk' A 0 h = 0 :
 #print IsIntegralClosure.mk'_add /-
 @[simp]
 theorem mk'_add (x y : B) (hx : IsIntegral R x) (hy : IsIntegral R y) :
-    mk' A (x + y) (isIntegral_add hx hy) = mk' A x hx + mk' A y hy :=
+    mk' A (x + y) (IsIntegral.add hx hy) = mk' A x hx + mk' A y hy :=
   algebraMap_injective A R B <| by simp only [algebra_map_mk', RingHom.map_add]
 #align is_integral_closure.mk'_add IsIntegralClosure.mk'_add
 -/
@@ -1044,7 +1043,7 @@ theorem mk'_add (x y : B) (hx : IsIntegral R x) (hy : IsIntegral R y) :
 #print IsIntegralClosure.mk'_mul /-
 @[simp]
 theorem mk'_mul (x y : B) (hx : IsIntegral R x) (hy : IsIntegral R y) :
-    mk' A (x * y) (isIntegral_mul hx hy) = mk' A x hx * mk' A y hy :=
+    mk' A (x * y) (IsIntegral.mul hx hy) = mk' A x hx * mk' A y hy :=
   algebraMap_injective A R B <| by simp only [algebra_map_mk', RingHom.map_mul]
 #align is_integral_closure.mk'_mul IsIntegralClosure.mk'_mul
 -/
@@ -1125,7 +1124,6 @@ variable [CommRing R] [CommRing A] [CommRing B] [CommRing S] [CommRing T]
 
 variable [Algebra A B] [Algebra R B] (f : R →+* S) (g : S →+* T)
 
-#print isIntegral_trans_aux /-
 theorem isIntegral_trans_aux (x : B) {p : A[X]} (pmonic : Monic p) (hp : aeval x p = 0) :
     IsIntegral (adjoin R (↑(p.map <| algebraMap A B).frange : Set B)) x :=
   by
@@ -1149,7 +1147,6 @@ theorem isIntegral_trans_aux (x : B) {p : A[X]} (pmonic : Monic p) (hp : aeval x
     replace hq := congr_arg (eval x) hq
     convert hq using 1 <;> symm <;> apply eval_map
 #align is_integral_trans_aux isIntegral_trans_aux
--/
 
 variable [Algebra R A] [IsScalarTower R A B]
 
@@ -1160,52 +1157,52 @@ theorem isIntegral_trans (A_int : Algebra.IsIntegral R A) (x : B) (hx : IsIntegr
     IsIntegral R x := by
   rcases hx with ⟨p, pmonic, hp⟩
   let S : Set B := ↑(p.map <| algebraMap A B).frange
-  refine' isIntegral_of_mem_of_FG (adjoin R (S ∪ {x})) _ _ (subset_adjoin <| Or.inr rfl)
-  refine' fg_trans (FG_adjoin_of_finite (Finset.finite_toSet _) fun x hx => _) _
+  refine' IsIntegral.of_mem_of_fg (adjoin R (S ∪ {x})) _ _ (subset_adjoin <| Or.inr rfl)
+  refine' fg_trans (fg_adjoin_of_finite (Finset.finite_toSet _) fun x hx => _) _
   · rw [Finset.mem_coe, frange, Finset.mem_image] at hx 
     rcases hx with ⟨i, _, rfl⟩
     rw [coeff_map]
-    exact map_isIntegral (IsScalarTower.toAlgHom R A B) (A_int _)
-  · apply FG_adjoin_singleton_of_integral
+    exact IsIntegral.map (IsScalarTower.toAlgHom R A B) (A_int _)
+  · apply IsIntegral.fg_adjoin_singleton
     exact isIntegral_trans_aux _ pmonic hp
 #align is_integral_trans isIntegral_trans
 -/
 
-#print Algebra.isIntegral_trans /-
+#print Algebra.IsIntegral.trans /-
 /-- If A is an R-algebra all of whose elements are integral over R,
 and B is an A-algebra all of whose elements are integral over A,
 then all elements of B are integral over R.-/
-theorem Algebra.isIntegral_trans (hA : Algebra.IsIntegral R A) (hB : Algebra.IsIntegral A B) :
+theorem Algebra.IsIntegral.trans (hA : Algebra.IsIntegral R A) (hB : Algebra.IsIntegral A B) :
     Algebra.IsIntegral R B := fun x => isIntegral_trans hA x (hB x)
-#align algebra.is_integral_trans Algebra.isIntegral_trans
+#align algebra.is_integral_trans Algebra.IsIntegral.trans
 -/
 
-#print RingHom.isIntegral_trans /-
-theorem RingHom.isIntegral_trans (hf : f.IsIntegral) (hg : g.IsIntegral) : (g.comp f).IsIntegral :=
-  @Algebra.isIntegral_trans R S T _ _ _ g.toAlgebra (g.comp f).toAlgebra f.toAlgebra
+#print RingHom.IsIntegral.trans /-
+theorem RingHom.IsIntegral.trans (hf : f.IsIntegral) (hg : g.IsIntegral) : (g.comp f).IsIntegral :=
+  @Algebra.IsIntegral.trans R S T _ _ _ g.toAlgebra (g.comp f).toAlgebra f.toAlgebra
     (@IsScalarTower.of_algebraMap_eq R S T _ _ _ f.toAlgebra g.toAlgebra (g.comp f).toAlgebra
       (RingHom.comp_apply g f))
     hf hg
-#align ring_hom.is_integral_trans RingHom.isIntegral_trans
+#align ring_hom.is_integral_trans RingHom.IsIntegral.trans
 -/
 
 #print RingHom.isIntegral_of_surjective /-
 theorem RingHom.isIntegral_of_surjective (hf : Function.Surjective f) : f.IsIntegral := fun x =>
-  (hf x).recOn fun y hy => (hy ▸ f.is_integral_map : f.IsIntegralElem x)
+  (hf x).recOn fun y hy => (hy ▸ f.isIntegralElem_map : f.IsIntegralElem x)
 #align ring_hom.is_integral_of_surjective RingHom.isIntegral_of_surjective
 -/
 
-#print isIntegral_of_surjective /-
-theorem isIntegral_of_surjective (h : Function.Surjective (algebraMap R A)) :
+#print Algebra.isIntegral_of_surjective /-
+theorem Algebra.isIntegral_of_surjective (h : Function.Surjective (algebraMap R A)) :
     Algebra.IsIntegral R A :=
   (algebraMap R A).isIntegral_of_surjective h
-#align is_integral_of_surjective isIntegral_of_surjective
+#align is_integral_of_surjective Algebra.isIntegral_of_surjective
 -/
 
-#print isIntegral_tower_bot_of_isIntegral /-
+#print IsIntegral.tower_bot /-
 /-- If `R → A → B` is an algebra tower with `A → B` injective,
 then if the entire tower is an integral extension so is `R → A` -/
-theorem isIntegral_tower_bot_of_isIntegral (H : Function.Injective (algebraMap A B)) {x : A}
+theorem IsIntegral.tower_bot (H : Function.Injective (algebraMap A B)) {x : A}
     (h : IsIntegral R (algebraMap A B x)) : IsIntegral R x :=
   by
   rcases h with ⟨p, ⟨hp, hp'⟩⟩
@@ -1214,69 +1211,71 @@ theorem isIntegral_tower_bot_of_isIntegral (H : Function.Injective (algebraMap A
     RingHom.map_zero (algebraMap A B)] at hp' 
   rw [eval₂_eq_eval_map]
   exact H hp'
-#align is_integral_tower_bot_of_is_integral isIntegral_tower_bot_of_isIntegral
+#align is_integral_tower_bot_of_is_integral IsIntegral.tower_bot
 -/
 
-#print RingHom.isIntegral_tower_bot_of_isIntegral /-
-theorem RingHom.isIntegral_tower_bot_of_isIntegral (hg : Function.Injective g)
-    (hfg : (g.comp f).IsIntegral) : f.IsIntegral := fun x =>
-  @isIntegral_tower_bot_of_isIntegral R S T _ _ _ g.toAlgebra (g.comp f).toAlgebra f.toAlgebra
+#print RingHom.IsIntegral.tower_bot /-
+theorem RingHom.IsIntegral.tower_bot (hg : Function.Injective g) (hfg : (g.comp f).IsIntegral) :
+    f.IsIntegral := fun x =>
+  @IsIntegral.tower_bot R S T _ _ _ g.toAlgebra (g.comp f).toAlgebra f.toAlgebra
     (@IsScalarTower.of_algebraMap_eq R S T _ _ _ f.toAlgebra g.toAlgebra (g.comp f).toAlgebra
       (RingHom.comp_apply g f))
     hg x (hfg (g x))
-#align ring_hom.is_integral_tower_bot_of_is_integral RingHom.isIntegral_tower_bot_of_isIntegral
+#align ring_hom.is_integral_tower_bot_of_is_integral RingHom.IsIntegral.tower_bot
 -/
 
-#print isIntegral_tower_bot_of_isIntegral_field /-
-theorem isIntegral_tower_bot_of_isIntegral_field {R A B : Type _} [CommRing R] [Field A]
-    [CommRing B] [Nontrivial B] [Algebra R A] [Algebra A B] [Algebra R B] [IsScalarTower R A B]
-    {x : A} (h : IsIntegral R (algebraMap A B x)) : IsIntegral R x :=
-  isIntegral_tower_bot_of_isIntegral (algebraMap A B).Injective h
-#align is_integral_tower_bot_of_is_integral_field isIntegral_tower_bot_of_isIntegral_field
+#print IsIntegral.tower_bot_of_field /-
+theorem IsIntegral.tower_bot_of_field {R A B : Type _} [CommRing R] [Field A] [CommRing B]
+    [Nontrivial B] [Algebra R A] [Algebra A B] [Algebra R B] [IsScalarTower R A B] {x : A}
+    (h : IsIntegral R (algebraMap A B x)) : IsIntegral R x :=
+  IsIntegral.tower_bot (algebraMap A B).Injective h
+#align is_integral_tower_bot_of_is_integral_field IsIntegral.tower_bot_of_field
 -/
 
-#print RingHom.isIntegralElem_of_isIntegralElem_comp /-
-theorem RingHom.isIntegralElem_of_isIntegralElem_comp {x : T} (h : (g.comp f).IsIntegralElem x) :
+#print RingHom.isIntegralElem.of_comp /-
+theorem RingHom.isIntegralElem.of_comp {x : T} (h : (g.comp f).IsIntegralElem x) :
     g.IsIntegralElem x :=
   let ⟨p, ⟨hp, hp'⟩⟩ := h
   ⟨p.map f, hp.map f, by rwa [← eval₂_map] at hp' ⟩
-#align ring_hom.is_integral_elem_of_is_integral_elem_comp RingHom.isIntegralElem_of_isIntegralElem_comp
+#align ring_hom.is_integral_elem_of_is_integral_elem_comp RingHom.isIntegralElem.of_comp
 -/
 
-#print RingHom.isIntegral_tower_top_of_isIntegral /-
-theorem RingHom.isIntegral_tower_top_of_isIntegral (h : (g.comp f).IsIntegral) : g.IsIntegral :=
-  fun x => RingHom.isIntegralElem_of_isIntegralElem_comp f g (h x)
-#align ring_hom.is_integral_tower_top_of_is_integral RingHom.isIntegral_tower_top_of_isIntegral
+#print RingHom.IsIntegral.tower_top /-
+theorem RingHom.IsIntegral.tower_top (h : (g.comp f).IsIntegral) : g.IsIntegral := fun x =>
+  RingHom.isIntegralElem.of_comp f g (h x)
+#align ring_hom.is_integral_tower_top_of_is_integral RingHom.IsIntegral.tower_top
 -/
 
-#print isIntegral_tower_top_of_isIntegral /-
+/- warning: is_integral_tower_top_of_is_integral clashes with is_integral_of_is_scalar_tower -> IsIntegral.tower_top
+Case conversion may be inaccurate. Consider using '#align is_integral_tower_top_of_is_integral IsIntegral.tower_topₓ'. -/
+#print IsIntegral.tower_top /-
 /-- If `R → A → B` is an algebra tower,
 then if the entire tower is an integral extension so is `A → B`. -/
-theorem isIntegral_tower_top_of_isIntegral {x : B} (h : IsIntegral R x) : IsIntegral A x :=
+theorem IsIntegral.tower_top {x : B} (h : IsIntegral R x) : IsIntegral A x :=
   by
   rcases h with ⟨p, ⟨hp, hp'⟩⟩
   refine' ⟨p.map (algebraMap R A), ⟨hp.map (algebraMap R A), _⟩⟩
   rw [IsScalarTower.algebraMap_eq R A B, ← eval₂_map] at hp' 
   exact hp'
-#align is_integral_tower_top_of_is_integral isIntegral_tower_top_of_isIntegral
+#align is_integral_tower_top_of_is_integral IsIntegral.tower_top
 -/
 
-#print RingHom.isIntegral_quotient_of_isIntegral /-
-theorem RingHom.isIntegral_quotient_of_isIntegral {I : Ideal S} (hf : f.IsIntegral) :
+#print RingHom.IsIntegral.quotient /-
+theorem RingHom.IsIntegral.quotient {I : Ideal S} (hf : f.IsIntegral) :
     (Ideal.quotientMap I f le_rfl).IsIntegral :=
   by
   rintro ⟨x⟩
   obtain ⟨p, ⟨p_monic, hpx⟩⟩ := hf x
   refine' ⟨p.map (Ideal.Quotient.mk _), ⟨p_monic.map _, _⟩⟩
   simpa only [hom_eval₂, eval₂_map] using congr_arg (Ideal.Quotient.mk I) hpx
-#align ring_hom.is_integral_quotient_of_is_integral RingHom.isIntegral_quotient_of_isIntegral
+#align ring_hom.is_integral_quotient_of_is_integral RingHom.IsIntegral.quotient
 -/
 
-#print isIntegral_quotient_of_isIntegral /-
-theorem isIntegral_quotient_of_isIntegral {I : Ideal A} (hRA : Algebra.IsIntegral R A) :
+#print Algebra.IsIntegral.quotient /-
+theorem Algebra.IsIntegral.quotient {I : Ideal A} (hRA : Algebra.IsIntegral R A) :
     Algebra.IsIntegral (R ⧸ I.comap (algebraMap R A)) (A ⧸ I) :=
-  (algebraMap R A).isIntegral_quotient_of_isIntegral hRA
-#align is_integral_quotient_of_is_integral isIntegral_quotient_of_isIntegral
+  (algebraMap R A).quotient hRA
+#align is_integral_quotient_of_is_integral Algebra.IsIntegral.quotient
 -/
 
 #print isIntegral_quotientMap_iff /-
@@ -1286,8 +1285,8 @@ theorem isIntegral_quotientMap_iff {I : Ideal S} :
   by
   let g := Ideal.Quotient.mk (I.comap f)
   have := Ideal.quotientMap_comp_mk le_rfl
-  refine' ⟨fun h => _, fun h => RingHom.isIntegral_tower_top_of_isIntegral g _ (this ▸ h)⟩
-  refine' this ▸ RingHom.isIntegral_trans g (Ideal.quotientMap I f le_rfl) _ h
+  refine' ⟨fun h => _, fun h => RingHom.IsIntegral.tower_top g _ (this ▸ h)⟩
+  refine' this ▸ RingHom.IsIntegral.trans g (Ideal.quotientMap I f le_rfl) _ h
   exact RingHom.isIntegral_of_surjective g Ideal.Quotient.mk_surjective
 #align is_integral_quotient_map_iff isIntegral_quotientMap_iff
 -/
@@ -1342,7 +1341,7 @@ theorem isField_of_isIntegral_of_isField' {R S : Type _} [CommRing R] [CommRing
   refine' ⟨⟨0, 1, zero_ne_one⟩, mul_comm, fun x hx => _⟩
   let A := Algebra.adjoin R ({x} : Set S)
   haveI : IsNoetherian R A :=
-    isNoetherian_of_fg_of_noetherian A.to_submodule (FG_adjoin_singleton_of_integral x (H x))
+    isNoetherian_of_fg_of_noetherian A.to_submodule (IsIntegral.fg_adjoin_singleton x (H x))
   haveI : Module.Finite R A := Module.IsNoetherian.finite R A
   obtain ⟨y, hy⟩ :=
     LinearMap.surjective_of_injective
Diff
@@ -3,14 +3,14 @@ Copyright (c) 2019 Kenny Lau. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Kenny Lau
 -/
-import Mathbin.Data.Polynomial.Expand
-import Mathbin.LinearAlgebra.FiniteDimensional
-import Mathbin.LinearAlgebra.Matrix.Charpoly.LinearMap
-import Mathbin.RingTheory.Adjoin.Fg
-import Mathbin.RingTheory.FiniteType
-import Mathbin.RingTheory.Polynomial.ScaleRoots
-import Mathbin.RingTheory.Polynomial.Tower
-import Mathbin.RingTheory.TensorProduct
+import Data.Polynomial.Expand
+import LinearAlgebra.FiniteDimensional
+import LinearAlgebra.Matrix.Charpoly.LinearMap
+import RingTheory.Adjoin.Fg
+import RingTheory.FiniteType
+import RingTheory.Polynomial.ScaleRoots
+import RingTheory.Polynomial.Tower
+import RingTheory.TensorProduct
 
 #align_import ring_theory.integral_closure from "leanprover-community/mathlib"@"38df578a6450a8c5142b3727e3ae894c2300cae0"
 
@@ -952,7 +952,7 @@ end
 section IsIntegralClosure
 
 #print IsIntegralClosure /-
-/- ./././Mathport/Syntax/Translate/Command.lean:393:30: infer kinds are unsupported in Lean 4: #[`algebraMap_injective] [] -/
+/- ./././Mathport/Syntax/Translate/Command.lean:394:30: infer kinds are unsupported in Lean 4: #[`algebraMap_injective] [] -/
 /-- `is_integral_closure A R B` is the characteristic predicate stating `A` is
 the integral closure of `R` in `B`,
 i.e. that an element of `B` is integral over `R` iff it is an element of (the image of) `A`.
Diff
@@ -448,7 +448,7 @@ theorem RingHom.Finite.to_isIntegral (h : f.Finite) : f.IsIntegral :=
 #align ring_hom.finite.to_is_integral RingHom.Finite.to_isIntegral
 -/
 
-alias RingHom.Finite.to_isIntegral ← RingHom.IsIntegral.of_finite
+alias RingHom.IsIntegral.of_finite := RingHom.Finite.to_isIntegral
 #align ring_hom.is_integral.of_finite RingHom.IsIntegral.of_finite
 
 #print RingHom.IsIntegral.to_finite /-
@@ -463,7 +463,7 @@ theorem RingHom.IsIntegral.to_finite (h : f.IsIntegral) (h' : f.FiniteType) : f.
 #align ring_hom.is_integral.to_finite RingHom.IsIntegral.to_finite
 -/
 
-alias RingHom.IsIntegral.to_finite ← RingHom.Finite.of_isIntegral_of_finiteType
+alias RingHom.Finite.of_isIntegral_of_finiteType := RingHom.IsIntegral.to_finite
 #align ring_hom.finite.of_is_integral_of_finite_type RingHom.Finite.of_isIntegral_of_finiteType
 
 #print RingHom.finite_iff_isIntegral_and_finiteType /-
Diff
@@ -355,7 +355,7 @@ theorem isIntegral_of_mem_of_FG (S : Subalgebra R A) (HS : S.toSubmodule.FG) (x
   let S₁ : Subring A :=
     { carrier := span S₀ (insert 1 ↑y : Set A)
       one_mem' := subset_span <| Or.inl rfl
-      mul_mem' := fun p q hp hq => this <| mul_mem_mul hp hq
+      hMul_mem' := fun p q hp hq => this <| mul_mem_mul hp hq
       zero_mem' := (span S₀ (insert 1 ↑y : Set A)).zero_mem
       add_mem' := fun _ _ => (span S₀ (insert 1 ↑y : Set A)).add_mem
       neg_mem' := fun _ => (span S₀ (insert 1 ↑y : Set A)).neg_mem }
@@ -411,7 +411,7 @@ theorem isIntegral_of_smul_mem_submodule {M : Type _} [AddCommGroup M] [Module R
   by
   let A' : Subalgebra R A :=
     { carrier := {x | ∀ n ∈ N, x • n ∈ N}
-      mul_mem' := fun a b ha hb n hn => smul_smul a b n ▸ ha _ (hb _ hn)
+      hMul_mem' := fun a b ha hb n hn => smul_smul a b n ▸ ha _ (hb _ hn)
       one_mem' := fun n hn => (one_smul A n).symm ▸ hn
       add_mem' := fun a b ha hb n hn => (add_smul a b n).symm ▸ N.add_mem (ha _ hn) (hb _ hn)
       zero_mem' := fun n hn => (zero_smul A n).symm ▸ N.zero_mem
@@ -630,7 +630,7 @@ def integralClosure : Subalgebra R A
   zero_mem' := isIntegral_zero
   one_mem' := isIntegral_one
   add_mem' _ _ := isIntegral_add
-  mul_mem' _ _ := isIntegral_mul
+  hMul_mem' _ _ := isIntegral_mul
   algebraMap_mem' x := isIntegral_algebraMap
 #align integral_closure integralClosure
 -/
Diff
@@ -810,7 +810,7 @@ theorem IsIntegral.tmul (x : A) {y : B} (h : IsIntegral R y) : IsIntegral A (x 
     simp only [AlgHom.toRingHom_eq_coe, AlgHom.coe_toRingHom, mul_one, one_mul,
       Algebra.TensorProduct.includeLeft_apply, Algebra.TensorProduct.tmul_mul_tmul]
   convert (MulZeroClass.mul_zero _).symm
-  rw [Polynomial.eval₂_map, Algebra.TensorProduct.includeLeft_comp_algebraMap, ←
+  rw [Polynomial.eval₂_map, Algebra.TensorProduct.includeLeftRingHom_comp_algebraMap, ←
     Polynomial.eval₂_map]
   convert Polynomial.eval₂_at_apply algebra.tensor_product.include_right.to_ring_hom y
   rw [Polynomial.eval_map, hp', _root_.map_zero]
Diff
@@ -1306,7 +1306,7 @@ theorem isField_of_isIntegral_of_isField {R S : Type _} [CommRing R] [Nontrivial
   -- and `q` be `p` with coefficients reversed (so `q(a) = q'(a) * a + 1`).
   -- We claim that `q(a) = 0`, so `-q'(a)` is the inverse of `a`.
   obtain ⟨p, p_monic, hp⟩ := H a_inv
-  use -∑ i : ℕ in Finset.range p.nat_degree, p.coeff i * a ^ (p.nat_degree - i - 1)
+  use-∑ i : ℕ in Finset.range p.nat_degree, p.coeff i * a ^ (p.nat_degree - i - 1)
   -- `q(a) = 0`, because multiplying everything with `a_inv^n` gives `p(a_inv) = 0`.
   -- TODO: this could be a lemma for `polynomial.reverse`.
   have hq : ∑ i : ℕ in Finset.range (p.nat_degree + 1), p.coeff i * a ^ (p.nat_degree - i) = 0 :=
Diff
@@ -2,11 +2,6 @@
 Copyright (c) 2019 Kenny Lau. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Kenny Lau
-
-! This file was ported from Lean 3 source module ring_theory.integral_closure
-! leanprover-community/mathlib commit 38df578a6450a8c5142b3727e3ae894c2300cae0
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathbin.Data.Polynomial.Expand
 import Mathbin.LinearAlgebra.FiniteDimensional
@@ -17,6 +12,8 @@ import Mathbin.RingTheory.Polynomial.ScaleRoots
 import Mathbin.RingTheory.Polynomial.Tower
 import Mathbin.RingTheory.TensorProduct
 
+#align_import ring_theory.integral_closure from "leanprover-community/mathlib"@"38df578a6450a8c5142b3727e3ae894c2300cae0"
+
 /-!
 # Integral closure of a subring.
 
Diff
@@ -701,21 +701,21 @@ theorem integralClosure.isIntegral (x : integralClosure R A) : IsIntegral R x :=
 #align integral_closure.is_integral integralClosure.isIntegral
 -/
 
-#print RingHom.is_integral_of_is_integral_mul_unit /-
-theorem RingHom.is_integral_of_is_integral_mul_unit (x y : S) (r : R) (hr : f r * y = 1)
+#print RingHom.isIntegral_of_isIntegral_mul_unit /-
+theorem RingHom.isIntegral_of_isIntegral_mul_unit (x y : S) (r : R) (hr : f r * y = 1)
     (hx : f.IsIntegralElem (x * y)) : f.IsIntegralElem x :=
   by
   obtain ⟨p, ⟨p_monic, hp⟩⟩ := hx
   refine' ⟨scale_roots p r, ⟨(monic_scale_roots_iff r).2 p_monic, _⟩⟩
   convert scale_roots_eval₂_eq_zero f hp
   rw [mul_comm x y, ← mul_assoc, hr, one_mul]
-#align ring_hom.is_integral_of_is_integral_mul_unit RingHom.is_integral_of_is_integral_mul_unit
+#align ring_hom.is_integral_of_is_integral_mul_unit RingHom.isIntegral_of_isIntegral_mul_unit
 -/
 
 #print isIntegral_of_isIntegral_mul_unit /-
 theorem isIntegral_of_isIntegral_mul_unit {x y : A} {r : R} (hr : algebraMap R A r * y = 1)
     (hx : IsIntegral R (x * y)) : IsIntegral R x :=
-  (algebraMap R A).is_integral_of_is_integral_mul_unit x y r hr hx
+  (algebraMap R A).isIntegral_of_isIntegral_mul_unit x y r hr hx
 #align is_integral_of_is_integral_mul_unit isIntegral_of_isIntegral_mul_unit
 -/
 
@@ -728,11 +728,11 @@ theorem isIntegral_of_mem_closure' (G : Set A) (hG : ∀ x ∈ G, IsIntegral R x
 #align is_integral_of_mem_closure' isIntegral_of_mem_closure'
 -/
 
-#print is_integral_of_mem_closure'' /-
-theorem is_integral_of_mem_closure'' {S : Type _} [CommRing S] {f : R →+* S} (G : Set S)
+#print isIntegral_of_mem_closure'' /-
+theorem isIntegral_of_mem_closure'' {S : Type _} [CommRing S] {f : R →+* S} (G : Set S)
     (hG : ∀ x ∈ G, f.IsIntegralElem x) : ∀ x ∈ Subring.closure G, f.IsIntegralElem x := fun x hx =>
   @isIntegral_of_mem_closure' R S _ _ f.toAlgebra G hG x hx
-#align is_integral_of_mem_closure'' is_integral_of_mem_closure''
+#align is_integral_of_mem_closure'' isIntegral_of_mem_closure''
 -/
 
 #print IsIntegral.pow /-
Diff
@@ -371,7 +371,9 @@ theorem isIntegral_of_mem_of_FG (S : Subalgebra R A) (HS : S.toSubmodule.FG) (x
     constructor <;> intro hz
     ·
       exact
-        (span_le.2 (Set.insert_subset.2 ⟨(Algebra.adjoin S₀ ↑y).one_mem, Algebra.subset_adjoin⟩)) hz
+        (span_le.2
+            (Set.insert_subset_iff.2 ⟨(Algebra.adjoin S₀ ↑y).one_mem, Algebra.subset_adjoin⟩))
+          hz
     · rw [Subalgebra.mem_toSubmodule, Algebra.mem_adjoin_iff] at hz 
       suffices Subring.closure (Set.range ⇑(algebraMap (↥S₀) A) ∪ ↑y) ≤ S₁ by exact this hz
       refine' Subring.closure_le.2 (Set.union_subset _ fun t ht => subset_span <| Or.inr ht)
Diff
@@ -1098,8 +1098,8 @@ variable [Algebra R A] [Algebra R A'] [IsScalarTower R A B] [IsScalarTower R A'
 /-- Integral closures are all isomorphic to each other. -/
 noncomputable def equiv : A ≃ₐ[R] A' :=
   AlgEquiv.ofAlgHom (lift _ B (isIntegral_algebra R B)) (lift _ B (isIntegral_algebra R B))
-    (by ext x; apply algebra_map_injective A' R B; simp)
-    (by ext x; apply algebra_map_injective A R B; simp)
+    (by ext x; apply algebraMap_injective A' R B; simp)
+    (by ext x; apply algebraMap_injective A R B; simp)
 #align is_integral_closure.equiv IsIntegralClosure.equiv
 -/
 
Diff
@@ -89,14 +89,19 @@ protected def Algebra.IsIntegral : Prop :=
 
 variable {R A}
 
+#print RingHom.is_integral_map /-
 theorem RingHom.is_integral_map {x : R} : f.IsIntegralElem (f x) :=
   ⟨X - C x, monic_X_sub_C _, by simp⟩
 #align ring_hom.is_integral_map RingHom.is_integral_map
+-/
 
+#print isIntegral_algebraMap /-
 theorem isIntegral_algebraMap {x : R} : IsIntegral R (algebraMap R A x) :=
   (algebraMap R A).is_integral_map
 #align is_integral_algebra_map isIntegral_algebraMap
+-/
 
+#print isIntegral_of_noetherian /-
 theorem isIntegral_of_noetherian (H : IsNoetherian R A) (x : A) : IsIntegral R x :=
   by
   let leval : R[X] →ₗ[R] A := (aeval x).toLinearMap
@@ -116,7 +121,9 @@ theorem isIntegral_of_noetherian (H : IsNoetherian R A) (x : A) : IsIntegral R x
   show leval (X ^ (N + 1) - p) = 0
   rw [LinearMap.map_sub, hpe, sub_self]
 #align is_integral_of_noetherian isIntegral_of_noetherian
+-/
 
+#print isIntegral_of_submodule_noetherian /-
 theorem isIntegral_of_submodule_noetherian (S : Subalgebra R A) (H : IsNoetherian R S.toSubmodule)
     (x : A) (hx : x ∈ S) : IsIntegral R x :=
   by
@@ -131,6 +138,7 @@ theorem isIntegral_of_submodule_noetherian (S : Subalgebra R A) (H : IsNoetheria
     rw [S.val.map_mul, S.val.map_pow, S.val.commutes, S.val_apply, Subtype.coe_mk]
   refine' isIntegral_of_noetherian H ⟨x, hx⟩
 #align is_integral_of_submodule_noetherian isIntegral_of_submodule_noetherian
+-/
 
 end Ring
 
@@ -142,6 +150,7 @@ variable [CommRing R] [CommRing A] [CommRing B] [CommRing S]
 
 variable [Algebra R A] [Algebra R B] (f : R →+* S)
 
+#print map_isIntegral /-
 theorem map_isIntegral {B C F : Type _} [Ring B] [Ring C] [Algebra R B] [Algebra A B] [Algebra R C]
     [IsScalarTower R A B] [Algebra A C] [IsScalarTower R A C] {b : B} [AlgHomClass F A B C] (f : F)
     (hb : IsIntegral R b) : IsIntegral R (f b) :=
@@ -151,7 +160,9 @@ theorem map_isIntegral {B C F : Type _} [Ring B] [Ring C] [Algebra R B] [Algebra
   rw [← aeval_def, show (aeval (f b)) P = (aeval (f b)) (P.map (algebraMap R A)) by simp,
     aeval_alg_hom_apply, aeval_map_algebra_map, aeval_def, hP.2, _root_.map_zero]
 #align map_is_integral map_isIntegral
+-/
 
+#print isIntegral_map_of_comp_eq_of_isIntegral /-
 theorem isIntegral_map_of_comp_eq_of_isIntegral {R S T U : Type _} [CommRing R] [CommRing S]
     [CommRing T] [CommRing U] [Algebra R S] [Algebra T U] (φ : R →+* T) (ψ : S →+* U)
     (h : (algebraMap T U).comp φ = ψ.comp (algebraMap R S)) {a : S} (ha : IsIntegral R a) :
@@ -162,7 +173,9 @@ theorem isIntegral_map_of_comp_eq_of_isIntegral {R S T U : Type _} [CommRing R]
   rw [← eval_map, map_map, h, ← map_map, eval_map, eval₂_at_apply, eval_map, hp.right,
     RingHom.map_zero]
 #align is_integral_map_of_comp_eq_of_is_integral isIntegral_map_of_comp_eq_of_isIntegral
+-/
 
+#print isIntegral_algHom_iff /-
 theorem isIntegral_algHom_iff {A B : Type _} [Ring A] [Ring B] [Algebra R A] [Algebra R B]
     (f : A →ₐ[R] B) (hf : Function.Injective f) {x : A} : IsIntegral R (f x) ↔ IsIntegral R x :=
   by
@@ -172,28 +185,38 @@ theorem isIntegral_algHom_iff {A B : Type _} [Ring A] [Ring B] [Algebra R A] [Al
   rwa [← f.comp_algebra_map, ← AlgHom.coe_toRingHom, ← Polynomial.hom_eval₂, AlgHom.coe_toRingHom,
     map_eq_zero_iff f hf] at hx 
 #align is_integral_alg_hom_iff isIntegral_algHom_iff
+-/
 
+#print isIntegral_algEquiv /-
 @[simp]
 theorem isIntegral_algEquiv {A B : Type _} [Ring A] [Ring B] [Algebra R A] [Algebra R B]
     (f : A ≃ₐ[R] B) {x : A} : IsIntegral R (f x) ↔ IsIntegral R x :=
   ⟨fun h => by simpa using map_isIntegral f.symm.to_alg_hom h, map_isIntegral f.toAlgHom⟩
 #align is_integral_alg_equiv isIntegral_algEquiv
+-/
 
+#print isIntegral_of_isScalarTower /-
 theorem isIntegral_of_isScalarTower [Algebra A B] [IsScalarTower R A B] {x : B}
     (hx : IsIntegral R x) : IsIntegral A x :=
   let ⟨p, hp, hpx⟩ := hx
   ⟨p.map <| algebraMap R A, hp.map _, by rw [← aeval_def, aeval_map_algebra_map, aeval_def, hpx]⟩
 #align is_integral_of_is_scalar_tower isIntegral_of_isScalarTower
+-/
 
+#print map_isIntegral_int /-
 theorem map_isIntegral_int {B C F : Type _} [Ring B] [Ring C] {b : B} [RingHomClass F B C] (f : F)
     (hb : IsIntegral ℤ b) : IsIntegral ℤ (f b) :=
   map_isIntegral (f : B →+* C).toIntAlgHom hb
 #align map_is_integral_int map_isIntegral_int
+-/
 
+#print isIntegral_ofSubring /-
 theorem isIntegral_ofSubring {x : A} (T : Subring R) (hx : IsIntegral T x) : IsIntegral R x :=
   isIntegral_of_isScalarTower hx
 #align is_integral_of_subring isIntegral_ofSubring
+-/
 
+#print IsIntegral.algebraMap /-
 theorem IsIntegral.algebraMap [Algebra A B] [IsScalarTower R A B] {x : A} (h : IsIntegral R x) :
     IsIntegral R (algebraMap A B x) :=
   by
@@ -201,13 +224,17 @@ theorem IsIntegral.algebraMap [Algebra A B] [IsScalarTower R A B] {x : A} (h : I
   use f, hf
   rw [IsScalarTower.algebraMap_eq R A B, ← hom_eval₂, hx, RingHom.map_zero]
 #align is_integral.algebra_map IsIntegral.algebraMap
+-/
 
+#print isIntegral_algebraMap_iff /-
 theorem isIntegral_algebraMap_iff [Algebra A B] [IsScalarTower R A B] {x : A}
     (hAB : Function.Injective (algebraMap A B)) :
     IsIntegral R (algebraMap A B x) ↔ IsIntegral R x :=
   isIntegral_algHom_iff (IsScalarTower.toAlgHom R A B) hAB
 #align is_integral_algebra_map_iff isIntegral_algebraMap_iff
+-/
 
+#print isIntegral_iff_isIntegral_closure_finite /-
 theorem isIntegral_iff_isIntegral_closure_finite {r : A} :
     IsIntegral R r ↔ ∃ s : Set R, s.Finite ∧ IsIntegral (Subring.closure s) r :=
   by
@@ -218,7 +245,9 @@ theorem isIntegral_iff_isIntegral_closure_finite {r : A} :
   rcases hr with ⟨s, hs, hsr⟩
   exact isIntegral_ofSubring _ hsr
 #align is_integral_iff_is_integral_closure_finite isIntegral_iff_isIntegral_closure_finite
+-/
 
+#print FG_adjoin_singleton_of_integral /-
 theorem FG_adjoin_singleton_of_integral (x : A) (hx : IsIntegral R x) :
     (Algebra.adjoin R ({x} : Set A)).toSubmodule.FG :=
   by
@@ -246,7 +275,9 @@ theorem FG_adjoin_singleton_of_integral (x : A) (hx : IsIntegral R x) :
   rw [mem_support_iff] at hkq ; apply hkq; apply this
   exact lt_of_le_of_lt degree_le_nat_degree (WithBot.coe_lt_coe.2 hk)
 #align fg_adjoin_singleton_of_integral FG_adjoin_singleton_of_integral
+-/
 
+#print FG_adjoin_of_finite /-
 theorem FG_adjoin_of_finite {s : Set A} (hfs : s.Finite) (his : ∀ x ∈ s, IsIntegral R x) :
     (Algebra.adjoin R s).toSubmodule.FG :=
   Set.Finite.induction_on hfs
@@ -264,13 +295,17 @@ theorem FG_adjoin_of_finite {s : Set A} (hfs : s.Finite) (his : ∀ x ∈ s, IsI
             (FG_adjoin_singleton_of_integral _ <| his a <| Set.mem_insert a s))
     his
 #align fg_adjoin_of_finite FG_adjoin_of_finite
+-/
 
+#print isNoetherian_adjoin_finset /-
 theorem isNoetherian_adjoin_finset [IsNoetherianRing R] (s : Finset A)
     (hs : ∀ x ∈ s, IsIntegral R x) : IsNoetherian R (Algebra.adjoin R (↑s : Set A)) :=
   isNoetherian_of_fg_of_noetherian _ (FG_adjoin_of_finite s.finite_toSet hs)
 #align is_noetherian_adjoin_finset isNoetherian_adjoin_finset
+-/
 
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
+#print isIntegral_of_mem_of_FG /-
 /-- If `S` is a sub-`R`-algebra of `A` and `S` is finitely-generated as an `R`-module,
   then all elements of `S` are integral over `R`. -/
 theorem isIntegral_of_mem_of_FG (S : Subalgebra R A) (HS : S.toSubmodule.FG) (x : A) (hx : x ∈ S) :
@@ -359,12 +394,16 @@ theorem isIntegral_of_mem_of_FG (S : Subalgebra R A) (HS : S.toSubmodule.FG) (x
   rw [Finsupp.mem_supported] at hlx1 
   exact Subalgebra.smul_mem _ (Algebra.subset_adjoin <| hlx1 hr) _
 #align is_integral_of_mem_of_fg isIntegral_of_mem_of_FG
+-/
 
+#print Module.End.isIntegral /-
 theorem Module.End.isIntegral {M : Type _} [AddCommGroup M] [Module R M] [Module.Finite R M] :
     Algebra.IsIntegral R (Module.End R M) :=
   LinearMap.exists_monic_and_aeval_eq_zero R
 #align module.End.is_integral Module.End.isIntegral
+-/
 
+#print isIntegral_of_smul_mem_submodule /-
 /-- Suppose `A` is an `R`-algebra, `M` is an `A`-module such that `a • m ≠ 0` for all non-zero `a`
 and `m`. If `x : A` fixes a nontrivial f.g. `R`-submodule `N` of `M`, then `x` is `R`-integral. -/
 theorem isIntegral_of_smul_mem_submodule {M : Type _} [AddCommGroup M] [Module R M] [Module A M]
@@ -399,17 +438,21 @@ theorem isIntegral_of_smul_mem_submodule {M : Type _} [AddCommGroup M] [Module R
   haveI : Module.Finite R N := by rwa [Module.finite_def, Submodule.fg_top]
   apply Module.End.isIntegral
 #align is_integral_of_smul_mem_submodule isIntegral_of_smul_mem_submodule
+-/
 
 variable {f}
 
+#print RingHom.Finite.to_isIntegral /-
 theorem RingHom.Finite.to_isIntegral (h : f.Finite) : f.IsIntegral :=
   letI := f.to_algebra
   fun x => isIntegral_of_mem_of_FG ⊤ h.1 _ trivial
 #align ring_hom.finite.to_is_integral RingHom.Finite.to_isIntegral
+-/
 
 alias RingHom.Finite.to_isIntegral ← RingHom.IsIntegral.of_finite
 #align ring_hom.is_integral.of_finite RingHom.IsIntegral.of_finite
 
+#print RingHom.IsIntegral.to_finite /-
 theorem RingHom.IsIntegral.to_finite (h : f.IsIntegral) (h' : f.FiniteType) : f.Finite :=
   by
   letI := f.to_algebra
@@ -419,15 +462,19 @@ theorem RingHom.IsIntegral.to_finite (h : f.IsIntegral) (h' : f.FiniteType) : f.
   rw [← hs]
   exact FG_adjoin_of_finite (Set.toFinite _) fun x _ => h x
 #align ring_hom.is_integral.to_finite RingHom.IsIntegral.to_finite
+-/
 
 alias RingHom.IsIntegral.to_finite ← RingHom.Finite.of_isIntegral_of_finiteType
 #align ring_hom.finite.of_is_integral_of_finite_type RingHom.Finite.of_isIntegral_of_finiteType
 
+#print RingHom.finite_iff_isIntegral_and_finiteType /-
 /-- finite = integral + finite type -/
 theorem RingHom.finite_iff_isIntegral_and_finiteType : f.Finite ↔ f.IsIntegral ∧ f.FiniteType :=
   ⟨fun h => ⟨h.to_isIntegral, h.to_finiteType⟩, fun ⟨h, h'⟩ => h.toFinite h'⟩
 #align ring_hom.finite_iff_is_integral_and_finite_type RingHom.finite_iff_isIntegral_and_finiteType
+-/
 
+#print Algebra.IsIntegral.finite /-
 theorem Algebra.IsIntegral.finite (h : Algebra.IsIntegral R A) [h' : Algebra.FiniteType R A] :
     Module.Finite R A :=
   by
@@ -435,21 +482,27 @@ theorem Algebra.IsIntegral.finite (h : Algebra.IsIntegral R A) [h' : Algebra.Fin
     h.to_finite (by delta RingHom.FiniteType; convert h'; ext; exact (Algebra.smul_def _ _).symm)
   delta RingHom.Finite at this ; convert this; ext; exact Algebra.smul_def _ _
 #align algebra.is_integral.finite Algebra.IsIntegral.finite
+-/
 
+#print Algebra.IsIntegral.of_finite /-
 theorem Algebra.IsIntegral.of_finite [h : Module.Finite R A] : Algebra.IsIntegral R A :=
   by
   apply RingHom.Finite.to_isIntegral
   delta RingHom.Finite; convert h; ext; exact (Algebra.smul_def _ _).symm
 #align algebra.is_integral.of_finite Algebra.IsIntegral.of_finite
+-/
 
+#print Algebra.finite_iff_isIntegral_and_finiteType /-
 /-- finite = integral + finite type -/
 theorem Algebra.finite_iff_isIntegral_and_finiteType :
     Module.Finite R A ↔ Algebra.IsIntegral R A ∧ Algebra.FiniteType R A :=
   ⟨fun h => ⟨Algebra.IsIntegral.of_finite, inferInstance⟩, fun ⟨h, h'⟩ => h.finite⟩
 #align algebra.finite_iff_is_integral_and_finite_type Algebra.finite_iff_isIntegral_and_finiteType
+-/
 
 variable (f)
 
+#print RingHom.is_integral_of_mem_closure /-
 theorem RingHom.is_integral_of_mem_closure {x y z : S} (hx : f.IsIntegralElem x)
     (hy : f.IsIntegralElem y) (hz : z ∈ Subring.closure ({x, y} : Set S)) : f.IsIntegralElem z :=
   by
@@ -460,67 +513,94 @@ theorem RingHom.is_integral_of_mem_closure {x y z : S} (hx : f.IsIntegralElem x)
     isIntegral_of_mem_of_FG (Algebra.adjoin R {x, y}) this z
       (Algebra.mem_adjoin_iff.2 <| Subring.closure_mono (Set.subset_union_right _ _) hz)
 #align ring_hom.is_integral_of_mem_closure RingHom.is_integral_of_mem_closure
+-/
 
+#print isIntegral_of_mem_closure /-
 theorem isIntegral_of_mem_closure {x y z : A} (hx : IsIntegral R x) (hy : IsIntegral R y)
     (hz : z ∈ Subring.closure ({x, y} : Set A)) : IsIntegral R z :=
   (algebraMap R A).is_integral_of_mem_closure hx hy hz
 #align is_integral_of_mem_closure isIntegral_of_mem_closure
+-/
 
+#print RingHom.is_integral_zero /-
 theorem RingHom.is_integral_zero : f.IsIntegralElem 0 :=
   f.map_zero ▸ f.is_integral_map
 #align ring_hom.is_integral_zero RingHom.is_integral_zero
+-/
 
+#print isIntegral_zero /-
 theorem isIntegral_zero : IsIntegral R (0 : A) :=
   (algebraMap R A).is_integral_zero
 #align is_integral_zero isIntegral_zero
+-/
 
+#print RingHom.is_integral_one /-
 theorem RingHom.is_integral_one : f.IsIntegralElem 1 :=
   f.map_one ▸ f.is_integral_map
 #align ring_hom.is_integral_one RingHom.is_integral_one
+-/
 
+#print isIntegral_one /-
 theorem isIntegral_one : IsIntegral R (1 : A) :=
   (algebraMap R A).is_integral_one
 #align is_integral_one isIntegral_one
+-/
 
+#print RingHom.is_integral_add /-
 theorem RingHom.is_integral_add {x y : S} (hx : f.IsIntegralElem x) (hy : f.IsIntegralElem y) :
     f.IsIntegralElem (x + y) :=
   f.is_integral_of_mem_closure hx hy <|
     Subring.add_mem _ (Subring.subset_closure (Or.inl rfl)) (Subring.subset_closure (Or.inr rfl))
 #align ring_hom.is_integral_add RingHom.is_integral_add
+-/
 
+#print isIntegral_add /-
 theorem isIntegral_add {x y : A} (hx : IsIntegral R x) (hy : IsIntegral R y) :
     IsIntegral R (x + y) :=
   (algebraMap R A).is_integral_add hx hy
 #align is_integral_add isIntegral_add
+-/
 
+#print RingHom.is_integral_neg /-
 theorem RingHom.is_integral_neg {x : S} (hx : f.IsIntegralElem x) : f.IsIntegralElem (-x) :=
   f.is_integral_of_mem_closure hx hx (Subring.neg_mem _ (Subring.subset_closure (Or.inl rfl)))
 #align ring_hom.is_integral_neg RingHom.is_integral_neg
+-/
 
+#print isIntegral_neg /-
 theorem isIntegral_neg {x : A} (hx : IsIntegral R x) : IsIntegral R (-x) :=
   (algebraMap R A).is_integral_neg hx
 #align is_integral_neg isIntegral_neg
+-/
 
+#print RingHom.is_integral_sub /-
 theorem RingHom.is_integral_sub {x y : S} (hx : f.IsIntegralElem x) (hy : f.IsIntegralElem y) :
     f.IsIntegralElem (x - y) := by
   simpa only [sub_eq_add_neg] using f.is_integral_add hx (f.is_integral_neg hy)
 #align ring_hom.is_integral_sub RingHom.is_integral_sub
+-/
 
+#print isIntegral_sub /-
 theorem isIntegral_sub {x y : A} (hx : IsIntegral R x) (hy : IsIntegral R y) :
     IsIntegral R (x - y) :=
   (algebraMap R A).is_integral_sub hx hy
 #align is_integral_sub isIntegral_sub
+-/
 
+#print RingHom.is_integral_mul /-
 theorem RingHom.is_integral_mul {x y : S} (hx : f.IsIntegralElem x) (hy : f.IsIntegralElem y) :
     f.IsIntegralElem (x * y) :=
   f.is_integral_of_mem_closure hx hy
     (Subring.mul_mem _ (Subring.subset_closure (Or.inl rfl)) (Subring.subset_closure (Or.inr rfl)))
 #align ring_hom.is_integral_mul RingHom.is_integral_mul
+-/
 
+#print isIntegral_mul /-
 theorem isIntegral_mul {x y : A} (hx : IsIntegral R x) (hy : IsIntegral R y) :
     IsIntegral R (x * y) :=
   (algebraMap R A).is_integral_mul hx hy
 #align is_integral_mul isIntegral_mul
+-/
 
 #print isIntegral_smul /-
 theorem isIntegral_smul [Algebra S A] [Algebra R S] [IsScalarTower R S A] {x : A} (r : R)
@@ -531,6 +611,7 @@ theorem isIntegral_smul [Algebra S A] [Algebra R S] [IsScalarTower R S A] {x : A
 #align is_integral_smul isIntegral_smul
 -/
 
+#print isIntegral_of_pow /-
 theorem isIntegral_of_pow {x : A} {n : ℕ} (hn : 0 < n) (hx : IsIntegral R <| x ^ n) :
     IsIntegral R x := by
   rcases hx with ⟨p, ⟨hmonic, heval⟩⟩
@@ -538,6 +619,7 @@ theorem isIntegral_of_pow {x : A} {n : ℕ} (hn : 0 < n) (hx : IsIntegral R <| x
     ⟨expand R n p, monic.expand hn hmonic, by
       rwa [eval₂_eq_eval_map, map_expand, expand_eval, ← eval₂_eq_eval_map]⟩
 #align is_integral_of_pow isIntegral_of_pow
+-/
 
 variable (R A)
 
@@ -554,15 +636,18 @@ def integralClosure : Subalgebra R A
 #align integral_closure integralClosure
 -/
 
+#print mem_integralClosure_iff_mem_FG /-
 theorem mem_integralClosure_iff_mem_FG {r : A} :
     r ∈ integralClosure R A ↔ ∃ M : Subalgebra R A, M.toSubmodule.FG ∧ r ∈ M :=
   ⟨fun hr =>
     ⟨Algebra.adjoin R {r}, FG_adjoin_singleton_of_integral _ hr, Algebra.subset_adjoin rfl⟩,
     fun ⟨M, Hf, hrM⟩ => isIntegral_of_mem_of_FG M Hf _ hrM⟩
 #align mem_integral_closure_iff_mem_fg mem_integralClosure_iff_mem_FG
+-/
 
 variable {R} {A}
 
+#print adjoin_le_integralClosure /-
 theorem adjoin_le_integralClosure {x : A} (hx : IsIntegral R x) :
     Algebra.adjoin R {x} ≤ integralClosure R A :=
   by
@@ -570,7 +655,9 @@ theorem adjoin_le_integralClosure {x : A} (hx : IsIntegral R x) :
   simp only [SetLike.mem_coe, Set.singleton_subset_iff]
   exact hx
 #align adjoin_le_integral_closure adjoin_le_integralClosure
+-/
 
+#print le_integralClosure_iff_isIntegral /-
 theorem le_integralClosure_iff_isIntegral {S : Subalgebra R A} :
     S ≤ integralClosure R A ↔ Algebra.IsIntegral R S :=
   SetLike.forall.symm.trans
@@ -578,12 +665,16 @@ theorem le_integralClosure_iff_isIntegral {S : Subalgebra R A} :
       show IsIntegral R (algebraMap S A x) ↔ IsIntegral R x from
         isIntegral_algebraMap_iff Subtype.coe_injective)
 #align le_integral_closure_iff_is_integral le_integralClosure_iff_isIntegral
+-/
 
+#print isIntegral_sup /-
 theorem isIntegral_sup {S T : Subalgebra R A} :
     Algebra.IsIntegral R ↥(S ⊔ T) ↔ Algebra.IsIntegral R S ∧ Algebra.IsIntegral R T := by
   simp only [← le_integralClosure_iff_isIntegral, sup_le_iff]
 #align is_integral_sup isIntegral_sup
+-/
 
+#print integralClosure_map_algEquiv /-
 /-- Mapping an integral closure along an `alg_equiv` gives the integral closure. -/
 theorem integralClosure_map_algEquiv (f : A ≃ₐ[R] B) :
     (integralClosure R A).map (f : A →ₐ[R] B) = integralClosure R B :=
@@ -597,14 +688,18 @@ theorem integralClosure_map_algEquiv (f : A ≃ₐ[R] B) :
     use f.symm y, map_isIntegral (f.symm : B →ₐ[R] A) hy
     simp
 #align integral_closure_map_alg_equiv integralClosure_map_algEquiv
+-/
 
+#print integralClosure.isIntegral /-
 theorem integralClosure.isIntegral (x : integralClosure R A) : IsIntegral R x :=
   let ⟨p, hpm, hpx⟩ := x.2
   ⟨p, hpm,
     Subtype.eq <| by
       rwa [← aeval_def, Subtype.val_eq_coe, ← Subalgebra.val_apply, aeval_alg_hom_apply] at hpx ⟩
 #align integral_closure.is_integral integralClosure.isIntegral
+-/
 
+#print RingHom.is_integral_of_is_integral_mul_unit /-
 theorem RingHom.is_integral_of_is_integral_mul_unit (x y : S) (r : R) (hr : f r * y = 1)
     (hx : f.IsIntegralElem (x * y)) : f.IsIntegralElem x :=
   by
@@ -613,35 +708,48 @@ theorem RingHom.is_integral_of_is_integral_mul_unit (x y : S) (r : R) (hr : f r
   convert scale_roots_eval₂_eq_zero f hp
   rw [mul_comm x y, ← mul_assoc, hr, one_mul]
 #align ring_hom.is_integral_of_is_integral_mul_unit RingHom.is_integral_of_is_integral_mul_unit
+-/
 
+#print isIntegral_of_isIntegral_mul_unit /-
 theorem isIntegral_of_isIntegral_mul_unit {x y : A} {r : R} (hr : algebraMap R A r * y = 1)
     (hx : IsIntegral R (x * y)) : IsIntegral R x :=
   (algebraMap R A).is_integral_of_is_integral_mul_unit x y r hr hx
 #align is_integral_of_is_integral_mul_unit isIntegral_of_isIntegral_mul_unit
+-/
 
+#print isIntegral_of_mem_closure' /-
 /-- Generalization of `is_integral_of_mem_closure` bootstrapped up from that lemma -/
 theorem isIntegral_of_mem_closure' (G : Set A) (hG : ∀ x ∈ G, IsIntegral R x) :
     ∀ x ∈ Subring.closure G, IsIntegral R x := fun x hx =>
   Subring.closure_induction hx hG isIntegral_zero isIntegral_one (fun _ _ => isIntegral_add)
     (fun _ => isIntegral_neg) fun _ _ => isIntegral_mul
 #align is_integral_of_mem_closure' isIntegral_of_mem_closure'
+-/
 
+#print is_integral_of_mem_closure'' /-
 theorem is_integral_of_mem_closure'' {S : Type _} [CommRing S] {f : R →+* S} (G : Set S)
     (hG : ∀ x ∈ G, f.IsIntegralElem x) : ∀ x ∈ Subring.closure G, f.IsIntegralElem x := fun x hx =>
   @isIntegral_of_mem_closure' R S _ _ f.toAlgebra G hG x hx
 #align is_integral_of_mem_closure'' is_integral_of_mem_closure''
+-/
 
+#print IsIntegral.pow /-
 theorem IsIntegral.pow {x : A} (h : IsIntegral R x) (n : ℕ) : IsIntegral R (x ^ n) :=
   (integralClosure R A).pow_mem h n
 #align is_integral.pow IsIntegral.pow
+-/
 
+#print IsIntegral.nsmul /-
 theorem IsIntegral.nsmul {x : A} (h : IsIntegral R x) (n : ℕ) : IsIntegral R (n • x) :=
   (integralClosure R A).nsmul_mem h n
 #align is_integral.nsmul IsIntegral.nsmul
+-/
 
+#print IsIntegral.zsmul /-
 theorem IsIntegral.zsmul {x : A} (h : IsIntegral R x) (n : ℤ) : IsIntegral R (n • x) :=
   (integralClosure R A).zsmul_mem h n
 #align is_integral.zsmul IsIntegral.zsmul
+-/
 
 #print IsIntegral.multiset_prod /-
 theorem IsIntegral.multiset_prod {s : Multiset A} (h : ∀ x ∈ s, IsIntegral R x) :
@@ -657,15 +765,19 @@ theorem IsIntegral.multiset_sum {s : Multiset A} (h : ∀ x ∈ s, IsIntegral R
 #align is_integral.multiset_sum IsIntegral.multiset_sum
 -/
 
+#print IsIntegral.prod /-
 theorem IsIntegral.prod {α : Type _} {s : Finset α} (f : α → A) (h : ∀ x ∈ s, IsIntegral R (f x)) :
     IsIntegral R (∏ x in s, f x) :=
   (integralClosure R A).prod_mem h
 #align is_integral.prod IsIntegral.prod
+-/
 
+#print IsIntegral.sum /-
 theorem IsIntegral.sum {α : Type _} {s : Finset α} (f : α → A) (h : ∀ x ∈ s, IsIntegral R (f x)) :
     IsIntegral R (∑ x in s, f x) :=
   (integralClosure R A).sum_mem h
 #align is_integral.sum IsIntegral.sum
+-/
 
 #print IsIntegral.det /-
 theorem IsIntegral.det {n : Type _} [Fintype n] [DecidableEq n] {M : Matrix n n A}
@@ -676,13 +788,16 @@ theorem IsIntegral.det {n : Type _} [Fintype n] [DecidableEq n] {M : Matrix n n
 #align is_integral.det IsIntegral.det
 -/
 
+#print IsIntegral.pow_iff /-
 @[simp]
 theorem IsIntegral.pow_iff {x : A} {n : ℕ} (hn : 0 < n) : IsIntegral R (x ^ n) ↔ IsIntegral R x :=
   ⟨isIntegral_of_pow hn, fun hx => IsIntegral.pow hx n⟩
 #align is_integral.pow_iff IsIntegral.pow_iff
+-/
 
 open scoped TensorProduct
 
+#print IsIntegral.tmul /-
 theorem IsIntegral.tmul (x : A) {y : B} (h : IsIntegral R y) : IsIntegral A (x ⊗ₜ[R] y) :=
   by
   obtain ⟨p, hp, hp'⟩ := h
@@ -701,6 +816,7 @@ theorem IsIntegral.tmul (x : A) {y : B} (h : IsIntegral R y) : IsIntegral A (x 
   convert Polynomial.eval₂_at_apply algebra.tensor_product.include_right.to_ring_hom y
   rw [Polynomial.eval_map, hp', _root_.map_zero]
 #align is_integral.tmul IsIntegral.tmul
+-/
 
 section
 
@@ -714,6 +830,7 @@ noncomputable def normalizeScaleRoots (p : R[X]) : R[X] :=
 #align normalize_scale_roots normalizeScaleRoots
 -/
 
+#print normalizeScaleRoots_coeff_mul_leadingCoeff_pow /-
 theorem normalizeScaleRoots_coeff_mul_leadingCoeff_pow (i : ℕ) (hp : 1 ≤ natDegree p) :
     (normalizeScaleRoots p).coeff i * p.leadingCoeff ^ i =
       p.coeff i * p.leadingCoeff ^ (p.natDegree - 1) :=
@@ -728,6 +845,7 @@ theorem normalizeScaleRoots_coeff_mul_leadingCoeff_pow (i : ℕ) (hp : 1 ≤ nat
     rw [lt_iff_le_and_ne]
     exact ⟨le_nat_degree_of_ne_zero h₁, h₂⟩
 #align normalize_scale_roots_coeff_mul_leading_coeff_pow normalizeScaleRoots_coeff_mul_leadingCoeff_pow
+-/
 
 #print leadingCoeff_smul_normalizeScaleRoots /-
 theorem leadingCoeff_smul_normalizeScaleRoots (p : R[X]) :
@@ -768,6 +886,7 @@ theorem normalizeScaleRoots_degree : (normalizeScaleRoots p).degree = p.degree :
 #align normalize_scale_roots_degree normalizeScaleRoots_degree
 -/
 
+#print normalizeScaleRoots_eval₂_leadingCoeff_mul /-
 theorem normalizeScaleRoots_eval₂_leadingCoeff_mul (h : 1 ≤ p.natDegree) (f : R →+* S) (x : S) :
     (normalizeScaleRoots p).eval₂ f (f p.leadingCoeff * x) =
       f p.leadingCoeff ^ (p.natDegree - 1) * p.eval₂ f x :=
@@ -780,6 +899,7 @@ theorem normalizeScaleRoots_eval₂_leadingCoeff_mul (h : 1 ≤ p.natDegree) (f
     normalizeScaleRoots_coeff_mul_leadingCoeff_pow _ _ h, f.map_mul, f.map_pow]
   ring
 #align normalize_scale_roots_eval₂_leading_coeff_mul normalizeScaleRoots_eval₂_leadingCoeff_mul
+-/
 
 #print normalizeScaleRoots_monic /-
 theorem normalizeScaleRoots_monic (h : p ≠ 0) : (normalizeScaleRoots p).Monic :=
@@ -791,6 +911,7 @@ theorem normalizeScaleRoots_monic (h : p ≠ 0) : (normalizeScaleRoots p).Monic
 #align normalize_scale_roots_monic normalizeScaleRoots_monic
 -/
 
+#print RingHom.isIntegralElem_leadingCoeff_mul /-
 /-- Given a `p : R[X]` and a `x : S` such that `p.eval₂ f x = 0`,
 `f p.leading_coeff * x` is integral. -/
 theorem RingHom.isIntegralElem_leadingCoeff_mul (h : p.eval₂ f x = 0) :
@@ -811,7 +932,9 @@ theorem RingHom.isIntegralElem_leadingCoeff_mul (h : p.eval₂ f x = 0) :
       suffices p.map f = 0 by exact (hp this).rec _
       rw [eq_C_of_nat_degree_eq_zero h', map_C, h, C_eq_zero]
 #align ring_hom.is_integral_elem_leading_coeff_mul RingHom.isIntegralElem_leadingCoeff_mul
+-/
 
+#print isIntegral_leadingCoeff_smul /-
 /-- Given a `p : R[X]` and a root `x : S`,
 then `p.leading_coeff • x : S` is integral over `R`. -/
 theorem isIntegral_leadingCoeff_smul [Algebra R S] (h : aeval x p = 0) :
@@ -821,6 +944,7 @@ theorem isIntegral_leadingCoeff_smul [Algebra R S] (h : aeval x p = 0) :
   rw [Algebra.smul_def]
   exact (algebraMap R S).isIntegralElem_leadingCoeff_mul p x h
 #align is_integral_leading_coeff_smul isIntegral_leadingCoeff_smul
+-/
 
 end
 
@@ -829,7 +953,7 @@ end
 section IsIntegralClosure
 
 #print IsIntegralClosure /-
-/- ./././Mathport/Syntax/Translate/Command.lean:394:30: infer kinds are unsupported in Lean 4: #[`algebraMap_injective] [] -/
+/- ./././Mathport/Syntax/Translate/Command.lean:393:30: infer kinds are unsupported in Lean 4: #[`algebraMap_injective] [] -/
 /-- `is_integral_closure A R B` is the characteristic predicate stating `A` is
 the integral closure of `R` in `B`,
 i.e. that an element of `B` is integral over `R` iff it is an element of (the image of) `A`.
@@ -841,10 +965,12 @@ class IsIntegralClosure (A R B : Type _) [CommRing R] [CommSemiring A] [CommRing
 #align is_integral_closure IsIntegralClosure
 -/
 
+#print integralClosure.isIntegralClosure /-
 instance integralClosure.isIntegralClosure (R A : Type _) [CommRing R] [CommRing A] [Algebra R A] :
     IsIntegralClosure (integralClosure R A) R A :=
   ⟨Subtype.coe_injective, fun x => ⟨fun h => ⟨⟨x, h⟩, rfl⟩, by rintro ⟨⟨_, h⟩, rfl⟩; exact h⟩⟩
 #align integral_closure.is_integral_closure integralClosure.isIntegralClosure
+-/
 
 namespace IsIntegralClosure
 
@@ -854,15 +980,20 @@ variable [Algebra R B] [Algebra A B] [IsIntegralClosure A R B]
 
 variable (R) {A} (B)
 
+#print IsIntegralClosure.isIntegral /-
 protected theorem isIntegral [Algebra R A] [IsScalarTower R A B] (x : A) : IsIntegral R x :=
   (isIntegral_algebraMap_iff (algebraMap_injective A R B)).mp <|
     show IsIntegral R (algebraMap A B x) from isIntegral_iff.mpr ⟨x, rfl⟩
 #align is_integral_closure.is_integral IsIntegralClosure.isIntegral
+-/
 
+#print IsIntegralClosure.isIntegral_algebra /-
 theorem isIntegral_algebra [Algebra R A] [IsScalarTower R A B] : Algebra.IsIntegral R A := fun x =>
   IsIntegralClosure.isIntegral R B x
 #align is_integral_closure.is_integral_algebra IsIntegralClosure.isIntegral_algebra
+-/
 
+#print IsIntegralClosure.noZeroSMulDivisors /-
 theorem noZeroSMulDivisors [Algebra R A] [IsScalarTower R A B] [NoZeroSMulDivisors R B] :
     NoZeroSMulDivisors R A :=
   by
@@ -871,6 +1002,7 @@ theorem noZeroSMulDivisors [Algebra R A] [IsScalarTower R A B] [NoZeroSMulDiviso
       (map_zero _) fun _ _ => _
   simp only [Algebra.algebraMap_eq_smul_one, IsScalarTower.smul_assoc]
 #align is_integral_closure.no_zero_smul_divisors IsIntegralClosure.noZeroSMulDivisors
+-/
 
 variable {R} (A) {B}
 
@@ -881,39 +1013,51 @@ noncomputable def mk' (x : B) (hx : IsIntegral R x) : A :=
 #align is_integral_closure.mk' IsIntegralClosure.mk'
 -/
 
+#print IsIntegralClosure.algebraMap_mk' /-
 @[simp]
 theorem algebraMap_mk' (x : B) (hx : IsIntegral R x) : algebraMap A B (mk' A x hx) = x :=
   Classical.choose_spec (isIntegral_iff.mp hx)
 #align is_integral_closure.algebra_map_mk' IsIntegralClosure.algebraMap_mk'
+-/
 
+#print IsIntegralClosure.mk'_one /-
 @[simp]
 theorem mk'_one (h : IsIntegral R (1 : B) := isIntegral_one) : mk' A 1 h = 1 :=
   algebraMap_injective A R B <| by rw [algebra_map_mk', RingHom.map_one]
 #align is_integral_closure.mk'_one IsIntegralClosure.mk'_one
+-/
 
+#print IsIntegralClosure.mk'_zero /-
 @[simp]
 theorem mk'_zero (h : IsIntegral R (0 : B) := isIntegral_zero) : mk' A 0 h = 0 :=
   algebraMap_injective A R B <| by rw [algebra_map_mk', RingHom.map_zero]
 #align is_integral_closure.mk'_zero IsIntegralClosure.mk'_zero
+-/
 
+#print IsIntegralClosure.mk'_add /-
 @[simp]
 theorem mk'_add (x y : B) (hx : IsIntegral R x) (hy : IsIntegral R y) :
     mk' A (x + y) (isIntegral_add hx hy) = mk' A x hx + mk' A y hy :=
   algebraMap_injective A R B <| by simp only [algebra_map_mk', RingHom.map_add]
 #align is_integral_closure.mk'_add IsIntegralClosure.mk'_add
+-/
 
+#print IsIntegralClosure.mk'_mul /-
 @[simp]
 theorem mk'_mul (x y : B) (hx : IsIntegral R x) (hy : IsIntegral R y) :
     mk' A (x * y) (isIntegral_mul hx hy) = mk' A x hx * mk' A y hy :=
   algebraMap_injective A R B <| by simp only [algebra_map_mk', RingHom.map_mul]
 #align is_integral_closure.mk'_mul IsIntegralClosure.mk'_mul
+-/
 
+#print IsIntegralClosure.mk'_algebraMap /-
 @[simp]
 theorem mk'_algebraMap [Algebra R A] [IsScalarTower R A B] (x : R)
     (h : IsIntegral R (algebraMap R B x) := isIntegral_algebraMap) :
     IsIntegralClosure.mk' A (algebraMap R B x) h = algebraMap R A x :=
   algebraMap_injective A R B <| by rw [algebra_map_mk', ← IsScalarTower.algebraMap_apply]
 #align is_integral_closure.mk'_algebra_map IsIntegralClosure.mk'_algebraMap
+-/
 
 section lift
 
@@ -935,10 +1079,12 @@ noncomputable def lift : S →ₐ[R] A
 #align is_integral_closure.lift IsIntegralClosure.lift
 -/
 
+#print IsIntegralClosure.algebraMap_lift /-
 @[simp]
 theorem algebraMap_lift (x : S) : algebraMap A B (lift A B h x) = algebraMap S B x :=
   algebraMap_mk' _ _ _
 #align is_integral_closure.algebra_map_lift IsIntegralClosure.algebraMap_lift
+-/
 
 end lift
 
@@ -957,10 +1103,12 @@ noncomputable def equiv : A ≃ₐ[R] A' :=
 #align is_integral_closure.equiv IsIntegralClosure.equiv
 -/
 
+#print IsIntegralClosure.algebraMap_equiv /-
 @[simp]
 theorem algebraMap_equiv (x : A) : algebraMap A' B (equiv R A B A' x) = algebraMap A B x :=
   algebraMap_lift _ _ _ _
 #align is_integral_closure.algebra_map_equiv IsIntegralClosure.algebraMap_equiv
+-/
 
 end Equiv
 
@@ -978,6 +1126,7 @@ variable [CommRing R] [CommRing A] [CommRing B] [CommRing S] [CommRing T]
 
 variable [Algebra A B] [Algebra R B] (f : R →+* S) (g : S →+* T)
 
+#print isIntegral_trans_aux /-
 theorem isIntegral_trans_aux (x : B) {p : A[X]} (pmonic : Monic p) (hp : aeval x p = 0) :
     IsIntegral (adjoin R (↑(p.map <| algebraMap A B).frange : Set B)) x :=
   by
@@ -1001,9 +1150,11 @@ theorem isIntegral_trans_aux (x : B) {p : A[X]} (pmonic : Monic p) (hp : aeval x
     replace hq := congr_arg (eval x) hq
     convert hq using 1 <;> symm <;> apply eval_map
 #align is_integral_trans_aux isIntegral_trans_aux
+-/
 
 variable [Algebra R A] [IsScalarTower R A B]
 
+#print isIntegral_trans /-
 /-- If A is an R-algebra all of whose elements are integral over R,
 and x is an element of an A-algebra that is integral over A, then x is integral over R.-/
 theorem isIntegral_trans (A_int : Algebra.IsIntegral R A) (x : B) (hx : IsIntegral A x) :
@@ -1019,30 +1170,40 @@ theorem isIntegral_trans (A_int : Algebra.IsIntegral R A) (x : B) (hx : IsIntegr
   · apply FG_adjoin_singleton_of_integral
     exact isIntegral_trans_aux _ pmonic hp
 #align is_integral_trans isIntegral_trans
+-/
 
+#print Algebra.isIntegral_trans /-
 /-- If A is an R-algebra all of whose elements are integral over R,
 and B is an A-algebra all of whose elements are integral over A,
 then all elements of B are integral over R.-/
 theorem Algebra.isIntegral_trans (hA : Algebra.IsIntegral R A) (hB : Algebra.IsIntegral A B) :
     Algebra.IsIntegral R B := fun x => isIntegral_trans hA x (hB x)
 #align algebra.is_integral_trans Algebra.isIntegral_trans
+-/
 
+#print RingHom.isIntegral_trans /-
 theorem RingHom.isIntegral_trans (hf : f.IsIntegral) (hg : g.IsIntegral) : (g.comp f).IsIntegral :=
   @Algebra.isIntegral_trans R S T _ _ _ g.toAlgebra (g.comp f).toAlgebra f.toAlgebra
     (@IsScalarTower.of_algebraMap_eq R S T _ _ _ f.toAlgebra g.toAlgebra (g.comp f).toAlgebra
       (RingHom.comp_apply g f))
     hf hg
 #align ring_hom.is_integral_trans RingHom.isIntegral_trans
+-/
 
+#print RingHom.isIntegral_of_surjective /-
 theorem RingHom.isIntegral_of_surjective (hf : Function.Surjective f) : f.IsIntegral := fun x =>
   (hf x).recOn fun y hy => (hy ▸ f.is_integral_map : f.IsIntegralElem x)
 #align ring_hom.is_integral_of_surjective RingHom.isIntegral_of_surjective
+-/
 
+#print isIntegral_of_surjective /-
 theorem isIntegral_of_surjective (h : Function.Surjective (algebraMap R A)) :
     Algebra.IsIntegral R A :=
   (algebraMap R A).isIntegral_of_surjective h
 #align is_integral_of_surjective isIntegral_of_surjective
+-/
 
+#print isIntegral_tower_bot_of_isIntegral /-
 /-- If `R → A → B` is an algebra tower with `A → B` injective,
 then if the entire tower is an integral extension so is `R → A` -/
 theorem isIntegral_tower_bot_of_isIntegral (H : Function.Injective (algebraMap A B)) {x : A}
@@ -1055,7 +1216,9 @@ theorem isIntegral_tower_bot_of_isIntegral (H : Function.Injective (algebraMap A
   rw [eval₂_eq_eval_map]
   exact H hp'
 #align is_integral_tower_bot_of_is_integral isIntegral_tower_bot_of_isIntegral
+-/
 
+#print RingHom.isIntegral_tower_bot_of_isIntegral /-
 theorem RingHom.isIntegral_tower_bot_of_isIntegral (hg : Function.Injective g)
     (hfg : (g.comp f).IsIntegral) : f.IsIntegral := fun x =>
   @isIntegral_tower_bot_of_isIntegral R S T _ _ _ g.toAlgebra (g.comp f).toAlgebra f.toAlgebra
@@ -1063,23 +1226,31 @@ theorem RingHom.isIntegral_tower_bot_of_isIntegral (hg : Function.Injective g)
       (RingHom.comp_apply g f))
     hg x (hfg (g x))
 #align ring_hom.is_integral_tower_bot_of_is_integral RingHom.isIntegral_tower_bot_of_isIntegral
+-/
 
+#print isIntegral_tower_bot_of_isIntegral_field /-
 theorem isIntegral_tower_bot_of_isIntegral_field {R A B : Type _} [CommRing R] [Field A]
     [CommRing B] [Nontrivial B] [Algebra R A] [Algebra A B] [Algebra R B] [IsScalarTower R A B]
     {x : A} (h : IsIntegral R (algebraMap A B x)) : IsIntegral R x :=
   isIntegral_tower_bot_of_isIntegral (algebraMap A B).Injective h
 #align is_integral_tower_bot_of_is_integral_field isIntegral_tower_bot_of_isIntegral_field
+-/
 
+#print RingHom.isIntegralElem_of_isIntegralElem_comp /-
 theorem RingHom.isIntegralElem_of_isIntegralElem_comp {x : T} (h : (g.comp f).IsIntegralElem x) :
     g.IsIntegralElem x :=
   let ⟨p, ⟨hp, hp'⟩⟩ := h
   ⟨p.map f, hp.map f, by rwa [← eval₂_map] at hp' ⟩
 #align ring_hom.is_integral_elem_of_is_integral_elem_comp RingHom.isIntegralElem_of_isIntegralElem_comp
+-/
 
+#print RingHom.isIntegral_tower_top_of_isIntegral /-
 theorem RingHom.isIntegral_tower_top_of_isIntegral (h : (g.comp f).IsIntegral) : g.IsIntegral :=
   fun x => RingHom.isIntegralElem_of_isIntegralElem_comp f g (h x)
 #align ring_hom.is_integral_tower_top_of_is_integral RingHom.isIntegral_tower_top_of_isIntegral
+-/
 
+#print isIntegral_tower_top_of_isIntegral /-
 /-- If `R → A → B` is an algebra tower,
 then if the entire tower is an integral extension so is `A → B`. -/
 theorem isIntegral_tower_top_of_isIntegral {x : B} (h : IsIntegral R x) : IsIntegral A x :=
@@ -1089,7 +1260,9 @@ theorem isIntegral_tower_top_of_isIntegral {x : B} (h : IsIntegral R x) : IsInte
   rw [IsScalarTower.algebraMap_eq R A B, ← eval₂_map] at hp' 
   exact hp'
 #align is_integral_tower_top_of_is_integral isIntegral_tower_top_of_isIntegral
+-/
 
+#print RingHom.isIntegral_quotient_of_isIntegral /-
 theorem RingHom.isIntegral_quotient_of_isIntegral {I : Ideal S} (hf : f.IsIntegral) :
     (Ideal.quotientMap I f le_rfl).IsIntegral :=
   by
@@ -1098,12 +1271,16 @@ theorem RingHom.isIntegral_quotient_of_isIntegral {I : Ideal S} (hf : f.IsIntegr
   refine' ⟨p.map (Ideal.Quotient.mk _), ⟨p_monic.map _, _⟩⟩
   simpa only [hom_eval₂, eval₂_map] using congr_arg (Ideal.Quotient.mk I) hpx
 #align ring_hom.is_integral_quotient_of_is_integral RingHom.isIntegral_quotient_of_isIntegral
+-/
 
+#print isIntegral_quotient_of_isIntegral /-
 theorem isIntegral_quotient_of_isIntegral {I : Ideal A} (hRA : Algebra.IsIntegral R A) :
     Algebra.IsIntegral (R ⧸ I.comap (algebraMap R A)) (A ⧸ I) :=
   (algebraMap R A).isIntegral_quotient_of_isIntegral hRA
 #align is_integral_quotient_of_is_integral isIntegral_quotient_of_isIntegral
+-/
 
+#print isIntegral_quotientMap_iff /-
 theorem isIntegral_quotientMap_iff {I : Ideal S} :
     (Ideal.quotientMap I f le_rfl).IsIntegral ↔
       ((Ideal.Quotient.mk I).comp f : R →+* S ⧸ I).IsIntegral :=
@@ -1114,7 +1291,9 @@ theorem isIntegral_quotientMap_iff {I : Ideal S} :
   refine' this ▸ RingHom.isIntegral_trans g (Ideal.quotientMap I f le_rfl) _ h
   exact RingHom.isIntegral_of_surjective g Ideal.Quotient.mk_surjective
 #align is_integral_quotient_map_iff isIntegral_quotientMap_iff
+-/
 
+#print isField_of_isIntegral_of_isField /-
 /-- If the integral extension `R → S` is injective, and `S` is a field, then `R` is also a field. -/
 theorem isField_of_isIntegral_of_isField {R S : Type _} [CommRing R] [Nontrivial R] [CommRing S]
     [IsDomain S] [Algebra R S] (H : Algebra.IsIntegral R S)
@@ -1154,7 +1333,9 @@ theorem isField_of_isIntegral_of_isField {R S : Type _} [CommRing R] [Nontrivial
   have : 1 ≤ p.nat_degree - i := le_tsub_of_add_le_left (finset.mem_range.mp hi)
   rw [mul_assoc, ← pow_succ', tsub_add_cancel_of_le this]
 #align is_field_of_is_integral_of_is_field isField_of_isIntegral_of_isField
+-/
 
+#print isField_of_isIntegral_of_isField' /-
 theorem isField_of_isIntegral_of_isField' {R S : Type _} [CommRing R] [CommRing S] [IsDomain S]
     [Algebra R S] (H : Algebra.IsIntegral R S) (hR : IsField R) : IsField S :=
   by
@@ -1171,15 +1352,19 @@ theorem isField_of_isIntegral_of_isField' {R S : Type _} [CommRing R] [CommRing
       1
   exact ⟨y, subtype.ext_iff.mp hy⟩
 #align is_field_of_is_integral_of_is_field' isField_of_isIntegral_of_isField'
+-/
 
+#print Algebra.IsIntegral.isField_iff_isField /-
 theorem Algebra.IsIntegral.isField_iff_isField {R S : Type _} [CommRing R] [Nontrivial R]
     [CommRing S] [IsDomain S] [Algebra R S] (H : Algebra.IsIntegral R S)
     (hRS : Function.Injective (algebraMap R S)) : IsField R ↔ IsField S :=
   ⟨isField_of_isIntegral_of_isField' H, isField_of_isIntegral_of_isField H hRS⟩
 #align algebra.is_integral.is_field_iff_is_field Algebra.IsIntegral.isField_iff_isField
+-/
 
 end Algebra
 
+#print integralClosure_idem /-
 theorem integralClosure_idem {R : Type _} {A : Type _} [CommRing R] [CommRing A] [Algebra R A] :
     integralClosure (integralClosure R A : Set A) A = ⊥ :=
   eq_bot_iff.2 fun x hx =>
@@ -1189,6 +1374,7 @@ theorem integralClosure_idem {R : Type _} {A : Type _} [CommRing R] [CommRing A]
             integralClosure.isIntegral x hx⟩,
         rfl⟩
 #align integral_closure_idem integralClosure_idem
+-/
 
 section IsDomain
 
@@ -1197,10 +1383,12 @@ variable {R S : Type _} [CommRing R] [CommRing S] [IsDomain S] [Algebra R S]
 instance : IsDomain (integralClosure R S) :=
   inferInstance
 
+#print roots_mem_integralClosure /-
 theorem roots_mem_integralClosure {f : R[X]} (hf : f.Monic) {a : S}
     (ha : a ∈ (f.map <| algebraMap R S).roots) : a ∈ integralClosure R S :=
   ⟨f, hf, (eval₂_eq_eval_map _).trans <| (mem_roots <| (hf.map _).NeZero).1 ha⟩
 #align roots_mem_integral_closure roots_mem_integralClosure
+-/
 
 end IsDomain
 
Diff
@@ -1131,7 +1131,7 @@ theorem isField_of_isIntegral_of_isField {R S : Type _} [CommRing R] [Nontrivial
   use -∑ i : ℕ in Finset.range p.nat_degree, p.coeff i * a ^ (p.nat_degree - i - 1)
   -- `q(a) = 0`, because multiplying everything with `a_inv^n` gives `p(a_inv) = 0`.
   -- TODO: this could be a lemma for `polynomial.reverse`.
-  have hq : (∑ i : ℕ in Finset.range (p.nat_degree + 1), p.coeff i * a ^ (p.nat_degree - i)) = 0 :=
+  have hq : ∑ i : ℕ in Finset.range (p.nat_degree + 1), p.coeff i * a ^ (p.nat_degree - i) = 0 :=
     by
     apply (injective_iff_map_eq_zero (algebraMap R S)).mp hRS
     have a_inv_ne_zero : a_inv ≠ 0 := right_ne_zero_of_mul (mt ha_inv.symm.trans one_ne_zero)
Diff
@@ -372,7 +372,7 @@ theorem isIntegral_of_smul_mem_submodule {M : Type _} [AddCommGroup M] [Module R
     (x : A) (hx : ∀ n ∈ N, x • n ∈ N) : IsIntegral R x :=
   by
   let A' : Subalgebra R A :=
-    { carrier := { x | ∀ n ∈ N, x • n ∈ N }
+    { carrier := {x | ∀ n ∈ N, x • n ∈ N}
       mul_mem' := fun a b ha hb n hn => smul_smul a b n ▸ ha _ (hb _ hn)
       one_mem' := fun n hn => (one_smul A n).symm ▸ hn
       add_mem' := fun a b ha hb n hn => (add_smul a b n).symm ▸ N.add_mem (ha _ hn) (hb _ hn)
@@ -385,7 +385,7 @@ theorem isIntegral_of_smul_mem_submodule {M : Type _} [AddCommGroup M] [Module R
         map_smul' := fun r s => LinearMap.ext fun n => Subtype.ext <| smul_assoc r s n }
       (LinearMap.ext fun n => Subtype.ext <| one_smul _ _) fun x y =>
       LinearMap.ext fun n => Subtype.ext <| mul_smul x y n
-  obtain ⟨a, ha₁, ha₂⟩ : ∃ a ∈ N, a ≠ (0 : M) := by by_contra h'; push_neg  at h' ; apply hN;
+  obtain ⟨a, ha₁, ha₂⟩ : ∃ a ∈ N, a ≠ (0 : M) := by by_contra h'; push_neg at h' ; apply hN;
     rwa [eq_bot_iff]
   have : Function.Injective f :=
     by
@@ -545,7 +545,7 @@ variable (R A)
 /-- The integral closure of R in an R-algebra A. -/
 def integralClosure : Subalgebra R A
     where
-  carrier := { r | IsIntegral R r }
+  carrier := {r | IsIntegral R r}
   zero_mem' := isIntegral_zero
   one_mem' := isIntegral_one
   add_mem' _ _ := isIntegral_add
@@ -688,13 +688,14 @@ theorem IsIntegral.tmul (x : A) {y : B} (h : IsIntegral R y) : IsIntegral A (x 
   obtain ⟨p, hp, hp'⟩ := h
   refine' ⟨(p.map (algebraMap R A)).scaleRoots x, _, _⟩
   · rw [Polynomial.monic_scaleRoots_iff]; exact hp.map _
-  convert@Polynomial.scaleRoots_eval₂_mul (A ⊗[R] B) A _ _ _
+  convert
+    @Polynomial.scaleRoots_eval₂_mul (A ⊗[R] B) A _ _ _
       algebra.tensor_product.include_left.to_ring_hom (1 ⊗ₜ y) x using
     2
   ·
     simp only [AlgHom.toRingHom_eq_coe, AlgHom.coe_toRingHom, mul_one, one_mul,
       Algebra.TensorProduct.includeLeft_apply, Algebra.TensorProduct.tmul_mul_tmul]
-  convert(MulZeroClass.mul_zero _).symm
+  convert (MulZeroClass.mul_zero _).symm
   rw [Polynomial.eval₂_map, Algebra.TensorProduct.includeLeft_comp_algebraMap, ←
     Polynomial.eval₂_map]
   convert Polynomial.eval₂_at_apply algebra.tensor_product.include_right.to_ring_hom y
@@ -801,7 +802,7 @@ theorem RingHom.isIntegralElem_leadingCoeff_mul (h : p.eval₂ f x = 0) :
     use normalizeScaleRoots_monic p this
     rw [normalizeScaleRoots_eval₂_leadingCoeff_mul p h' f x, h, MulZeroClass.mul_zero]
   · by_cases hp : p.map f = 0
-    · apply_fun fun q => coeff q p.nat_degree  at hp 
+    · apply_fun fun q => coeff q p.nat_degree at hp 
       rw [coeff_map, coeff_zero, coeff_nat_degree] at hp 
       rw [hp, MulZeroClass.zero_mul]
       exact f.is_integral_zero
@@ -828,7 +829,7 @@ end
 section IsIntegralClosure
 
 #print IsIntegralClosure /-
-/- ./././Mathport/Syntax/Translate/Command.lean:393:30: infer kinds are unsupported in Lean 4: #[`algebraMap_injective] [] -/
+/- ./././Mathport/Syntax/Translate/Command.lean:394:30: infer kinds are unsupported in Lean 4: #[`algebraMap_injective] [] -/
 /-- `is_integral_closure A R B` is the characteristic predicate stating `A` is
 the integral closure of `R` in `B`,
 i.e. that an element of `B` is integral over `R` iff it is an element of (the image of) `A`.
Diff
@@ -106,7 +106,7 @@ theorem isIntegral_of_noetherian (H : IsNoetherian R A) (x : A) : IsIntegral R x
   cases' HM with N HN
   have HM : ¬M < D (N + 1) :=
     WellFounded.not_lt_min (isNoetherian_iff_wellFounded.1 H) (Set.range D) _ ⟨N + 1, rfl⟩
-  rw [← HN] at HM
+  rw [← HN] at HM 
   have HN2 : D (N + 1) ≤ D N :=
     by_contradiction fun H =>
       HM (lt_of_le_not_le (map_mono (degree_le_mono (WithBot.coe_le_coe.2 (Nat.le_succ N)))) H)
@@ -156,7 +156,7 @@ theorem isIntegral_map_of_comp_eq_of_isIntegral {R S T U : Type _} [CommRing R]
     [CommRing T] [CommRing U] [Algebra R S] [Algebra T U] (φ : R →+* T) (ψ : S →+* U)
     (h : (algebraMap T U).comp φ = ψ.comp (algebraMap R S)) {a : S} (ha : IsIntegral R a) :
     IsIntegral T (ψ a) := by
-  rw [IsIntegral, RingHom.IsIntegralElem] at ha⊢
+  rw [IsIntegral, RingHom.IsIntegralElem] at ha ⊢
   obtain ⟨p, hp⟩ := ha
   refine' ⟨p.map φ, hp.left.map _, _⟩
   rw [← eval_map, map_map, h, ← map_map, eval_map, eval₂_at_apply, eval_map, hp.right,
@@ -170,7 +170,7 @@ theorem isIntegral_algHom_iff {A B : Type _} [Ring A] [Ring B] [Algebra R A] [Al
   rintro ⟨p, hp, hx⟩
   use p, hp
   rwa [← f.comp_algebra_map, ← AlgHom.coe_toRingHom, ← Polynomial.hom_eval₂, AlgHom.coe_toRingHom,
-    map_eq_zero_iff f hf] at hx
+    map_eq_zero_iff f hf] at hx 
 #align is_integral_alg_hom_iff isIntegral_algHom_iff
 
 @[simp]
@@ -225,25 +225,25 @@ theorem FG_adjoin_singleton_of_integral (x : A) (hx : IsIntegral R x) :
   rcases hx with ⟨f, hfm, hfx⟩
   exists Finset.image ((· ^ ·) x) (Finset.range (nat_degree f + 1))
   apply le_antisymm
-  · rw [span_le]; intro s hs; rw [Finset.mem_coe] at hs
+  · rw [span_le]; intro s hs; rw [Finset.mem_coe] at hs 
     rcases Finset.mem_image.1 hs with ⟨k, hk, rfl⟩; clear hk
     exact (Algebra.adjoin R {x}).pow_mem (Algebra.subset_adjoin (Set.mem_singleton _)) k
-  intro r hr; change r ∈ Algebra.adjoin R ({x} : Set A) at hr
-  rw [Algebra.adjoin_singleton_eq_range_aeval] at hr
+  intro r hr; change r ∈ Algebra.adjoin R ({x} : Set A) at hr 
+  rw [Algebra.adjoin_singleton_eq_range_aeval] at hr 
   rcases(aeval x).mem_range.mp hr with ⟨p, rfl⟩
   rw [← mod_by_monic_add_div p hfm]
-  rw [← aeval_def] at hfx
+  rw [← aeval_def] at hfx 
   rw [AlgHom.map_add, AlgHom.map_mul, hfx, MulZeroClass.zero_mul, add_zero]
   have : degree (p %ₘ f) ≤ degree f := degree_mod_by_monic_le p hfm
-  generalize p %ₘ f = q at this⊢
+  generalize p %ₘ f = q at this ⊢
   rw [← sum_C_mul_X_pow_eq q, aeval_def, eval₂_sum, sum_def]
   refine' sum_mem fun k hkq => _
   rw [eval₂_mul, eval₂_C, eval₂_pow, eval₂_X, ← Algebra.smul_def]
   refine' smul_mem _ _ (subset_span _)
   rw [Finset.mem_coe]; refine' Finset.mem_image.2 ⟨_, _, rfl⟩
   rw [Finset.mem_range, Nat.lt_succ_iff]; refine' le_of_not_lt fun hk => _
-  rw [degree_le_iff_coeff_zero] at this
-  rw [mem_support_iff] at hkq; apply hkq; apply this
+  rw [degree_le_iff_coeff_zero] at this 
+  rw [mem_support_iff] at hkq ; apply hkq; apply this
   exact lt_of_le_of_lt degree_le_nat_degree (WithBot.coe_lt_coe.2 hk)
 #align fg_adjoin_singleton_of_integral FG_adjoin_singleton_of_integral
 
@@ -281,7 +281,7 @@ theorem isIntegral_of_mem_of_FG (S : Subalgebra R A) (HS : S.toSubmodule.FG) (x
   cases' HS with y hy
   -- We can write `x` as `∑ rᵢ yᵢ` for `yᵢ ∈ Y`.
   obtain ⟨lx, hlx1, hlx2⟩ :
-    ∃ (l : A →₀ R)(H : l ∈ Finsupp.supported R R ↑y), (Finsupp.total A A R id) l = x := by
+    ∃ (l : A →₀ R) (H : l ∈ Finsupp.supported R R ↑y), (Finsupp.total A A R id) l = x := by
     rwa [← @Finsupp.mem_span_image_iff_total A A R _ _ _ id (↑y) x, Set.image_id ↑y, hy]
   -- Note that `y ⊆ S`.
   have hyS : ∀ {p}, p ∈ y → p ∈ S := fun p hp =>
@@ -289,7 +289,7 @@ theorem isIntegral_of_mem_of_FG (S : Subalgebra R A) (HS : S.toSubmodule.FG) (x
   -- Now `S` is a subalgebra so the product of two elements of `y` is also in `S`.
   have : ∀ jk : (↑(y ×ˢ y) : Set (A × A)), jk.1.1 * jk.1.2 ∈ S.to_submodule := fun jk =>
     S.mul_mem (hyS (Finset.mem_product.1 jk.2).1) (hyS (Finset.mem_product.1 jk.2).2)
-  rw [← hy, ← Set.image_id ↑y] at this; simp only [Finsupp.mem_span_image_iff_total] at this
+  rw [← hy, ← Set.image_id ↑y] at this ; simp only [Finsupp.mem_span_image_iff_total] at this 
   -- Say `yᵢyⱼ = ∑rᵢⱼₖ yₖ`
   choose ly hly1 hly2
   -- Now let `S₀` be the subring of `R` generated by the `rᵢ` and the `rᵢⱼₖ`.
@@ -337,7 +337,7 @@ theorem isIntegral_of_mem_of_FG (S : Subalgebra R A) (HS : S.toSubmodule.FG) (x
     ·
       exact
         (span_le.2 (Set.insert_subset.2 ⟨(Algebra.adjoin S₀ ↑y).one_mem, Algebra.subset_adjoin⟩)) hz
-    · rw [Subalgebra.mem_toSubmodule, Algebra.mem_adjoin_iff] at hz
+    · rw [Subalgebra.mem_toSubmodule, Algebra.mem_adjoin_iff] at hz 
       suffices Subring.closure (Set.range ⇑(algebraMap (↥S₀) A) ∪ ↑y) ≤ S₁ by exact this hz
       refine' Subring.closure_le.2 (Set.union_subset _ fun t ht => subset_span <| Or.inr ht)
       rw [Set.range_subset_iff]
@@ -356,7 +356,7 @@ theorem isIntegral_of_mem_of_FG (S : Subalgebra R A) (HS : S.toSubmodule.FG) (x
   have : lx r ∈ S₀ :=
     Subring.subset_closure (Finset.mem_union_left _ (Finset.mem_image_of_mem _ hr))
   change (⟨_, this⟩ : S₀) • r ∈ _
-  rw [Finsupp.mem_supported] at hlx1
+  rw [Finsupp.mem_supported] at hlx1 
   exact Subalgebra.smul_mem _ (Algebra.subset_adjoin <| hlx1 hr) _
 #align is_integral_of_mem_of_fg isIntegral_of_mem_of_FG
 
@@ -385,7 +385,7 @@ theorem isIntegral_of_smul_mem_submodule {M : Type _} [AddCommGroup M] [Module R
         map_smul' := fun r s => LinearMap.ext fun n => Subtype.ext <| smul_assoc r s n }
       (LinearMap.ext fun n => Subtype.ext <| one_smul _ _) fun x y =>
       LinearMap.ext fun n => Subtype.ext <| mul_smul x y n
-  obtain ⟨a, ha₁, ha₂⟩ : ∃ a ∈ N, a ≠ (0 : M) := by by_contra h'; push_neg  at h'; apply hN;
+  obtain ⟨a, ha₁, ha₂⟩ : ∃ a ∈ N, a ≠ (0 : M) := by by_contra h'; push_neg  at h' ; apply hN;
     rwa [eq_bot_iff]
   have : Function.Injective f :=
     by
@@ -433,7 +433,7 @@ theorem Algebra.IsIntegral.finite (h : Algebra.IsIntegral R A) [h' : Algebra.Fin
   by
   have :=
     h.to_finite (by delta RingHom.FiniteType; convert h'; ext; exact (Algebra.smul_def _ _).symm)
-  delta RingHom.Finite at this; convert this; ext; exact Algebra.smul_def _ _
+  delta RingHom.Finite at this ; convert this; ext; exact Algebra.smul_def _ _
 #align algebra.is_integral.finite Algebra.IsIntegral.finite
 
 theorem Algebra.IsIntegral.of_finite [h : Module.Finite R A] : Algebra.IsIntegral R A :=
@@ -455,7 +455,7 @@ theorem RingHom.is_integral_of_mem_closure {x y z : S} (hx : f.IsIntegralElem x)
   by
   letI : Algebra R S := f.to_algebra
   have := (FG_adjoin_singleton_of_integral x hx).mul (FG_adjoin_singleton_of_integral y hy)
-  rw [← Algebra.adjoin_union_coe_submodule, Set.singleton_union] at this
+  rw [← Algebra.adjoin_union_coe_submodule, Set.singleton_union] at this 
   exact
     isIntegral_of_mem_of_FG (Algebra.adjoin R {x, y}) this z
       (Algebra.mem_adjoin_iff.2 <| Subring.closure_mono (Set.subset_union_right _ _) hz)
@@ -602,7 +602,7 @@ theorem integralClosure.isIntegral (x : integralClosure R A) : IsIntegral R x :=
   let ⟨p, hpm, hpx⟩ := x.2
   ⟨p, hpm,
     Subtype.eq <| by
-      rwa [← aeval_def, Subtype.val_eq_coe, ← Subalgebra.val_apply, aeval_alg_hom_apply] at hpx⟩
+      rwa [← aeval_def, Subtype.val_eq_coe, ← Subalgebra.val_apply, aeval_alg_hom_apply] at hpx ⟩
 #align integral_closure.is_integral integralClosure.isIntegral
 
 theorem RingHom.is_integral_of_is_integral_mul_unit (x y : S) (r : R) (hr : f r * y = 1)
@@ -797,16 +797,16 @@ theorem RingHom.isIntegralElem_leadingCoeff_mul (h : p.eval₂ f x = 0) :
   by
   by_cases h' : 1 ≤ p.nat_degree
   · use normalizeScaleRoots p
-    have : p ≠ 0 := fun h'' => by rw [h'', nat_degree_zero] at h'; exact Nat.not_succ_le_zero 0 h'
+    have : p ≠ 0 := fun h'' => by rw [h'', nat_degree_zero] at h' ; exact Nat.not_succ_le_zero 0 h'
     use normalizeScaleRoots_monic p this
     rw [normalizeScaleRoots_eval₂_leadingCoeff_mul p h' f x, h, MulZeroClass.mul_zero]
   · by_cases hp : p.map f = 0
-    · apply_fun fun q => coeff q p.nat_degree  at hp
-      rw [coeff_map, coeff_zero, coeff_nat_degree] at hp
+    · apply_fun fun q => coeff q p.nat_degree  at hp 
+      rw [coeff_map, coeff_zero, coeff_nat_degree] at hp 
       rw [hp, MulZeroClass.zero_mul]
       exact f.is_integral_zero
-    · rw [Nat.one_le_iff_ne_zero, Classical.not_not] at h'
-      rw [eq_C_of_nat_degree_eq_zero h', eval₂_C] at h
+    · rw [Nat.one_le_iff_ne_zero, Classical.not_not] at h' 
+      rw [eq_C_of_nat_degree_eq_zero h', eval₂_C] at h 
       suffices p.map f = 0 by exact (hp this).rec _
       rw [eq_C_of_nat_degree_eq_zero h', map_C, h, C_eq_zero]
 #align ring_hom.is_integral_elem_leading_coeff_mul RingHom.isIntegralElem_leadingCoeff_mul
@@ -816,7 +816,7 @@ then `p.leading_coeff • x : S` is integral over `R`. -/
 theorem isIntegral_leadingCoeff_smul [Algebra R S] (h : aeval x p = 0) :
     IsIntegral R (p.leadingCoeff • x) :=
   by
-  rw [aeval_def] at h
+  rw [aeval_def] at h 
   rw [Algebra.smul_def]
   exact (algebraMap R S).isIntegralElem_leadingCoeff_mul p x h
 #align is_integral_leading_coeff_smul isIntegral_leadingCoeff_smul
@@ -834,7 +834,7 @@ the integral closure of `R` in `B`,
 i.e. that an element of `B` is integral over `R` iff it is an element of (the image of) `A`.
 -/
 class IsIntegralClosure (A R B : Type _) [CommRing R] [CommSemiring A] [CommRing B] [Algebra R B]
-  [Algebra A B] : Prop where
+    [Algebra A B] : Prop where
   algebraMap_injective : Function.Injective (algebraMap A B)
   isIntegral_iff : ∀ {x : B}, IsIntegral R x ↔ ∃ y, algebraMap A B y = x
 #align is_integral_closure IsIntegralClosure
@@ -1011,7 +1011,7 @@ theorem isIntegral_trans (A_int : Algebra.IsIntegral R A) (x : B) (hx : IsIntegr
   let S : Set B := ↑(p.map <| algebraMap A B).frange
   refine' isIntegral_of_mem_of_FG (adjoin R (S ∪ {x})) _ _ (subset_adjoin <| Or.inr rfl)
   refine' fg_trans (FG_adjoin_of_finite (Finset.finite_toSet _) fun x hx => _) _
-  · rw [Finset.mem_coe, frange, Finset.mem_image] at hx
+  · rw [Finset.mem_coe, frange, Finset.mem_image] at hx 
     rcases hx with ⟨i, _, rfl⟩
     rw [coeff_map]
     exact map_isIntegral (IsScalarTower.toAlgHom R A B) (A_int _)
@@ -1050,7 +1050,7 @@ theorem isIntegral_tower_bot_of_isIntegral (H : Function.Injective (algebraMap A
   rcases h with ⟨p, ⟨hp, hp'⟩⟩
   refine' ⟨p, ⟨hp, _⟩⟩
   rw [IsScalarTower.algebraMap_eq R A B, ← eval₂_map, eval₂_hom, ←
-    RingHom.map_zero (algebraMap A B)] at hp'
+    RingHom.map_zero (algebraMap A B)] at hp' 
   rw [eval₂_eq_eval_map]
   exact H hp'
 #align is_integral_tower_bot_of_is_integral isIntegral_tower_bot_of_isIntegral
@@ -1072,7 +1072,7 @@ theorem isIntegral_tower_bot_of_isIntegral_field {R A B : Type _} [CommRing R] [
 theorem RingHom.isIntegralElem_of_isIntegralElem_comp {x : T} (h : (g.comp f).IsIntegralElem x) :
     g.IsIntegralElem x :=
   let ⟨p, ⟨hp, hp'⟩⟩ := h
-  ⟨p.map f, hp.map f, by rwa [← eval₂_map] at hp'⟩
+  ⟨p.map f, hp.map f, by rwa [← eval₂_map] at hp' ⟩
 #align ring_hom.is_integral_elem_of_is_integral_elem_comp RingHom.isIntegralElem_of_isIntegralElem_comp
 
 theorem RingHom.isIntegral_tower_top_of_isIntegral (h : (g.comp f).IsIntegral) : g.IsIntegral :=
@@ -1085,7 +1085,7 @@ theorem isIntegral_tower_top_of_isIntegral {x : B} (h : IsIntegral R x) : IsInte
   by
   rcases h with ⟨p, ⟨hp, hp'⟩⟩
   refine' ⟨p.map (algebraMap R A), ⟨hp.map (algebraMap R A), _⟩⟩
-  rw [IsScalarTower.algebraMap_eq R A B, ← eval₂_map] at hp'
+  rw [IsScalarTower.algebraMap_eq R A B, ← eval₂_map] at hp' 
   exact hp'
 #align is_integral_tower_top_of_is_integral isIntegral_tower_top_of_isIntegral
 
@@ -1135,7 +1135,7 @@ theorem isField_of_isIntegral_of_isField {R S : Type _} [CommRing R] [Nontrivial
     apply (injective_iff_map_eq_zero (algebraMap R S)).mp hRS
     have a_inv_ne_zero : a_inv ≠ 0 := right_ne_zero_of_mul (mt ha_inv.symm.trans one_ne_zero)
     refine' (mul_eq_zero.mp _).resolve_right (pow_ne_zero p.nat_degree a_inv_ne_zero)
-    rw [eval₂_eq_sum_range] at hp
+    rw [eval₂_eq_sum_range] at hp 
     rw [RingHom.map_sum, Finset.sum_mul]
     refine' (Finset.sum_congr rfl fun i hi => _).trans hp
     rw [RingHom.map_mul, mul_assoc]
@@ -1146,7 +1146,7 @@ theorem isField_of_isIntegral_of_isField {R S : Type _} [CommRing R] [Nontrivial
   -- Since `q(a) = 0` and `q(a) = q'(a) * a + 1`, we have `a * -q'(a) = 1`.
   -- TODO: we could use a lemma for `polynomial.div_X` here.
   rw [Finset.sum_range_succ_comm, p_monic.coeff_nat_degree, one_mul, tsub_self, pow_zero,
-    add_eq_zero_iff_eq_neg, eq_comm] at hq
+    add_eq_zero_iff_eq_neg, eq_comm] at hq 
   rw [mul_comm, neg_mul, Finset.sum_mul]
   convert hq using 2
   refine' Finset.sum_congr rfl fun i hi => _
Diff
@@ -39,9 +39,9 @@ Let `R` be a `comm_ring` and let `A` be an R-algebra.
 -/
 
 
-open Classical
+open scoped Classical
 
-open BigOperators Polynomial
+open scoped BigOperators Polynomial
 
 open Polynomial Submodule
 
@@ -681,7 +681,7 @@ theorem IsIntegral.pow_iff {x : A} {n : ℕ} (hn : 0 < n) : IsIntegral R (x ^ n)
   ⟨isIntegral_of_pow hn, fun hx => IsIntegral.pow hx n⟩
 #align is_integral.pow_iff IsIntegral.pow_iff
 
-open TensorProduct
+open scoped TensorProduct
 
 theorem IsIntegral.tmul (x : A) {y : B} (h : IsIntegral R y) : IsIntegral A (x ⊗ₜ[R] y) :=
   by
@@ -745,6 +745,7 @@ theorem leadingCoeff_smul_normalizeScaleRoots (p : R[X]) :
 #align leading_coeff_smul_normalize_scale_roots leadingCoeff_smul_normalizeScaleRoots
 -/
 
+#print normalizeScaleRoots_support /-
 theorem normalizeScaleRoots_support : (normalizeScaleRoots p).support ≤ p.support :=
   by
   intro x
@@ -754,6 +755,7 @@ theorem normalizeScaleRoots_support : (normalizeScaleRoots p).support ≤ p.supp
   intro h₁ h₂
   exact (h₂ h₁).rec _
 #align normalize_scale_roots_support normalizeScaleRoots_support
+-/
 
 #print normalizeScaleRoots_degree /-
 theorem normalizeScaleRoots_degree : (normalizeScaleRoots p).degree = p.degree :=
Diff
@@ -89,32 +89,14 @@ protected def Algebra.IsIntegral : Prop :=
 
 variable {R A}
 
-/- warning: ring_hom.is_integral_map -> RingHom.is_integral_map is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_3 : Ring.{u2} S] (f : RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_3))) {x : R}, RingHom.IsIntegralElem.{u1, u2} R S _inst_1 _inst_3 f (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_3))) (fun (_x : RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_3))) => R -> S) (RingHom.hasCoeToFun.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_3))) f x)
-but is expected to have type
-  forall {R : Type.{u2}} {S : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_3 : Ring.{u1} S] (f : RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S _inst_3))) {x : R}, RingHom.IsIntegralElem.{u2, u1} R S _inst_1 _inst_3 f (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S _inst_3))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) _x) (MulHomClass.toFunLike.{max u2 u1, u2, u1} (RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S _inst_3))) R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (NonUnitalNonAssocSemiring.toMul.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S _inst_3)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u1, u2, u1} (RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S _inst_3))) R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S _inst_3))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u1, u2, u1} (RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S _inst_3))) R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S _inst_3)) (RingHom.instRingHomClassRingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S _inst_3)))))) f x)
-Case conversion may be inaccurate. Consider using '#align ring_hom.is_integral_map RingHom.is_integral_mapₓ'. -/
 theorem RingHom.is_integral_map {x : R} : f.IsIntegralElem (f x) :=
   ⟨X - C x, monic_X_sub_C _, by simp⟩
 #align ring_hom.is_integral_map RingHom.is_integral_map
 
-/- warning: is_integral_algebra_map -> isIntegral_algebraMap is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : Ring.{u2} A] [_inst_4 : Algebra.{u1, u2} R A (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} A _inst_2)] {x : R}, IsIntegral.{u1, u2} R A _inst_1 _inst_2 _inst_4 (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A _inst_2))) (fun (_x : RingHom.{u1, u2} R A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A _inst_2))) => R -> A) (RingHom.hasCoeToFun.{u1, u2} R A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A _inst_2))) (algebraMap.{u1, u2} R A (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} A _inst_2) _inst_4) x)
-but is expected to have type
-  forall {R : Type.{u2}} {A : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : Ring.{u1} A] [_inst_4 : Algebra.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_1) (Ring.toSemiring.{u1} A _inst_2)] {x : R}, IsIntegral.{u2, u1} R ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => A) x) _inst_1 _inst_2 _inst_4 (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (RingHom.{u2, u1} R A (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_2))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => A) _x) (MulHomClass.toFunLike.{max u2 u1, u2, u1} (RingHom.{u2, u1} R A (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_2))) R A (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (NonUnitalNonAssocSemiring.toMul.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u1, u2, u1} (RingHom.{u2, u1} R A (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_2))) R A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u1, u2, u1} (RingHom.{u2, u1} R A (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_2))) R A (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u1} R A (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_2)))))) (algebraMap.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_1) (Ring.toSemiring.{u1} A _inst_2) _inst_4) x)
-Case conversion may be inaccurate. Consider using '#align is_integral_algebra_map isIntegral_algebraMapₓ'. -/
 theorem isIntegral_algebraMap {x : R} : IsIntegral R (algebraMap R A x) :=
   (algebraMap R A).is_integral_map
 #align is_integral_algebra_map isIntegral_algebraMap
 
-/- warning: is_integral_of_noetherian -> isIntegral_of_noetherian is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : Ring.{u2} A] [_inst_4 : Algebra.{u1, u2} R A (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} A _inst_2)], (IsNoetherian.{u1, u2} R A (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} A _inst_2) _inst_4)) -> (forall (x : A), IsIntegral.{u1, u2} R A _inst_1 _inst_2 _inst_4 x)
-but is expected to have type
-  forall {R : Type.{u2}} {A : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : Ring.{u1} A] [_inst_4 : Algebra.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_1) (Ring.toSemiring.{u1} A _inst_2)], (IsNoetherian.{u2, u1} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A _inst_2)))) (Algebra.toModule.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_1) (Ring.toSemiring.{u1} A _inst_2) _inst_4)) -> (forall (x : A), IsIntegral.{u2, u1} R A _inst_1 _inst_2 _inst_4 x)
-Case conversion may be inaccurate. Consider using '#align is_integral_of_noetherian isIntegral_of_noetherianₓ'. -/
 theorem isIntegral_of_noetherian (H : IsNoetherian R A) (x : A) : IsIntegral R x :=
   by
   let leval : R[X] →ₗ[R] A := (aeval x).toLinearMap
@@ -135,9 +117,6 @@ theorem isIntegral_of_noetherian (H : IsNoetherian R A) (x : A) : IsIntegral R x
   rw [LinearMap.map_sub, hpe, sub_self]
 #align is_integral_of_noetherian isIntegral_of_noetherian
 
-/- warning: is_integral_of_submodule_noetherian -> isIntegral_of_submodule_noetherian is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align is_integral_of_submodule_noetherian isIntegral_of_submodule_noetherianₓ'. -/
 theorem isIntegral_of_submodule_noetherian (S : Subalgebra R A) (H : IsNoetherian R S.toSubmodule)
     (x : A) (hx : x ∈ S) : IsIntegral R x :=
   by
@@ -163,9 +142,6 @@ variable [CommRing R] [CommRing A] [CommRing B] [CommRing S]
 
 variable [Algebra R A] [Algebra R B] (f : R →+* S)
 
-/- warning: map_is_integral -> map_isIntegral is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align map_is_integral map_isIntegralₓ'. -/
 theorem map_isIntegral {B C F : Type _} [Ring B] [Ring C] [Algebra R B] [Algebra A B] [Algebra R C]
     [IsScalarTower R A B] [Algebra A C] [IsScalarTower R A C] {b : B} [AlgHomClass F A B C] (f : F)
     (hb : IsIntegral R b) : IsIntegral R (f b) :=
@@ -176,9 +152,6 @@ theorem map_isIntegral {B C F : Type _} [Ring B] [Ring C] [Algebra R B] [Algebra
     aeval_alg_hom_apply, aeval_map_algebra_map, aeval_def, hP.2, _root_.map_zero]
 #align map_is_integral map_isIntegral
 
-/- warning: is_integral_map_of_comp_eq_of_is_integral -> isIntegral_map_of_comp_eq_of_isIntegral is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align is_integral_map_of_comp_eq_of_is_integral isIntegral_map_of_comp_eq_of_isIntegralₓ'. -/
 theorem isIntegral_map_of_comp_eq_of_isIntegral {R S T U : Type _} [CommRing R] [CommRing S]
     [CommRing T] [CommRing U] [Algebra R S] [Algebra T U] (φ : R →+* T) (ψ : S →+* U)
     (h : (algebraMap T U).comp φ = ψ.comp (algebraMap R S)) {a : S} (ha : IsIntegral R a) :
@@ -190,9 +163,6 @@ theorem isIntegral_map_of_comp_eq_of_isIntegral {R S T U : Type _} [CommRing R]
     RingHom.map_zero]
 #align is_integral_map_of_comp_eq_of_is_integral isIntegral_map_of_comp_eq_of_isIntegral
 
-/- warning: is_integral_alg_hom_iff -> isIntegral_algHom_iff is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align is_integral_alg_hom_iff isIntegral_algHom_iffₓ'. -/
 theorem isIntegral_algHom_iff {A B : Type _} [Ring A] [Ring B] [Algebra R A] [Algebra R B]
     (f : A →ₐ[R] B) (hf : Function.Injective f) {x : A} : IsIntegral R (f x) ↔ IsIntegral R x :=
   by
@@ -203,51 +173,27 @@ theorem isIntegral_algHom_iff {A B : Type _} [Ring A] [Ring B] [Algebra R A] [Al
     map_eq_zero_iff f hf] at hx
 #align is_integral_alg_hom_iff isIntegral_algHom_iff
 
-/- warning: is_integral_alg_equiv -> isIntegral_algEquiv is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align is_integral_alg_equiv isIntegral_algEquivₓ'. -/
 @[simp]
 theorem isIntegral_algEquiv {A B : Type _} [Ring A] [Ring B] [Algebra R A] [Algebra R B]
     (f : A ≃ₐ[R] B) {x : A} : IsIntegral R (f x) ↔ IsIntegral R x :=
   ⟨fun h => by simpa using map_isIntegral f.symm.to_alg_hom h, map_isIntegral f.toAlgHom⟩
 #align is_integral_alg_equiv isIntegral_algEquiv
 
-/- warning: is_integral_of_is_scalar_tower -> isIntegral_of_isScalarTower is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {A : Type.{u2}} {B : Type.{u3}} [_inst_1 : CommRing.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : CommRing.{u3} B] [_inst_5 : Algebra.{u1, u2} R A (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))] [_inst_6 : Algebra.{u1, u3} R B (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u3} B (CommRing.toRing.{u3} B _inst_3))] [_inst_7 : Algebra.{u2, u3} A B (CommRing.toCommSemiring.{u2} A _inst_2) (Ring.toSemiring.{u3} B (CommRing.toRing.{u3} B _inst_3))] [_inst_8 : IsScalarTower.{u1, u2, u3} R A B (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)))))))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (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} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)))))))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)))))))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_5))))) (SMulZeroClass.toHasSmul.{u2, u3} A B (AddZeroClass.toHasZero.{u3} B (AddMonoid.toAddZeroClass.{u3} B (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} B (Semiring.toNonAssocSemiring.{u3} B (Ring.toSemiring.{u3} B (CommRing.toRing.{u3} B _inst_3)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} A B (MulZeroClass.toHasZero.{u2} A (MulZeroOneClass.toMulZeroClass.{u2} A (MonoidWithZero.toMulZeroOneClass.{u2} A (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)))))) (AddZeroClass.toHasZero.{u3} B (AddMonoid.toAddZeroClass.{u3} B (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} B (Semiring.toNonAssocSemiring.{u3} B (Ring.toSemiring.{u3} B (CommRing.toRing.{u3} B _inst_3)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} A B (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))) (AddZeroClass.toHasZero.{u3} B (AddMonoid.toAddZeroClass.{u3} B (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} B (Semiring.toNonAssocSemiring.{u3} B (Ring.toSemiring.{u3} B (CommRing.toRing.{u3} B _inst_3)))))))) (Module.toMulActionWithZero.{u2, u3} A B (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} B (Semiring.toNonAssocSemiring.{u3} B (Ring.toSemiring.{u3} B (CommRing.toRing.{u3} B _inst_3))))) (Algebra.toModule.{u2, u3} A B (CommRing.toCommSemiring.{u2} A _inst_2) (Ring.toSemiring.{u3} B (CommRing.toRing.{u3} B _inst_3)) _inst_7))))) (SMulZeroClass.toHasSmul.{u1, u3} R B (AddZeroClass.toHasZero.{u3} B (AddMonoid.toAddZeroClass.{u3} B (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} B (Semiring.toNonAssocSemiring.{u3} B (Ring.toSemiring.{u3} B (CommRing.toRing.{u3} B _inst_3)))))))) (SMulWithZero.toSmulZeroClass.{u1, u3} R B (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} B (AddMonoid.toAddZeroClass.{u3} B (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} B (Semiring.toNonAssocSemiring.{u3} B (Ring.toSemiring.{u3} B (CommRing.toRing.{u3} B _inst_3)))))))) (MulActionWithZero.toSMulWithZero.{u1, u3} R B (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u3} B (AddMonoid.toAddZeroClass.{u3} B (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} B (Semiring.toNonAssocSemiring.{u3} B (Ring.toSemiring.{u3} B (CommRing.toRing.{u3} B _inst_3)))))))) (Module.toMulActionWithZero.{u1, u3} R B (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} B (Semiring.toNonAssocSemiring.{u3} B (Ring.toSemiring.{u3} B (CommRing.toRing.{u3} B _inst_3))))) (Algebra.toModule.{u1, u3} R B (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u3} B (CommRing.toRing.{u3} B _inst_3)) _inst_6)))))] {x : B}, (IsIntegral.{u1, u3} R B _inst_1 (CommRing.toRing.{u3} B _inst_3) _inst_6 x) -> (IsIntegral.{u2, u3} A B _inst_2 (CommRing.toRing.{u3} B _inst_3) _inst_7 x)
-but is expected to have type
-  forall {R : Type.{u1}} {A : Type.{u3}} {B : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : CommRing.{u3} A] [_inst_3 : CommRing.{u2} B] [_inst_5 : Algebra.{u1, u3} R A (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_2))] [_inst_6 : Algebra.{u1, u2} R B (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} B (CommRing.toCommSemiring.{u2} B _inst_3))] [_inst_7 : Algebra.{u3, u2} A B (CommRing.toCommSemiring.{u3} A _inst_2) (CommSemiring.toSemiring.{u2} B (CommRing.toCommSemiring.{u2} B _inst_3))] [_inst_8 : IsScalarTower.{u1, u3, u2} R A B (Algebra.toSMul.{u1, u3} R A (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u3} A (CommRing.toCommSemiring.{u3} A _inst_2)) _inst_5) (Algebra.toSMul.{u3, u2} A B (CommRing.toCommSemiring.{u3} A _inst_2) (CommSemiring.toSemiring.{u2} B (CommRing.toCommSemiring.{u2} B _inst_3)) _inst_7) (Algebra.toSMul.{u1, u2} R B (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} B (CommRing.toCommSemiring.{u2} B _inst_3)) _inst_6)] {x : B}, (IsIntegral.{u1, u2} R B _inst_1 (CommRing.toRing.{u2} B _inst_3) _inst_6 x) -> (IsIntegral.{u3, u2} A B _inst_2 (CommRing.toRing.{u2} B _inst_3) _inst_7 x)
-Case conversion may be inaccurate. Consider using '#align is_integral_of_is_scalar_tower isIntegral_of_isScalarTowerₓ'. -/
 theorem isIntegral_of_isScalarTower [Algebra A B] [IsScalarTower R A B] {x : B}
     (hx : IsIntegral R x) : IsIntegral A x :=
   let ⟨p, hp, hpx⟩ := hx
   ⟨p.map <| algebraMap R A, hp.map _, by rw [← aeval_def, aeval_map_algebra_map, aeval_def, hpx]⟩
 #align is_integral_of_is_scalar_tower isIntegral_of_isScalarTower
 
-/- warning: map_is_integral_int -> map_isIntegral_int is a dubious translation:
-lean 3 declaration is
-  forall {B : Type.{u1}} {C : Type.{u2}} {F : Type.{u3}} [_inst_7 : Ring.{u1} B] [_inst_8 : Ring.{u2} C] {b : B} [_inst_9 : RingHomClass.{u3, u1, u2} F B C (NonAssocRing.toNonAssocSemiring.{u1} B (Ring.toNonAssocRing.{u1} B _inst_7)) (NonAssocRing.toNonAssocSemiring.{u2} C (Ring.toNonAssocRing.{u2} C _inst_8))] (f : F), (IsIntegral.{0, u1} Int B Int.commRing _inst_7 (algebraInt.{u1} B _inst_7) b) -> (IsIntegral.{0, u2} Int C Int.commRing _inst_8 (algebraInt.{u2} C _inst_8) (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => B -> C) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F B (fun (_x : B) => C) (MulHomClass.toFunLike.{u3, u1, u2} F B C (Distrib.toHasMul.{u1} B (NonUnitalNonAssocSemiring.toDistrib.{u1} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} B (NonAssocRing.toNonAssocSemiring.{u1} B (Ring.toNonAssocRing.{u1} B _inst_7))))) (Distrib.toHasMul.{u2} C (NonUnitalNonAssocSemiring.toDistrib.{u2} C (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} C (NonAssocRing.toNonAssocSemiring.{u2} C (Ring.toNonAssocRing.{u2} C _inst_8))))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F B C (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} B (NonAssocRing.toNonAssocSemiring.{u1} B (Ring.toNonAssocRing.{u1} B _inst_7))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} C (NonAssocRing.toNonAssocSemiring.{u2} C (Ring.toNonAssocRing.{u2} C _inst_8))) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F B C (NonAssocRing.toNonAssocSemiring.{u1} B (Ring.toNonAssocRing.{u1} B _inst_7)) (NonAssocRing.toNonAssocSemiring.{u2} C (Ring.toNonAssocRing.{u2} C _inst_8)) _inst_9)))) f b))
-but is expected to have type
-  forall {B : Type.{u3}} {C : Type.{u2}} {F : Type.{u1}} [_inst_7 : Ring.{u3} B] [_inst_8 : Ring.{u2} C] {b : B} [_inst_9 : RingHomClass.{u1, u3, u2} F B C (Semiring.toNonAssocSemiring.{u3} B (Ring.toSemiring.{u3} B _inst_7)) (Semiring.toNonAssocSemiring.{u2} C (Ring.toSemiring.{u2} C _inst_8))] (f : F), (IsIntegral.{0, u3} Int B Int.instCommRingInt _inst_7 (algebraInt.{u3} B _inst_7) b) -> (IsIntegral.{0, u2} Int ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : B) => C) b) Int.instCommRingInt _inst_8 (algebraInt.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : B) => C) b) _inst_8) (FunLike.coe.{succ u1, succ u3, succ u2} F B (fun (_x : B) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : B) => C) _x) (MulHomClass.toFunLike.{u1, u3, u2} F B C (NonUnitalNonAssocSemiring.toMul.{u3} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} B (Semiring.toNonAssocSemiring.{u3} B (Ring.toSemiring.{u3} B _inst_7)))) (NonUnitalNonAssocSemiring.toMul.{u2} C (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} C (Semiring.toNonAssocSemiring.{u2} C (Ring.toSemiring.{u2} C _inst_8)))) (NonUnitalRingHomClass.toMulHomClass.{u1, u3, u2} F B C (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} B (Semiring.toNonAssocSemiring.{u3} B (Ring.toSemiring.{u3} B _inst_7))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} C (Semiring.toNonAssocSemiring.{u2} C (Ring.toSemiring.{u2} C _inst_8))) (RingHomClass.toNonUnitalRingHomClass.{u1, u3, u2} F B C (Semiring.toNonAssocSemiring.{u3} B (Ring.toSemiring.{u3} B _inst_7)) (Semiring.toNonAssocSemiring.{u2} C (Ring.toSemiring.{u2} C _inst_8)) _inst_9))) f b))
-Case conversion may be inaccurate. Consider using '#align map_is_integral_int map_isIntegral_intₓ'. -/
 theorem map_isIntegral_int {B C F : Type _} [Ring B] [Ring C] {b : B} [RingHomClass F B C] (f : F)
     (hb : IsIntegral ℤ b) : IsIntegral ℤ (f b) :=
   map_isIntegral (f : B →+* C).toIntAlgHom hb
 #align map_is_integral_int map_isIntegral_int
 
-/- warning: is_integral_of_subring -> isIntegral_ofSubring is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_5 : Algebra.{u1, u2} R A (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))] {x : A} (T : Subring.{u1} R (CommRing.toRing.{u1} R _inst_1)), (IsIntegral.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Subring.{u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subring.{u1} R (CommRing.toRing.{u1} R _inst_1)) R (Subring.setLike.{u1} R (CommRing.toRing.{u1} R _inst_1))) T) A (Subring.toCommRing.{u1} R _inst_1 T) (CommRing.toRing.{u2} A _inst_2) (Algebra.ofSubring.{u1, u2} R A _inst_1 (CommRing.toRing.{u2} A _inst_2) _inst_5 T) x) -> (IsIntegral.{u1, u2} R A _inst_1 (CommRing.toRing.{u2} A _inst_2) _inst_5 x)
-but is expected to have type
-  forall {R : Type.{u2}} {A : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : CommRing.{u1} A] [_inst_5 : Algebra.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2))] {x : A} (T : Subring.{u2} R (CommRing.toRing.{u2} R _inst_1)), (IsIntegral.{u2, u1} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Subring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (SetLike.instMembership.{u2, u2} (Subring.{u2} R (CommRing.toRing.{u2} R _inst_1)) R (Subring.instSetLikeSubring.{u2} R (CommRing.toRing.{u2} R _inst_1))) x T)) A (Subring.toCommRing.{u2} R _inst_1 T) (CommRing.toRing.{u1} A _inst_2) (Algebra.ofSubring.{u2, u1} R A _inst_1 (CommRing.toRing.{u1} A _inst_2) _inst_5 T) x) -> (IsIntegral.{u2, u1} R A _inst_1 (CommRing.toRing.{u1} A _inst_2) _inst_5 x)
-Case conversion may be inaccurate. Consider using '#align is_integral_of_subring isIntegral_ofSubringₓ'. -/
 theorem isIntegral_ofSubring {x : A} (T : Subring R) (hx : IsIntegral T x) : IsIntegral R x :=
   isIntegral_of_isScalarTower hx
 #align is_integral_of_subring isIntegral_ofSubring
 
-/- warning: is_integral.algebra_map -> IsIntegral.algebraMap is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align is_integral.algebra_map IsIntegral.algebraMapₓ'. -/
 theorem IsIntegral.algebraMap [Algebra A B] [IsScalarTower R A B] {x : A} (h : IsIntegral R x) :
     IsIntegral R (algebraMap A B x) :=
   by
@@ -256,21 +202,12 @@ theorem IsIntegral.algebraMap [Algebra A B] [IsScalarTower R A B] {x : A} (h : I
   rw [IsScalarTower.algebraMap_eq R A B, ← hom_eval₂, hx, RingHom.map_zero]
 #align is_integral.algebra_map IsIntegral.algebraMap
 
-/- warning: is_integral_algebra_map_iff -> isIntegral_algebraMap_iff is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align is_integral_algebra_map_iff isIntegral_algebraMap_iffₓ'. -/
 theorem isIntegral_algebraMap_iff [Algebra A B] [IsScalarTower R A B] {x : A}
     (hAB : Function.Injective (algebraMap A B)) :
     IsIntegral R (algebraMap A B x) ↔ IsIntegral R x :=
   isIntegral_algHom_iff (IsScalarTower.toAlgHom R A B) hAB
 #align is_integral_algebra_map_iff isIntegral_algebraMap_iff
 
-/- warning: is_integral_iff_is_integral_closure_finite -> isIntegral_iff_isIntegral_closure_finite is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_5 : Algebra.{u1, u2} R A (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))] {r : A}, Iff (IsIntegral.{u1, u2} R A _inst_1 (CommRing.toRing.{u2} A _inst_2) _inst_5 r) (Exists.{succ u1} (Set.{u1} R) (fun (s : Set.{u1} R) => And (Set.Finite.{u1} R s) (IsIntegral.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Subring.{u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subring.{u1} R (CommRing.toRing.{u1} R _inst_1)) R (Subring.setLike.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Subring.closure.{u1} R (CommRing.toRing.{u1} R _inst_1) s)) A (Subring.toCommRing.{u1} R _inst_1 (Subring.closure.{u1} R (CommRing.toRing.{u1} R _inst_1) s)) (CommRing.toRing.{u2} A _inst_2) (Algebra.ofSubring.{u1, u2} R A _inst_1 (CommRing.toRing.{u2} A _inst_2) _inst_5 (Subring.closure.{u1} R (CommRing.toRing.{u1} R _inst_1) s)) r)))
-but is expected to have type
-  forall {R : Type.{u2}} {A : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : CommRing.{u1} A] [_inst_5 : Algebra.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2))] {r : A}, Iff (IsIntegral.{u2, u1} R A _inst_1 (CommRing.toRing.{u1} A _inst_2) _inst_5 r) (Exists.{succ u2} (Set.{u2} R) (fun (s : Set.{u2} R) => And (Set.Finite.{u2} R s) (IsIntegral.{u2, u1} (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Subring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (SetLike.instMembership.{u2, u2} (Subring.{u2} R (CommRing.toRing.{u2} R _inst_1)) R (Subring.instSetLikeSubring.{u2} R (CommRing.toRing.{u2} R _inst_1))) x (Subring.closure.{u2} R (CommRing.toRing.{u2} R _inst_1) s))) A (Subring.toCommRing.{u2} R _inst_1 (Subring.closure.{u2} R (CommRing.toRing.{u2} R _inst_1) s)) (CommRing.toRing.{u1} A _inst_2) (Algebra.ofSubring.{u2, u1} R A _inst_1 (CommRing.toRing.{u1} A _inst_2) _inst_5 (Subring.closure.{u2} R (CommRing.toRing.{u2} R _inst_1) s)) r)))
-Case conversion may be inaccurate. Consider using '#align is_integral_iff_is_integral_closure_finite isIntegral_iff_isIntegral_closure_finiteₓ'. -/
 theorem isIntegral_iff_isIntegral_closure_finite {r : A} :
     IsIntegral R r ↔ ∃ s : Set R, s.Finite ∧ IsIntegral (Subring.closure s) r :=
   by
@@ -282,9 +219,6 @@ theorem isIntegral_iff_isIntegral_closure_finite {r : A} :
   exact isIntegral_ofSubring _ hsr
 #align is_integral_iff_is_integral_closure_finite isIntegral_iff_isIntegral_closure_finite
 
-/- warning: fg_adjoin_singleton_of_integral -> FG_adjoin_singleton_of_integral is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align fg_adjoin_singleton_of_integral FG_adjoin_singleton_of_integralₓ'. -/
 theorem FG_adjoin_singleton_of_integral (x : A) (hx : IsIntegral R x) :
     (Algebra.adjoin R ({x} : Set A)).toSubmodule.FG :=
   by
@@ -313,9 +247,6 @@ theorem FG_adjoin_singleton_of_integral (x : A) (hx : IsIntegral R x) :
   exact lt_of_le_of_lt degree_le_nat_degree (WithBot.coe_lt_coe.2 hk)
 #align fg_adjoin_singleton_of_integral FG_adjoin_singleton_of_integral
 
-/- warning: fg_adjoin_of_finite -> FG_adjoin_of_finite is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align fg_adjoin_of_finite FG_adjoin_of_finiteₓ'. -/
 theorem FG_adjoin_of_finite {s : Set A} (hfs : s.Finite) (his : ∀ x ∈ s, IsIntegral R x) :
     (Algebra.adjoin R s).toSubmodule.FG :=
   Set.Finite.induction_on hfs
@@ -334,17 +265,11 @@ theorem FG_adjoin_of_finite {s : Set A} (hfs : s.Finite) (his : ∀ x ∈ s, IsI
     his
 #align fg_adjoin_of_finite FG_adjoin_of_finite
 
-/- warning: is_noetherian_adjoin_finset -> isNoetherian_adjoin_finset is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align is_noetherian_adjoin_finset isNoetherian_adjoin_finsetₓ'. -/
 theorem isNoetherian_adjoin_finset [IsNoetherianRing R] (s : Finset A)
     (hs : ∀ x ∈ s, IsIntegral R x) : IsNoetherian R (Algebra.adjoin R (↑s : Set A)) :=
   isNoetherian_of_fg_of_noetherian _ (FG_adjoin_of_finite s.finite_toSet hs)
 #align is_noetherian_adjoin_finset isNoetherian_adjoin_finset
 
-/- warning: is_integral_of_mem_of_fg -> isIntegral_of_mem_of_FG is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align is_integral_of_mem_of_fg isIntegral_of_mem_of_FGₓ'. -/
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 /-- If `S` is a sub-`R`-algebra of `A` and `S` is finitely-generated as an `R`-module,
   then all elements of `S` are integral over `R`. -/
@@ -435,20 +360,11 @@ theorem isIntegral_of_mem_of_FG (S : Subalgebra R A) (HS : S.toSubmodule.FG) (x
   exact Subalgebra.smul_mem _ (Algebra.subset_adjoin <| hlx1 hr) _
 #align is_integral_of_mem_of_fg isIntegral_of_mem_of_FG
 
-/- warning: module.End.is_integral -> Module.End.isIntegral is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {M : Type.{u2}} [_inst_7 : AddCommGroup.{u2} M] [_inst_8 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_7)] [_inst_9 : Module.Finite.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_7) _inst_8], Algebra.IsIntegral.{u1, u2} R (Module.End.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_7) _inst_8) _inst_1 (Module.End.ring.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_7 _inst_8) (Module.End.algebra.{u1, u2} R M (CommRing.toCommSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_7) _inst_8)
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {M : Type.{u2}} [_inst_7 : AddCommGroup.{u2} M] [_inst_8 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_7)] [_inst_9 : Module.Finite.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_7) _inst_8], Algebra.IsIntegral.{u1, u2} R (Module.End.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_7) _inst_8) _inst_1 (Module.End.ring.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) _inst_7 _inst_8) (Module.instAlgebraEndToSemiringSemiring.{u1, u2} R M (CommRing.toCommSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M _inst_7) _inst_8)
-Case conversion may be inaccurate. Consider using '#align module.End.is_integral Module.End.isIntegralₓ'. -/
 theorem Module.End.isIntegral {M : Type _} [AddCommGroup M] [Module R M] [Module.Finite R M] :
     Algebra.IsIntegral R (Module.End R M) :=
   LinearMap.exists_monic_and_aeval_eq_zero R
 #align module.End.is_integral Module.End.isIntegral
 
-/- warning: is_integral_of_smul_mem_submodule -> isIntegral_of_smul_mem_submodule is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align is_integral_of_smul_mem_submodule isIntegral_of_smul_mem_submoduleₓ'. -/
 /-- Suppose `A` is an `R`-algebra, `M` is an `A`-module such that `a • m ≠ 0` for all non-zero `a`
 and `m`. If `x : A` fixes a nontrivial f.g. `R`-submodule `N` of `M`, then `x` is `R`-integral. -/
 theorem isIntegral_of_smul_mem_submodule {M : Type _} [AddCommGroup M] [Module R M] [Module A M]
@@ -486,32 +402,14 @@ theorem isIntegral_of_smul_mem_submodule {M : Type _} [AddCommGroup M] [Module R
 
 variable {f}
 
-/- warning: ring_hom.finite.to_is_integral -> RingHom.Finite.to_isIntegral is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_4 : CommRing.{u2} S] {f : RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_4)))}, (RingHom.Finite.{u1, u2} R S _inst_1 _inst_4 f) -> (RingHom.IsIntegral.{u1, u2} R S _inst_1 (CommRing.toRing.{u2} S _inst_4) f)
-but is expected to have type
-  forall {R : Type.{u2}} {S : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_4 : CommRing.{u1} S] {f : RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_4)))}, (RingHom.Finite.{u2, u1} R S _inst_1 _inst_4 f) -> (RingHom.IsIntegral.{u2, u1} R S _inst_1 (CommRing.toRing.{u1} S _inst_4) f)
-Case conversion may be inaccurate. Consider using '#align ring_hom.finite.to_is_integral RingHom.Finite.to_isIntegralₓ'. -/
 theorem RingHom.Finite.to_isIntegral (h : f.Finite) : f.IsIntegral :=
   letI := f.to_algebra
   fun x => isIntegral_of_mem_of_FG ⊤ h.1 _ trivial
 #align ring_hom.finite.to_is_integral RingHom.Finite.to_isIntegral
 
-/- warning: ring_hom.is_integral.of_finite -> RingHom.IsIntegral.of_finite is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_4 : CommRing.{u2} S] {f : RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_4)))}, (RingHom.Finite.{u1, u2} R S _inst_1 _inst_4 f) -> (RingHom.IsIntegral.{u1, u2} R S _inst_1 (CommRing.toRing.{u2} S _inst_4) f)
-but is expected to have type
-  forall {R : Type.{u2}} {S : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_4 : CommRing.{u1} S] {f : RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_4)))}, (RingHom.Finite.{u2, u1} R S _inst_1 _inst_4 f) -> (RingHom.IsIntegral.{u2, u1} R S _inst_1 (CommRing.toRing.{u1} S _inst_4) f)
-Case conversion may be inaccurate. Consider using '#align ring_hom.is_integral.of_finite RingHom.IsIntegral.of_finiteₓ'. -/
 alias RingHom.Finite.to_isIntegral ← RingHom.IsIntegral.of_finite
 #align ring_hom.is_integral.of_finite RingHom.IsIntegral.of_finite
 
-/- warning: ring_hom.is_integral.to_finite -> RingHom.IsIntegral.to_finite is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_4 : CommRing.{u2} S] {f : RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_4)))}, (RingHom.IsIntegral.{u1, u2} R S _inst_1 (CommRing.toRing.{u2} S _inst_4) f) -> (RingHom.FiniteType.{u1, u2} R S _inst_1 _inst_4 f) -> (RingHom.Finite.{u1, u2} R S _inst_1 _inst_4 f)
-but is expected to have type
-  forall {R : Type.{u2}} {S : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_4 : CommRing.{u1} S] {f : RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_4)))}, (RingHom.IsIntegral.{u2, u1} R S _inst_1 (CommRing.toRing.{u1} S _inst_4) f) -> (RingHom.FiniteType.{u2, u1} R S _inst_1 _inst_4 f) -> (RingHom.Finite.{u2, u1} R S _inst_1 _inst_4 f)
-Case conversion may be inaccurate. Consider using '#align ring_hom.is_integral.to_finite RingHom.IsIntegral.to_finiteₓ'. -/
 theorem RingHom.IsIntegral.to_finite (h : f.IsIntegral) (h' : f.FiniteType) : f.Finite :=
   by
   letI := f.to_algebra
@@ -522,32 +420,14 @@ theorem RingHom.IsIntegral.to_finite (h : f.IsIntegral) (h' : f.FiniteType) : f.
   exact FG_adjoin_of_finite (Set.toFinite _) fun x _ => h x
 #align ring_hom.is_integral.to_finite RingHom.IsIntegral.to_finite
 
-/- warning: ring_hom.finite.of_is_integral_of_finite_type -> RingHom.Finite.of_isIntegral_of_finiteType is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_4 : CommRing.{u2} S] {f : RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_4)))}, (RingHom.IsIntegral.{u1, u2} R S _inst_1 (CommRing.toRing.{u2} S _inst_4) f) -> (RingHom.FiniteType.{u1, u2} R S _inst_1 _inst_4 f) -> (RingHom.Finite.{u1, u2} R S _inst_1 _inst_4 f)
-but is expected to have type
-  forall {R : Type.{u2}} {S : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_4 : CommRing.{u1} S] {f : RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_4)))}, (RingHom.IsIntegral.{u2, u1} R S _inst_1 (CommRing.toRing.{u1} S _inst_4) f) -> (RingHom.FiniteType.{u2, u1} R S _inst_1 _inst_4 f) -> (RingHom.Finite.{u2, u1} R S _inst_1 _inst_4 f)
-Case conversion may be inaccurate. Consider using '#align ring_hom.finite.of_is_integral_of_finite_type RingHom.Finite.of_isIntegral_of_finiteTypeₓ'. -/
 alias RingHom.IsIntegral.to_finite ← RingHom.Finite.of_isIntegral_of_finiteType
 #align ring_hom.finite.of_is_integral_of_finite_type RingHom.Finite.of_isIntegral_of_finiteType
 
-/- warning: ring_hom.finite_iff_is_integral_and_finite_type -> RingHom.finite_iff_isIntegral_and_finiteType is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_4 : CommRing.{u2} S] {f : RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_4)))}, Iff (RingHom.Finite.{u1, u2} R S _inst_1 _inst_4 f) (And (RingHom.IsIntegral.{u1, u2} R S _inst_1 (CommRing.toRing.{u2} S _inst_4) f) (RingHom.FiniteType.{u1, u2} R S _inst_1 _inst_4 f))
-but is expected to have type
-  forall {R : Type.{u2}} {S : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_4 : CommRing.{u1} S] {f : RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_4)))}, Iff (RingHom.Finite.{u2, u1} R S _inst_1 _inst_4 f) (And (RingHom.IsIntegral.{u2, u1} R S _inst_1 (CommRing.toRing.{u1} S _inst_4) f) (RingHom.FiniteType.{u2, u1} R S _inst_1 _inst_4 f))
-Case conversion may be inaccurate. Consider using '#align ring_hom.finite_iff_is_integral_and_finite_type RingHom.finite_iff_isIntegral_and_finiteTypeₓ'. -/
 /-- finite = integral + finite type -/
 theorem RingHom.finite_iff_isIntegral_and_finiteType : f.Finite ↔ f.IsIntegral ∧ f.FiniteType :=
   ⟨fun h => ⟨h.to_isIntegral, h.to_finiteType⟩, fun ⟨h, h'⟩ => h.toFinite h'⟩
 #align ring_hom.finite_iff_is_integral_and_finite_type RingHom.finite_iff_isIntegral_and_finiteType
 
-/- warning: algebra.is_integral.finite -> Algebra.IsIntegral.finite is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_5 : Algebra.{u1, u2} R A (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))], (Algebra.IsIntegral.{u1, u2} R A _inst_1 (CommRing.toRing.{u2} A _inst_2) _inst_5) -> (forall [h' : Algebra.FiniteType.{u1, u2} R A (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_5], Module.Finite.{u1, u2} R A (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_5))
-but is expected to have type
-  forall {R : Type.{u2}} {A : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : CommRing.{u1} A] [_inst_5 : Algebra.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2))], (Algebra.IsIntegral.{u2, u1} R A _inst_1 (CommRing.toRing.{u1} A _inst_2) _inst_5) -> (forall [h' : Algebra.FiniteType.{u1, u2} R A (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_5], Module.Finite.{u2, u1} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_5))
-Case conversion may be inaccurate. Consider using '#align algebra.is_integral.finite Algebra.IsIntegral.finiteₓ'. -/
 theorem Algebra.IsIntegral.finite (h : Algebra.IsIntegral R A) [h' : Algebra.FiniteType R A] :
     Module.Finite R A :=
   by
@@ -556,24 +436,12 @@ theorem Algebra.IsIntegral.finite (h : Algebra.IsIntegral R A) [h' : Algebra.Fin
   delta RingHom.Finite at this; convert this; ext; exact Algebra.smul_def _ _
 #align algebra.is_integral.finite Algebra.IsIntegral.finite
 
-/- warning: algebra.is_integral.of_finite -> Algebra.IsIntegral.of_finite is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_5 : Algebra.{u1, u2} R A (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))] [h : Module.Finite.{u1, u2} R A (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_5)], Algebra.IsIntegral.{u1, u2} R A _inst_1 (CommRing.toRing.{u2} A _inst_2) _inst_5
-but is expected to have type
-  forall {R : Type.{u2}} {A : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : CommRing.{u1} A] [_inst_5 : Algebra.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2))] [h : Module.Finite.{u2, u1} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_5)], Algebra.IsIntegral.{u2, u1} R A _inst_1 (CommRing.toRing.{u1} A _inst_2) _inst_5
-Case conversion may be inaccurate. Consider using '#align algebra.is_integral.of_finite Algebra.IsIntegral.of_finiteₓ'. -/
 theorem Algebra.IsIntegral.of_finite [h : Module.Finite R A] : Algebra.IsIntegral R A :=
   by
   apply RingHom.Finite.to_isIntegral
   delta RingHom.Finite; convert h; ext; exact (Algebra.smul_def _ _).symm
 #align algebra.is_integral.of_finite Algebra.IsIntegral.of_finite
 
-/- warning: algebra.finite_iff_is_integral_and_finite_type -> Algebra.finite_iff_isIntegral_and_finiteType is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_5 : Algebra.{u1, u2} R A (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))], Iff (Module.Finite.{u1, u2} R A (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_5)) (And (Algebra.IsIntegral.{u1, u2} R A _inst_1 (CommRing.toRing.{u2} A _inst_2) _inst_5) (Algebra.FiniteType.{u1, u2} R A (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_5))
-but is expected to have type
-  forall {R : Type.{u2}} {A : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : CommRing.{u1} A] [_inst_5 : Algebra.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2))], Iff (Module.Finite.{u2, u1} R A (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (Algebra.toModule.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_5)) (And (Algebra.IsIntegral.{u2, u1} R A _inst_1 (CommRing.toRing.{u1} A _inst_2) _inst_5) (Algebra.FiniteType.{u1, u2} R A (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_5))
-Case conversion may be inaccurate. Consider using '#align algebra.finite_iff_is_integral_and_finite_type Algebra.finite_iff_isIntegral_and_finiteTypeₓ'. -/
 /-- finite = integral + finite type -/
 theorem Algebra.finite_iff_isIntegral_and_finiteType :
     Module.Finite R A ↔ Algebra.IsIntegral R A ∧ Algebra.FiniteType R A :=
@@ -582,12 +450,6 @@ theorem Algebra.finite_iff_isIntegral_and_finiteType :
 
 variable (f)
 
-/- warning: ring_hom.is_integral_of_mem_closure -> RingHom.is_integral_of_mem_closure is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_4 : CommRing.{u2} S] (f : RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_4)))) {x : S} {y : S} {z : S}, (RingHom.IsIntegralElem.{u1, u2} R S _inst_1 (CommRing.toRing.{u2} S _inst_4) f x) -> (RingHom.IsIntegralElem.{u1, u2} R S _inst_1 (CommRing.toRing.{u2} S _inst_4) f y) -> (Membership.Mem.{u2, u2} S (Subring.{u2} S (CommRing.toRing.{u2} S _inst_4)) (SetLike.hasMem.{u2, u2} (Subring.{u2} S (CommRing.toRing.{u2} S _inst_4)) S (Subring.setLike.{u2} S (CommRing.toRing.{u2} S _inst_4))) z (Subring.closure.{u2} S (CommRing.toRing.{u2} S _inst_4) (Insert.insert.{u2, u2} S (Set.{u2} S) (Set.hasInsert.{u2} S) x (Singleton.singleton.{u2, u2} S (Set.{u2} S) (Set.hasSingleton.{u2} S) y)))) -> (RingHom.IsIntegralElem.{u1, u2} R S _inst_1 (CommRing.toRing.{u2} S _inst_4) f z)
-but is expected to have type
-  forall {R : Type.{u2}} {S : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_4 : CommRing.{u1} S] (f : RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_4)))) {x : S} {y : S} {z : S}, (RingHom.IsIntegralElem.{u2, u1} R S _inst_1 (CommRing.toRing.{u1} S _inst_4) f x) -> (RingHom.IsIntegralElem.{u2, u1} R S _inst_1 (CommRing.toRing.{u1} S _inst_4) f y) -> (Membership.mem.{u1, u1} S (Subring.{u1} S (CommRing.toRing.{u1} S _inst_4)) (SetLike.instMembership.{u1, u1} (Subring.{u1} S (CommRing.toRing.{u1} S _inst_4)) S (Subring.instSetLikeSubring.{u1} S (CommRing.toRing.{u1} S _inst_4))) z (Subring.closure.{u1} S (CommRing.toRing.{u1} S _inst_4) (Insert.insert.{u1, u1} S (Set.{u1} S) (Set.instInsertSet.{u1} S) x (Singleton.singleton.{u1, u1} S (Set.{u1} S) (Set.instSingletonSet.{u1} S) y)))) -> (RingHom.IsIntegralElem.{u2, u1} R S _inst_1 (CommRing.toRing.{u1} S _inst_4) f z)
-Case conversion may be inaccurate. Consider using '#align ring_hom.is_integral_of_mem_closure RingHom.is_integral_of_mem_closureₓ'. -/
 theorem RingHom.is_integral_of_mem_closure {x y z : S} (hx : f.IsIntegralElem x)
     (hy : f.IsIntegralElem y) (hz : z ∈ Subring.closure ({x, y} : Set S)) : f.IsIntegralElem z :=
   by
@@ -599,140 +461,62 @@ theorem RingHom.is_integral_of_mem_closure {x y z : S} (hx : f.IsIntegralElem x)
       (Algebra.mem_adjoin_iff.2 <| Subring.closure_mono (Set.subset_union_right _ _) hz)
 #align ring_hom.is_integral_of_mem_closure RingHom.is_integral_of_mem_closure
 
-/- warning: is_integral_of_mem_closure -> isIntegral_of_mem_closure is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_5 : Algebra.{u1, u2} R A (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))] {x : A} {y : A} {z : A}, (IsIntegral.{u1, u2} R A _inst_1 (CommRing.toRing.{u2} A _inst_2) _inst_5 x) -> (IsIntegral.{u1, u2} R A _inst_1 (CommRing.toRing.{u2} A _inst_2) _inst_5 y) -> (Membership.Mem.{u2, u2} A (Subring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (SetLike.hasMem.{u2, u2} (Subring.{u2} A (CommRing.toRing.{u2} A _inst_2)) A (Subring.setLike.{u2} A (CommRing.toRing.{u2} A _inst_2))) z (Subring.closure.{u2} A (CommRing.toRing.{u2} A _inst_2) (Insert.insert.{u2, u2} A (Set.{u2} A) (Set.hasInsert.{u2} A) x (Singleton.singleton.{u2, u2} A (Set.{u2} A) (Set.hasSingleton.{u2} A) y)))) -> (IsIntegral.{u1, u2} R A _inst_1 (CommRing.toRing.{u2} A _inst_2) _inst_5 z)
-but is expected to have type
-  forall {R : Type.{u2}} {A : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : CommRing.{u1} A] [_inst_5 : Algebra.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2))] {x : A} {y : A} {z : A}, (IsIntegral.{u2, u1} R A _inst_1 (CommRing.toRing.{u1} A _inst_2) _inst_5 x) -> (IsIntegral.{u2, u1} R A _inst_1 (CommRing.toRing.{u1} A _inst_2) _inst_5 y) -> (Membership.mem.{u1, u1} A (Subring.{u1} A (CommRing.toRing.{u1} A _inst_2)) (SetLike.instMembership.{u1, u1} (Subring.{u1} A (CommRing.toRing.{u1} A _inst_2)) A (Subring.instSetLikeSubring.{u1} A (CommRing.toRing.{u1} A _inst_2))) z (Subring.closure.{u1} A (CommRing.toRing.{u1} A _inst_2) (Insert.insert.{u1, u1} A (Set.{u1} A) (Set.instInsertSet.{u1} A) x (Singleton.singleton.{u1, u1} A (Set.{u1} A) (Set.instSingletonSet.{u1} A) y)))) -> (IsIntegral.{u2, u1} R A _inst_1 (CommRing.toRing.{u1} A _inst_2) _inst_5 z)
-Case conversion may be inaccurate. Consider using '#align is_integral_of_mem_closure isIntegral_of_mem_closureₓ'. -/
 theorem isIntegral_of_mem_closure {x y z : A} (hx : IsIntegral R x) (hy : IsIntegral R y)
     (hz : z ∈ Subring.closure ({x, y} : Set A)) : IsIntegral R z :=
   (algebraMap R A).is_integral_of_mem_closure hx hy hz
 #align is_integral_of_mem_closure isIntegral_of_mem_closure
 
-/- warning: ring_hom.is_integral_zero -> RingHom.is_integral_zero is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_4 : CommRing.{u2} S] (f : RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_4)))), RingHom.IsIntegralElem.{u1, u2} R S _inst_1 (CommRing.toRing.{u2} S _inst_4) f (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_4)))))))))
-but is expected to have type
-  forall {R : Type.{u2}} {S : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_4 : CommRing.{u1} S] (f : RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_4)))), RingHom.IsIntegralElem.{u2, u1} R S _inst_1 (CommRing.toRing.{u1} S _inst_4) f (OfNat.ofNat.{u1} S 0 (Zero.toOfNat0.{u1} S (CommMonoidWithZero.toZero.{u1} S (CommSemiring.toCommMonoidWithZero.{u1} S (CommRing.toCommSemiring.{u1} S _inst_4)))))
-Case conversion may be inaccurate. Consider using '#align ring_hom.is_integral_zero RingHom.is_integral_zeroₓ'. -/
 theorem RingHom.is_integral_zero : f.IsIntegralElem 0 :=
   f.map_zero ▸ f.is_integral_map
 #align ring_hom.is_integral_zero RingHom.is_integral_zero
 
-/- warning: is_integral_zero -> isIntegral_zero is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_5 : Algebra.{u1, u2} R A (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))], IsIntegral.{u1, u2} R A _inst_1 (CommRing.toRing.{u2} A _inst_2) _inst_5 (OfNat.ofNat.{u2} A 0 (OfNat.mk.{u2} A 0 (Zero.zero.{u2} A (MulZeroClass.toHasZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2)))))))))
-but is expected to have type
-  forall {R : Type.{u2}} {A : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : CommRing.{u1} A] [_inst_5 : Algebra.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2))], IsIntegral.{u2, u1} R A _inst_1 (CommRing.toRing.{u1} A _inst_2) _inst_5 (OfNat.ofNat.{u1} A 0 (Zero.toOfNat0.{u1} A (CommMonoidWithZero.toZero.{u1} A (CommSemiring.toCommMonoidWithZero.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)))))
-Case conversion may be inaccurate. Consider using '#align is_integral_zero isIntegral_zeroₓ'. -/
 theorem isIntegral_zero : IsIntegral R (0 : A) :=
   (algebraMap R A).is_integral_zero
 #align is_integral_zero isIntegral_zero
 
-/- warning: ring_hom.is_integral_one -> RingHom.is_integral_one is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_4 : CommRing.{u2} S] (f : RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_4)))), RingHom.IsIntegralElem.{u1, u2} R S _inst_1 (CommRing.toRing.{u2} S _inst_4) f (OfNat.ofNat.{u2} S 1 (OfNat.mk.{u2} S 1 (One.one.{u2} S (AddMonoidWithOne.toOne.{u2} S (AddGroupWithOne.toAddMonoidWithOne.{u2} S (AddCommGroupWithOne.toAddGroupWithOne.{u2} S (Ring.toAddCommGroupWithOne.{u2} S (CommRing.toRing.{u2} S _inst_4))))))))
-but is expected to have type
-  forall {R : Type.{u2}} {S : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_4 : CommRing.{u1} S] (f : RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_4)))), RingHom.IsIntegralElem.{u2, u1} R S _inst_1 (CommRing.toRing.{u1} S _inst_4) f (OfNat.ofNat.{u1} S 1 (One.toOfNat1.{u1} S (Semiring.toOne.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_4)))))
-Case conversion may be inaccurate. Consider using '#align ring_hom.is_integral_one RingHom.is_integral_oneₓ'. -/
 theorem RingHom.is_integral_one : f.IsIntegralElem 1 :=
   f.map_one ▸ f.is_integral_map
 #align ring_hom.is_integral_one RingHom.is_integral_one
 
-/- warning: is_integral_one -> isIntegral_one is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_5 : Algebra.{u1, u2} R A (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))], IsIntegral.{u1, u2} R A _inst_1 (CommRing.toRing.{u2} A _inst_2) _inst_5 (OfNat.ofNat.{u2} A 1 (OfNat.mk.{u2} A 1 (One.one.{u2} A (AddMonoidWithOne.toOne.{u2} A (AddGroupWithOne.toAddMonoidWithOne.{u2} A (AddCommGroupWithOne.toAddGroupWithOne.{u2} A (Ring.toAddCommGroupWithOne.{u2} A (CommRing.toRing.{u2} A _inst_2))))))))
-but is expected to have type
-  forall {R : Type.{u2}} {A : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : CommRing.{u1} A] [_inst_5 : Algebra.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2))], IsIntegral.{u2, u1} R A _inst_1 (CommRing.toRing.{u1} A _inst_2) _inst_5 (OfNat.ofNat.{u1} A 1 (One.toOfNat1.{u1} A (Semiring.toOne.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)))))
-Case conversion may be inaccurate. Consider using '#align is_integral_one isIntegral_oneₓ'. -/
 theorem isIntegral_one : IsIntegral R (1 : A) :=
   (algebraMap R A).is_integral_one
 #align is_integral_one isIntegral_one
 
-/- warning: ring_hom.is_integral_add -> RingHom.is_integral_add is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_4 : CommRing.{u2} S] (f : RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_4)))) {x : S} {y : S}, (RingHom.IsIntegralElem.{u1, u2} R S _inst_1 (CommRing.toRing.{u2} S _inst_4) f x) -> (RingHom.IsIntegralElem.{u1, u2} R S _inst_1 (CommRing.toRing.{u2} S _inst_4) f y) -> (RingHom.IsIntegralElem.{u1, u2} R S _inst_1 (CommRing.toRing.{u2} S _inst_4) f (HAdd.hAdd.{u2, u2, u2} S S S (instHAdd.{u2} S (Distrib.toHasAdd.{u2} S (Ring.toDistrib.{u2} S (CommRing.toRing.{u2} S _inst_4)))) x y))
-but is expected to have type
-  forall {R : Type.{u2}} {S : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_4 : CommRing.{u1} S] (f : RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_4)))) {x : S} {y : S}, (RingHom.IsIntegralElem.{u2, u1} R S _inst_1 (CommRing.toRing.{u1} S _inst_4) f x) -> (RingHom.IsIntegralElem.{u2, u1} R S _inst_1 (CommRing.toRing.{u1} S _inst_4) f y) -> (RingHom.IsIntegralElem.{u2, u1} R S _inst_1 (CommRing.toRing.{u1} S _inst_4) f (HAdd.hAdd.{u1, u1, u1} S S S (instHAdd.{u1} S (Distrib.toAdd.{u1} S (NonUnitalNonAssocSemiring.toDistrib.{u1} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} S (NonAssocRing.toNonUnitalNonAssocRing.{u1} S (Ring.toNonAssocRing.{u1} S (CommRing.toRing.{u1} S _inst_4))))))) x y))
-Case conversion may be inaccurate. Consider using '#align ring_hom.is_integral_add RingHom.is_integral_addₓ'. -/
 theorem RingHom.is_integral_add {x y : S} (hx : f.IsIntegralElem x) (hy : f.IsIntegralElem y) :
     f.IsIntegralElem (x + y) :=
   f.is_integral_of_mem_closure hx hy <|
     Subring.add_mem _ (Subring.subset_closure (Or.inl rfl)) (Subring.subset_closure (Or.inr rfl))
 #align ring_hom.is_integral_add RingHom.is_integral_add
 
-/- warning: is_integral_add -> isIntegral_add is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_5 : Algebra.{u1, u2} R A (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))] {x : A} {y : A}, (IsIntegral.{u1, u2} R A _inst_1 (CommRing.toRing.{u2} A _inst_2) _inst_5 x) -> (IsIntegral.{u1, u2} R A _inst_1 (CommRing.toRing.{u2} A _inst_2) _inst_5 y) -> (IsIntegral.{u1, u2} R A _inst_1 (CommRing.toRing.{u2} A _inst_2) _inst_5 (HAdd.hAdd.{u2, u2, u2} A A A (instHAdd.{u2} A (Distrib.toHasAdd.{u2} A (Ring.toDistrib.{u2} A (CommRing.toRing.{u2} A _inst_2)))) x y))
-but is expected to have type
-  forall {R : Type.{u2}} {A : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : CommRing.{u1} A] [_inst_5 : Algebra.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2))] {x : A} {y : A}, (IsIntegral.{u2, u1} R A _inst_1 (CommRing.toRing.{u1} A _inst_2) _inst_5 x) -> (IsIntegral.{u2, u1} R A _inst_1 (CommRing.toRing.{u1} A _inst_2) _inst_5 y) -> (IsIntegral.{u2, u1} R A _inst_1 (CommRing.toRing.{u1} A _inst_2) _inst_5 (HAdd.hAdd.{u1, u1, u1} A A A (instHAdd.{u1} A (Distrib.toAdd.{u1} A (NonUnitalNonAssocSemiring.toDistrib.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))))) x y))
-Case conversion may be inaccurate. Consider using '#align is_integral_add isIntegral_addₓ'. -/
 theorem isIntegral_add {x y : A} (hx : IsIntegral R x) (hy : IsIntegral R y) :
     IsIntegral R (x + y) :=
   (algebraMap R A).is_integral_add hx hy
 #align is_integral_add isIntegral_add
 
-/- warning: ring_hom.is_integral_neg -> RingHom.is_integral_neg is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_4 : CommRing.{u2} S] (f : RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_4)))) {x : S}, (RingHom.IsIntegralElem.{u1, u2} R S _inst_1 (CommRing.toRing.{u2} S _inst_4) f x) -> (RingHom.IsIntegralElem.{u1, u2} R S _inst_1 (CommRing.toRing.{u2} S _inst_4) f (Neg.neg.{u2} S (SubNegMonoid.toHasNeg.{u2} S (AddGroup.toSubNegMonoid.{u2} S (AddGroupWithOne.toAddGroup.{u2} S (AddCommGroupWithOne.toAddGroupWithOne.{u2} S (Ring.toAddCommGroupWithOne.{u2} S (CommRing.toRing.{u2} S _inst_4)))))) x))
-but is expected to have type
-  forall {R : Type.{u2}} {S : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_4 : CommRing.{u1} S] (f : RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_4)))) {x : S}, (RingHom.IsIntegralElem.{u2, u1} R S _inst_1 (CommRing.toRing.{u1} S _inst_4) f x) -> (RingHom.IsIntegralElem.{u2, u1} R S _inst_1 (CommRing.toRing.{u1} S _inst_4) f (Neg.neg.{u1} S (Ring.toNeg.{u1} S (CommRing.toRing.{u1} S _inst_4)) x))
-Case conversion may be inaccurate. Consider using '#align ring_hom.is_integral_neg RingHom.is_integral_negₓ'. -/
 theorem RingHom.is_integral_neg {x : S} (hx : f.IsIntegralElem x) : f.IsIntegralElem (-x) :=
   f.is_integral_of_mem_closure hx hx (Subring.neg_mem _ (Subring.subset_closure (Or.inl rfl)))
 #align ring_hom.is_integral_neg RingHom.is_integral_neg
 
-/- warning: is_integral_neg -> isIntegral_neg is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_5 : Algebra.{u1, u2} R A (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))] {x : A}, (IsIntegral.{u1, u2} R A _inst_1 (CommRing.toRing.{u2} A _inst_2) _inst_5 x) -> (IsIntegral.{u1, u2} R A _inst_1 (CommRing.toRing.{u2} A _inst_2) _inst_5 (Neg.neg.{u2} A (SubNegMonoid.toHasNeg.{u2} A (AddGroup.toSubNegMonoid.{u2} A (AddGroupWithOne.toAddGroup.{u2} A (AddCommGroupWithOne.toAddGroupWithOne.{u2} A (Ring.toAddCommGroupWithOne.{u2} A (CommRing.toRing.{u2} A _inst_2)))))) x))
-but is expected to have type
-  forall {R : Type.{u2}} {A : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : CommRing.{u1} A] [_inst_5 : Algebra.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2))] {x : A}, (IsIntegral.{u2, u1} R A _inst_1 (CommRing.toRing.{u1} A _inst_2) _inst_5 x) -> (IsIntegral.{u2, u1} R A _inst_1 (CommRing.toRing.{u1} A _inst_2) _inst_5 (Neg.neg.{u1} A (Ring.toNeg.{u1} A (CommRing.toRing.{u1} A _inst_2)) x))
-Case conversion may be inaccurate. Consider using '#align is_integral_neg isIntegral_negₓ'. -/
 theorem isIntegral_neg {x : A} (hx : IsIntegral R x) : IsIntegral R (-x) :=
   (algebraMap R A).is_integral_neg hx
 #align is_integral_neg isIntegral_neg
 
-/- warning: ring_hom.is_integral_sub -> RingHom.is_integral_sub is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_4 : CommRing.{u2} S] (f : RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_4)))) {x : S} {y : S}, (RingHom.IsIntegralElem.{u1, u2} R S _inst_1 (CommRing.toRing.{u2} S _inst_4) f x) -> (RingHom.IsIntegralElem.{u1, u2} R S _inst_1 (CommRing.toRing.{u2} S _inst_4) f y) -> (RingHom.IsIntegralElem.{u1, u2} R S _inst_1 (CommRing.toRing.{u2} S _inst_4) f (HSub.hSub.{u2, u2, u2} S S S (instHSub.{u2} S (SubNegMonoid.toHasSub.{u2} S (AddGroup.toSubNegMonoid.{u2} S (AddGroupWithOne.toAddGroup.{u2} S (AddCommGroupWithOne.toAddGroupWithOne.{u2} S (Ring.toAddCommGroupWithOne.{u2} S (CommRing.toRing.{u2} S _inst_4))))))) x y))
-but is expected to have type
-  forall {R : Type.{u2}} {S : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_4 : CommRing.{u1} S] (f : RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_4)))) {x : S} {y : S}, (RingHom.IsIntegralElem.{u2, u1} R S _inst_1 (CommRing.toRing.{u1} S _inst_4) f x) -> (RingHom.IsIntegralElem.{u2, u1} R S _inst_1 (CommRing.toRing.{u1} S _inst_4) f y) -> (RingHom.IsIntegralElem.{u2, u1} R S _inst_1 (CommRing.toRing.{u1} S _inst_4) f (HSub.hSub.{u1, u1, u1} S S S (instHSub.{u1} S (Ring.toSub.{u1} S (CommRing.toRing.{u1} S _inst_4))) x y))
-Case conversion may be inaccurate. Consider using '#align ring_hom.is_integral_sub RingHom.is_integral_subₓ'. -/
 theorem RingHom.is_integral_sub {x y : S} (hx : f.IsIntegralElem x) (hy : f.IsIntegralElem y) :
     f.IsIntegralElem (x - y) := by
   simpa only [sub_eq_add_neg] using f.is_integral_add hx (f.is_integral_neg hy)
 #align ring_hom.is_integral_sub RingHom.is_integral_sub
 
-/- warning: is_integral_sub -> isIntegral_sub is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_5 : Algebra.{u1, u2} R A (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))] {x : A} {y : A}, (IsIntegral.{u1, u2} R A _inst_1 (CommRing.toRing.{u2} A _inst_2) _inst_5 x) -> (IsIntegral.{u1, u2} R A _inst_1 (CommRing.toRing.{u2} A _inst_2) _inst_5 y) -> (IsIntegral.{u1, u2} R A _inst_1 (CommRing.toRing.{u2} A _inst_2) _inst_5 (HSub.hSub.{u2, u2, u2} A A A (instHSub.{u2} A (SubNegMonoid.toHasSub.{u2} A (AddGroup.toSubNegMonoid.{u2} A (AddGroupWithOne.toAddGroup.{u2} A (AddCommGroupWithOne.toAddGroupWithOne.{u2} A (Ring.toAddCommGroupWithOne.{u2} A (CommRing.toRing.{u2} A _inst_2))))))) x y))
-but is expected to have type
-  forall {R : Type.{u2}} {A : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : CommRing.{u1} A] [_inst_5 : Algebra.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2))] {x : A} {y : A}, (IsIntegral.{u2, u1} R A _inst_1 (CommRing.toRing.{u1} A _inst_2) _inst_5 x) -> (IsIntegral.{u2, u1} R A _inst_1 (CommRing.toRing.{u1} A _inst_2) _inst_5 y) -> (IsIntegral.{u2, u1} R A _inst_1 (CommRing.toRing.{u1} A _inst_2) _inst_5 (HSub.hSub.{u1, u1, u1} A A A (instHSub.{u1} A (Ring.toSub.{u1} A (CommRing.toRing.{u1} A _inst_2))) x y))
-Case conversion may be inaccurate. Consider using '#align is_integral_sub isIntegral_subₓ'. -/
 theorem isIntegral_sub {x y : A} (hx : IsIntegral R x) (hy : IsIntegral R y) :
     IsIntegral R (x - y) :=
   (algebraMap R A).is_integral_sub hx hy
 #align is_integral_sub isIntegral_sub
 
-/- warning: ring_hom.is_integral_mul -> RingHom.is_integral_mul is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_4 : CommRing.{u2} S] (f : RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_4)))) {x : S} {y : S}, (RingHom.IsIntegralElem.{u1, u2} R S _inst_1 (CommRing.toRing.{u2} S _inst_4) f x) -> (RingHom.IsIntegralElem.{u1, u2} R S _inst_1 (CommRing.toRing.{u2} S _inst_4) f y) -> (RingHom.IsIntegralElem.{u1, u2} R S _inst_1 (CommRing.toRing.{u2} S _inst_4) f (HMul.hMul.{u2, u2, u2} S S S (instHMul.{u2} S (Distrib.toHasMul.{u2} S (Ring.toDistrib.{u2} S (CommRing.toRing.{u2} S _inst_4)))) x y))
-but is expected to have type
-  forall {R : Type.{u2}} {S : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_4 : CommRing.{u1} S] (f : RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_4)))) {x : S} {y : S}, (RingHom.IsIntegralElem.{u2, u1} R S _inst_1 (CommRing.toRing.{u1} S _inst_4) f x) -> (RingHom.IsIntegralElem.{u2, u1} R S _inst_1 (CommRing.toRing.{u1} S _inst_4) f y) -> (RingHom.IsIntegralElem.{u2, u1} R S _inst_1 (CommRing.toRing.{u1} S _inst_4) f (HMul.hMul.{u1, u1, u1} S S S (instHMul.{u1} S (NonUnitalNonAssocRing.toMul.{u1} S (NonAssocRing.toNonUnitalNonAssocRing.{u1} S (Ring.toNonAssocRing.{u1} S (CommRing.toRing.{u1} S _inst_4))))) x y))
-Case conversion may be inaccurate. Consider using '#align ring_hom.is_integral_mul RingHom.is_integral_mulₓ'. -/
 theorem RingHom.is_integral_mul {x y : S} (hx : f.IsIntegralElem x) (hy : f.IsIntegralElem y) :
     f.IsIntegralElem (x * y) :=
   f.is_integral_of_mem_closure hx hy
     (Subring.mul_mem _ (Subring.subset_closure (Or.inl rfl)) (Subring.subset_closure (Or.inr rfl)))
 #align ring_hom.is_integral_mul RingHom.is_integral_mul
 
-/- warning: is_integral_mul -> isIntegral_mul is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_5 : Algebra.{u1, u2} R A (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))] {x : A} {y : A}, (IsIntegral.{u1, u2} R A _inst_1 (CommRing.toRing.{u2} A _inst_2) _inst_5 x) -> (IsIntegral.{u1, u2} R A _inst_1 (CommRing.toRing.{u2} A _inst_2) _inst_5 y) -> (IsIntegral.{u1, u2} R A _inst_1 (CommRing.toRing.{u2} A _inst_2) _inst_5 (HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (Distrib.toHasMul.{u2} A (Ring.toDistrib.{u2} A (CommRing.toRing.{u2} A _inst_2)))) x y))
-but is expected to have type
-  forall {R : Type.{u2}} {A : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : CommRing.{u1} A] [_inst_5 : Algebra.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2))] {x : A} {y : A}, (IsIntegral.{u2, u1} R A _inst_1 (CommRing.toRing.{u1} A _inst_2) _inst_5 x) -> (IsIntegral.{u2, u1} R A _inst_1 (CommRing.toRing.{u1} A _inst_2) _inst_5 y) -> (IsIntegral.{u2, u1} R A _inst_1 (CommRing.toRing.{u1} A _inst_2) _inst_5 (HMul.hMul.{u1, u1, u1} A A A (instHMul.{u1} A (NonUnitalNonAssocRing.toMul.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) x y))
-Case conversion may be inaccurate. Consider using '#align is_integral_mul isIntegral_mulₓ'. -/
 theorem isIntegral_mul {x y : A} (hx : IsIntegral R x) (hy : IsIntegral R y) :
     IsIntegral R (x * y) :=
   (algebraMap R A).is_integral_mul hx hy
@@ -747,12 +531,6 @@ theorem isIntegral_smul [Algebra S A] [Algebra R S] [IsScalarTower R S A] {x : A
 #align is_integral_smul isIntegral_smul
 -/
 
-/- warning: is_integral_of_pow -> isIntegral_of_pow is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_5 : Algebra.{u1, u2} R A (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))] {x : A} {n : Nat}, (LT.lt.{0} Nat Nat.hasLt (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero))) n) -> (IsIntegral.{u1, u2} R A _inst_1 (CommRing.toRing.{u2} A _inst_2) _inst_5 (HPow.hPow.{u2, 0, u2} A Nat A (instHPow.{u2, 0} A Nat (Monoid.Pow.{u2} A (Ring.toMonoid.{u2} A (CommRing.toRing.{u2} A _inst_2)))) x n)) -> (IsIntegral.{u1, u2} R A _inst_1 (CommRing.toRing.{u2} A _inst_2) _inst_5 x)
-but is expected to have type
-  forall {R : Type.{u2}} {A : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : CommRing.{u1} A] [_inst_5 : Algebra.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2))] {x : A} {n : Nat}, (LT.lt.{0} Nat instLTNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)) n) -> (IsIntegral.{u2, u1} R A _inst_1 (CommRing.toRing.{u1} A _inst_2) _inst_5 (HPow.hPow.{u1, 0, u1} A Nat A (instHPow.{u1, 0} A Nat (Monoid.Pow.{u1} A (MonoidWithZero.toMonoid.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)))))) x n)) -> (IsIntegral.{u2, u1} R A _inst_1 (CommRing.toRing.{u1} A _inst_2) _inst_5 x)
-Case conversion may be inaccurate. Consider using '#align is_integral_of_pow isIntegral_of_powₓ'. -/
 theorem isIntegral_of_pow {x : A} {n : ℕ} (hn : 0 < n) (hx : IsIntegral R <| x ^ n) :
     IsIntegral R x := by
   rcases hx with ⟨p, ⟨hmonic, heval⟩⟩
@@ -776,9 +554,6 @@ def integralClosure : Subalgebra R A
 #align integral_closure integralClosure
 -/
 
-/- warning: mem_integral_closure_iff_mem_fg -> mem_integralClosure_iff_mem_FG is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align mem_integral_closure_iff_mem_fg mem_integralClosure_iff_mem_FGₓ'. -/
 theorem mem_integralClosure_iff_mem_FG {r : A} :
     r ∈ integralClosure R A ↔ ∃ M : Subalgebra R A, M.toSubmodule.FG ∧ r ∈ M :=
   ⟨fun hr =>
@@ -788,12 +563,6 @@ theorem mem_integralClosure_iff_mem_FG {r : A} :
 
 variable {R} {A}
 
-/- warning: adjoin_le_integral_closure -> adjoin_le_integralClosure is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_5 : Algebra.{u1, u2} R A (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))] {x : A}, (IsIntegral.{u1, u2} R A _inst_1 (CommRing.toRing.{u2} A _inst_2) _inst_5 x) -> (LE.le.{u2} (Subalgebra.{u1, u2} R A (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_5) (Preorder.toHasLe.{u2} (Subalgebra.{u1, u2} R A (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_5) (PartialOrder.toPreorder.{u2} (Subalgebra.{u1, u2} R A (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_5) (SetLike.partialOrder.{u2, u2} (Subalgebra.{u1, u2} R A (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_5) A (Subalgebra.setLike.{u1, u2} R A (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_5)))) (Algebra.adjoin.{u1, u2} R A (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_5 (Singleton.singleton.{u2, u2} A (Set.{u2} A) (Set.hasSingleton.{u2} A) x)) (integralClosure.{u1, u2} R A _inst_1 _inst_2 _inst_5))
-but is expected to have type
-  forall {R : Type.{u2}} {A : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : CommRing.{u1} A] [_inst_5 : Algebra.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2))] {x : A}, (IsIntegral.{u2, u1} R A _inst_1 (CommRing.toRing.{u1} A _inst_2) _inst_5 x) -> (LE.le.{u1} (Subalgebra.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_5) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_5) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_5) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Subalgebra.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_5) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Subalgebra.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_5) (Algebra.instCompleteLatticeSubalgebra.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_5))))) (Algebra.adjoin.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_5 (Singleton.singleton.{u1, u1} A (Set.{u1} A) (Set.instSingletonSet.{u1} A) x)) (integralClosure.{u2, u1} R A _inst_1 _inst_2 _inst_5))
-Case conversion may be inaccurate. Consider using '#align adjoin_le_integral_closure adjoin_le_integralClosureₓ'. -/
 theorem adjoin_le_integralClosure {x : A} (hx : IsIntegral R x) :
     Algebra.adjoin R {x} ≤ integralClosure R A :=
   by
@@ -802,12 +571,6 @@ theorem adjoin_le_integralClosure {x : A} (hx : IsIntegral R x) :
   exact hx
 #align adjoin_le_integral_closure adjoin_le_integralClosure
 
-/- warning: le_integral_closure_iff_is_integral -> le_integralClosure_iff_isIntegral is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_5 : Algebra.{u1, u2} R A (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))] {S : Subalgebra.{u1, u2} R A (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_5}, Iff (LE.le.{u2} (Subalgebra.{u1, u2} R A (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_5) (Preorder.toHasLe.{u2} (Subalgebra.{u1, u2} R A (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_5) (PartialOrder.toPreorder.{u2} (Subalgebra.{u1, u2} R A (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_5) (SetLike.partialOrder.{u2, u2} (Subalgebra.{u1, u2} R A (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_5) A (Subalgebra.setLike.{u1, u2} R A (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_5)))) S (integralClosure.{u1, u2} R A _inst_1 _inst_2 _inst_5)) (Algebra.IsIntegral.{u1, u2} R (coeSort.{succ u2, succ (succ u2)} (Subalgebra.{u1, u2} R A (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_5) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Subalgebra.{u1, u2} R A (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_5) A (Subalgebra.setLike.{u1, u2} R A (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_5)) S) _inst_1 (Subalgebra.toRing.{u1, u2} R A _inst_1 (CommRing.toRing.{u2} A _inst_2) _inst_5 S) (Subalgebra.algebra.{u1, u2} R A (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_5 S))
-but is expected to have type
-  forall {R : Type.{u2}} {A : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : CommRing.{u1} A] [_inst_5 : Algebra.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2))] {S : Subalgebra.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_5}, Iff (LE.le.{u1} (Subalgebra.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_5) (Preorder.toLE.{u1} (Subalgebra.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_5) (PartialOrder.toPreorder.{u1} (Subalgebra.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_5) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Subalgebra.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_5) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Subalgebra.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_5) (Algebra.instCompleteLatticeSubalgebra.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_5))))) S (integralClosure.{u2, u1} R A _inst_1 _inst_2 _inst_5)) (Algebra.IsIntegral.{u2, u1} R (Subtype.{succ u1} A (fun (x : A) => Membership.mem.{u1, u1} A (Subalgebra.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_5) (SetLike.instMembership.{u1, u1} (Subalgebra.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_5) A (Subalgebra.instSetLikeSubalgebra.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_5)) x S)) _inst_1 (Subalgebra.toRing.{u2, u1} R A _inst_1 (CommRing.toRing.{u1} A _inst_2) _inst_5 S) (Subalgebra.algebra.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_5 S))
-Case conversion may be inaccurate. Consider using '#align le_integral_closure_iff_is_integral le_integralClosure_iff_isIntegralₓ'. -/
 theorem le_integralClosure_iff_isIntegral {S : Subalgebra R A} :
     S ≤ integralClosure R A ↔ Algebra.IsIntegral R S :=
   SetLike.forall.symm.trans
@@ -816,17 +579,11 @@ theorem le_integralClosure_iff_isIntegral {S : Subalgebra R A} :
         isIntegral_algebraMap_iff Subtype.coe_injective)
 #align le_integral_closure_iff_is_integral le_integralClosure_iff_isIntegral
 
-/- warning: is_integral_sup -> isIntegral_sup is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align is_integral_sup isIntegral_supₓ'. -/
 theorem isIntegral_sup {S T : Subalgebra R A} :
     Algebra.IsIntegral R ↥(S ⊔ T) ↔ Algebra.IsIntegral R S ∧ Algebra.IsIntegral R T := by
   simp only [← le_integralClosure_iff_isIntegral, sup_le_iff]
 #align is_integral_sup isIntegral_sup
 
-/- warning: integral_closure_map_alg_equiv -> integralClosure_map_algEquiv is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align integral_closure_map_alg_equiv integralClosure_map_algEquivₓ'. -/
 /-- Mapping an integral closure along an `alg_equiv` gives the integral closure. -/
 theorem integralClosure_map_algEquiv (f : A ≃ₐ[R] B) :
     (integralClosure R A).map (f : A →ₐ[R] B) = integralClosure R B :=
@@ -841,12 +598,6 @@ theorem integralClosure_map_algEquiv (f : A ≃ₐ[R] B) :
     simp
 #align integral_closure_map_alg_equiv integralClosure_map_algEquiv
 
-/- warning: integral_closure.is_integral -> integralClosure.isIntegral is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_5 : Algebra.{u1, u2} R A (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))] (x : coeSort.{succ u2, succ (succ u2)} (Subalgebra.{u1, u2} R A (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_5) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Subalgebra.{u1, u2} R A (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_5) A (Subalgebra.setLike.{u1, u2} R A (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_5)) (integralClosure.{u1, u2} R A _inst_1 _inst_2 _inst_5)), IsIntegral.{u1, u2} R (coeSort.{succ u2, succ (succ u2)} (Subalgebra.{u1, u2} R A (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_5) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Subalgebra.{u1, u2} R A (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_5) A (Subalgebra.setLike.{u1, u2} R A (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_5)) (integralClosure.{u1, u2} R A _inst_1 _inst_2 _inst_5)) _inst_1 (Subalgebra.toRing.{u1, u2} R A _inst_1 (CommRing.toRing.{u2} A _inst_2) _inst_5 (integralClosure.{u1, u2} R A _inst_1 _inst_2 _inst_5)) (Subalgebra.algebra.{u1, u2} R A (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_5 (integralClosure.{u1, u2} R A _inst_1 _inst_2 _inst_5)) x
-but is expected to have type
-  forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_5 : Algebra.{u1, u2} R A (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))] (x : Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Subalgebra.{u1, u2} R A (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_5) (SetLike.instMembership.{u2, u2} (Subalgebra.{u1, u2} R A (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_5) A (Subalgebra.instSetLikeSubalgebra.{u1, u2} R A (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_5)) x (integralClosure.{u1, u2} R A _inst_1 _inst_2 _inst_5))), IsIntegral.{u1, u2} R (Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Subalgebra.{u1, u2} R A (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_5) (SetLike.instMembership.{u2, u2} (Subalgebra.{u1, u2} R A (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_5) A (Subalgebra.instSetLikeSubalgebra.{u1, u2} R A (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_5)) x (integralClosure.{u1, u2} R A _inst_1 _inst_2 _inst_5))) _inst_1 (Subalgebra.toRing.{u1, u2} R A _inst_1 (CommRing.toRing.{u2} A _inst_2) _inst_5 (integralClosure.{u1, u2} R A _inst_1 _inst_2 _inst_5)) (Subalgebra.algebra.{u1, u2} R A (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_5 (integralClosure.{u1, u2} R A _inst_1 _inst_2 _inst_5)) x
-Case conversion may be inaccurate. Consider using '#align integral_closure.is_integral integralClosure.isIntegralₓ'. -/
 theorem integralClosure.isIntegral (x : integralClosure R A) : IsIntegral R x :=
   let ⟨p, hpm, hpx⟩ := x.2
   ⟨p, hpm,
@@ -854,12 +605,6 @@ theorem integralClosure.isIntegral (x : integralClosure R A) : IsIntegral R x :=
       rwa [← aeval_def, Subtype.val_eq_coe, ← Subalgebra.val_apply, aeval_alg_hom_apply] at hpx⟩
 #align integral_closure.is_integral integralClosure.isIntegral
 
-/- warning: ring_hom.is_integral_of_is_integral_mul_unit -> RingHom.is_integral_of_is_integral_mul_unit is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_4 : CommRing.{u2} S] (f : RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_4)))) (x : S) (y : S) (r : R), (Eq.{succ u2} S (HMul.hMul.{u2, u2, u2} S S S (instHMul.{u2} S (Distrib.toHasMul.{u2} S (Ring.toDistrib.{u2} S (CommRing.toRing.{u2} S _inst_4)))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_4)))) (fun (_x : RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_4)))) => R -> S) (RingHom.hasCoeToFun.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_4)))) f r) y) (OfNat.ofNat.{u2} S 1 (OfNat.mk.{u2} S 1 (One.one.{u2} S (AddMonoidWithOne.toOne.{u2} S (AddGroupWithOne.toAddMonoidWithOne.{u2} S (AddCommGroupWithOne.toAddGroupWithOne.{u2} S (Ring.toAddCommGroupWithOne.{u2} S (CommRing.toRing.{u2} S _inst_4))))))))) -> (RingHom.IsIntegralElem.{u1, u2} R S _inst_1 (CommRing.toRing.{u2} S _inst_4) f (HMul.hMul.{u2, u2, u2} S S S (instHMul.{u2} S (Distrib.toHasMul.{u2} S (Ring.toDistrib.{u2} S (CommRing.toRing.{u2} S _inst_4)))) x y)) -> (RingHom.IsIntegralElem.{u1, u2} R S _inst_1 (CommRing.toRing.{u2} S _inst_4) f x)
-but is expected to have type
-  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_4 : CommRing.{u2} S] (f : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_4)))) (x : S) (y : S) (r : R), (Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) r) (HMul.hMul.{u2, u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) r) S ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) r) (instHMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) r) (NonUnitalNonAssocRing.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) r) (NonAssocRing.toNonUnitalNonAssocRing.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) r) (Ring.toNonAssocRing.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) r) (CommRing.toRing.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) r) _inst_4))))) (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_4)))) 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_4)))) 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_4))))) (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_4)))) 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_4)))) (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_4)))) R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_4))) (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_4))))))) f r) y) (OfNat.ofNat.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) r) 1 (One.toOfNat1.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) r) (Semiring.toOne.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) r) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) r) (CommRing.toCommSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) r) _inst_4)))))) -> (RingHom.IsIntegralElem.{u1, u2} R S _inst_1 (CommRing.toRing.{u2} S _inst_4) f (HMul.hMul.{u2, u2, u2} S S S (instHMul.{u2} S (NonUnitalNonAssocRing.toMul.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_4))))) x y)) -> (RingHom.IsIntegralElem.{u1, u2} R S _inst_1 (CommRing.toRing.{u2} S _inst_4) f x)
-Case conversion may be inaccurate. Consider using '#align ring_hom.is_integral_of_is_integral_mul_unit RingHom.is_integral_of_is_integral_mul_unitₓ'. -/
 theorem RingHom.is_integral_of_is_integral_mul_unit (x y : S) (r : R) (hr : f r * y = 1)
     (hx : f.IsIntegralElem (x * y)) : f.IsIntegralElem x :=
   by
@@ -869,23 +614,11 @@ theorem RingHom.is_integral_of_is_integral_mul_unit (x y : S) (r : R) (hr : f r
   rw [mul_comm x y, ← mul_assoc, hr, one_mul]
 #align ring_hom.is_integral_of_is_integral_mul_unit RingHom.is_integral_of_is_integral_mul_unit
 
-/- warning: is_integral_of_is_integral_mul_unit -> isIntegral_of_isIntegral_mul_unit is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_5 : Algebra.{u1, u2} R A (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))] {x : A} {y : A} {r : R}, (Eq.{succ u2} A (HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (Distrib.toHasMul.{u2} A (Ring.toDistrib.{u2} A (CommRing.toRing.{u2} A _inst_2)))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)))) (fun (_x : RingHom.{u1, u2} R A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)))) => R -> A) (RingHom.hasCoeToFun.{u1, u2} R A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)))) (algebraMap.{u1, u2} R A (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_5) r) y) (OfNat.ofNat.{u2} A 1 (OfNat.mk.{u2} A 1 (One.one.{u2} A (AddMonoidWithOne.toOne.{u2} A (AddGroupWithOne.toAddMonoidWithOne.{u2} A (AddCommGroupWithOne.toAddGroupWithOne.{u2} A (Ring.toAddCommGroupWithOne.{u2} A (CommRing.toRing.{u2} A _inst_2))))))))) -> (IsIntegral.{u1, u2} R A _inst_1 (CommRing.toRing.{u2} A _inst_2) _inst_5 (HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (Distrib.toHasMul.{u2} A (Ring.toDistrib.{u2} A (CommRing.toRing.{u2} A _inst_2)))) x y)) -> (IsIntegral.{u1, u2} R A _inst_1 (CommRing.toRing.{u2} A _inst_2) _inst_5 x)
-but is expected to have type
-  forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_5 : Algebra.{u1, u2} R A (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))] {x : A} {y : A} {r : R}, (Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => A) r) (HMul.hMul.{u2, u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => A) r) A ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => A) r) (instHMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => A) r) (NonUnitalNonAssocRing.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => A) r) (NonAssocRing.toNonUnitalNonAssocRing.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => A) r) (Ring.toNonAssocRing.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => A) r) (CommRing.toRing.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => A) r) _inst_2))))) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (RingHom.{u1, u2} R A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => A) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (RingHom.{u1, u2} R A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)))) R A (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} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)))) R A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)))) R A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))) (RingHom.instRingHomClassRingHom.{u1, u2} R A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))))))) (algebraMap.{u1, u2} R A (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_5) r) y) (OfNat.ofNat.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => A) r) 1 (One.toOfNat1.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => A) r) (Semiring.toOne.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => A) r) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => A) r) (CommRing.toCommSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => A) r) _inst_2)))))) -> (IsIntegral.{u1, u2} R A _inst_1 (CommRing.toRing.{u2} A _inst_2) _inst_5 (HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (NonUnitalNonAssocRing.toMul.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) x y)) -> (IsIntegral.{u1, u2} R A _inst_1 (CommRing.toRing.{u2} A _inst_2) _inst_5 x)
-Case conversion may be inaccurate. Consider using '#align is_integral_of_is_integral_mul_unit isIntegral_of_isIntegral_mul_unitₓ'. -/
 theorem isIntegral_of_isIntegral_mul_unit {x y : A} {r : R} (hr : algebraMap R A r * y = 1)
     (hx : IsIntegral R (x * y)) : IsIntegral R x :=
   (algebraMap R A).is_integral_of_is_integral_mul_unit x y r hr hx
 #align is_integral_of_is_integral_mul_unit isIntegral_of_isIntegral_mul_unit
 
-/- warning: is_integral_of_mem_closure' -> isIntegral_of_mem_closure' is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_5 : Algebra.{u1, u2} R A (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))] (G : Set.{u2} A), (forall (x : A), (Membership.Mem.{u2, u2} A (Set.{u2} A) (Set.hasMem.{u2} A) x G) -> (IsIntegral.{u1, u2} R A _inst_1 (CommRing.toRing.{u2} A _inst_2) _inst_5 x)) -> (forall (x : A), (Membership.Mem.{u2, u2} A (Subring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (SetLike.hasMem.{u2, u2} (Subring.{u2} A (CommRing.toRing.{u2} A _inst_2)) A (Subring.setLike.{u2} A (CommRing.toRing.{u2} A _inst_2))) x (Subring.closure.{u2} A (CommRing.toRing.{u2} A _inst_2) G)) -> (IsIntegral.{u1, u2} R A _inst_1 (CommRing.toRing.{u2} A _inst_2) _inst_5 x))
-but is expected to have type
-  forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_5 : Algebra.{u1, u2} R A (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))] (G : Set.{u2} A), (forall (x : A), (Membership.mem.{u2, u2} A (Set.{u2} A) (Set.instMembershipSet.{u2} A) x G) -> (IsIntegral.{u1, u2} R A _inst_1 (CommRing.toRing.{u2} A _inst_2) _inst_5 x)) -> (forall (x : A), (Membership.mem.{u2, u2} A (Subring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (SetLike.instMembership.{u2, u2} (Subring.{u2} A (CommRing.toRing.{u2} A _inst_2)) A (Subring.instSetLikeSubring.{u2} A (CommRing.toRing.{u2} A _inst_2))) x (Subring.closure.{u2} A (CommRing.toRing.{u2} A _inst_2) G)) -> (IsIntegral.{u1, u2} R A _inst_1 (CommRing.toRing.{u2} A _inst_2) _inst_5 x))
-Case conversion may be inaccurate. Consider using '#align is_integral_of_mem_closure' isIntegral_of_mem_closure'ₓ'. -/
 /-- Generalization of `is_integral_of_mem_closure` bootstrapped up from that lemma -/
 theorem isIntegral_of_mem_closure' (G : Set A) (hG : ∀ x ∈ G, IsIntegral R x) :
     ∀ x ∈ Subring.closure G, IsIntegral R x := fun x hx =>
@@ -893,43 +626,19 @@ theorem isIntegral_of_mem_closure' (G : Set A) (hG : ∀ x ∈ G, IsIntegral R x
     (fun _ => isIntegral_neg) fun _ _ => isIntegral_mul
 #align is_integral_of_mem_closure' isIntegral_of_mem_closure'
 
-/- warning: is_integral_of_mem_closure'' -> is_integral_of_mem_closure'' is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {S : Type.{u2}} [_inst_7 : CommRing.{u2} S] {f : RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_7)))} (G : Set.{u2} S), (forall (x : S), (Membership.Mem.{u2, u2} S (Set.{u2} S) (Set.hasMem.{u2} S) x G) -> (RingHom.IsIntegralElem.{u1, u2} R S _inst_1 (CommRing.toRing.{u2} S _inst_7) f x)) -> (forall (x : S), (Membership.Mem.{u2, u2} S (Subring.{u2} S (CommRing.toRing.{u2} S _inst_7)) (SetLike.hasMem.{u2, u2} (Subring.{u2} S (CommRing.toRing.{u2} S _inst_7)) S (Subring.setLike.{u2} S (CommRing.toRing.{u2} S _inst_7))) x (Subring.closure.{u2} S (CommRing.toRing.{u2} S _inst_7) G)) -> (RingHom.IsIntegralElem.{u1, u2} R S _inst_1 (CommRing.toRing.{u2} S _inst_7) f x))
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {S : Type.{u2}} [_inst_7 : CommRing.{u2} S] {f : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_7)))} (G : Set.{u2} S), (forall (x : S), (Membership.mem.{u2, u2} S (Set.{u2} S) (Set.instMembershipSet.{u2} S) x G) -> (RingHom.IsIntegralElem.{u1, u2} R S _inst_1 (CommRing.toRing.{u2} S _inst_7) f x)) -> (forall (x : S), (Membership.mem.{u2, u2} S (Subring.{u2} S (CommRing.toRing.{u2} S _inst_7)) (SetLike.instMembership.{u2, u2} (Subring.{u2} S (CommRing.toRing.{u2} S _inst_7)) S (Subring.instSetLikeSubring.{u2} S (CommRing.toRing.{u2} S _inst_7))) x (Subring.closure.{u2} S (CommRing.toRing.{u2} S _inst_7) G)) -> (RingHom.IsIntegralElem.{u1, u2} R S _inst_1 (CommRing.toRing.{u2} S _inst_7) f x))
-Case conversion may be inaccurate. Consider using '#align is_integral_of_mem_closure'' is_integral_of_mem_closure''ₓ'. -/
 theorem is_integral_of_mem_closure'' {S : Type _} [CommRing S] {f : R →+* S} (G : Set S)
     (hG : ∀ x ∈ G, f.IsIntegralElem x) : ∀ x ∈ Subring.closure G, f.IsIntegralElem x := fun x hx =>
   @isIntegral_of_mem_closure' R S _ _ f.toAlgebra G hG x hx
 #align is_integral_of_mem_closure'' is_integral_of_mem_closure''
 
-/- warning: is_integral.pow -> IsIntegral.pow is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_5 : Algebra.{u1, u2} R A (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))] {x : A}, (IsIntegral.{u1, u2} R A _inst_1 (CommRing.toRing.{u2} A _inst_2) _inst_5 x) -> (forall (n : Nat), IsIntegral.{u1, u2} R A _inst_1 (CommRing.toRing.{u2} A _inst_2) _inst_5 (HPow.hPow.{u2, 0, u2} A Nat A (instHPow.{u2, 0} A Nat (Monoid.Pow.{u2} A (Ring.toMonoid.{u2} A (CommRing.toRing.{u2} A _inst_2)))) x n))
-but is expected to have type
-  forall {R : Type.{u2}} {A : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : CommRing.{u1} A] [_inst_5 : Algebra.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2))] {x : A}, (IsIntegral.{u2, u1} R A _inst_1 (CommRing.toRing.{u1} A _inst_2) _inst_5 x) -> (forall (n : Nat), IsIntegral.{u2, u1} R A _inst_1 (CommRing.toRing.{u1} A _inst_2) _inst_5 (HPow.hPow.{u1, 0, u1} A Nat A (instHPow.{u1, 0} A Nat (Monoid.Pow.{u1} A (MonoidWithZero.toMonoid.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)))))) x n))
-Case conversion may be inaccurate. Consider using '#align is_integral.pow IsIntegral.powₓ'. -/
 theorem IsIntegral.pow {x : A} (h : IsIntegral R x) (n : ℕ) : IsIntegral R (x ^ n) :=
   (integralClosure R A).pow_mem h n
 #align is_integral.pow IsIntegral.pow
 
-/- warning: is_integral.nsmul -> IsIntegral.nsmul is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_5 : Algebra.{u1, u2} R A (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))] {x : A}, (IsIntegral.{u1, u2} R A _inst_1 (CommRing.toRing.{u2} A _inst_2) _inst_5 x) -> (forall (n : Nat), IsIntegral.{u1, u2} R A _inst_1 (CommRing.toRing.{u2} A _inst_2) _inst_5 (SMul.smul.{0, u2} Nat A (AddMonoid.SMul.{u2} A (AddMonoidWithOne.toAddMonoid.{u2} A (AddGroupWithOne.toAddMonoidWithOne.{u2} A (AddCommGroupWithOne.toAddGroupWithOne.{u2} A (Ring.toAddCommGroupWithOne.{u2} A (CommRing.toRing.{u2} A _inst_2)))))) n x))
-but is expected to have type
-  forall {R : Type.{u2}} {A : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : CommRing.{u1} A] [_inst_5 : Algebra.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2))] {x : A}, (IsIntegral.{u2, u1} R A _inst_1 (CommRing.toRing.{u1} A _inst_2) _inst_5 x) -> (forall (n : Nat), IsIntegral.{u2, u1} R A _inst_1 (CommRing.toRing.{u1} A _inst_2) _inst_5 (HSMul.hSMul.{0, u1, u1} Nat A A (instHSMul.{0, u1} Nat A (AddMonoid.SMul.{u1} A (AddMonoidWithOne.toAddMonoid.{u1} A (AddGroupWithOne.toAddMonoidWithOne.{u1} A (Ring.toAddGroupWithOne.{u1} A (CommRing.toRing.{u1} A _inst_2)))))) n x))
-Case conversion may be inaccurate. Consider using '#align is_integral.nsmul IsIntegral.nsmulₓ'. -/
 theorem IsIntegral.nsmul {x : A} (h : IsIntegral R x) (n : ℕ) : IsIntegral R (n • x) :=
   (integralClosure R A).nsmul_mem h n
 #align is_integral.nsmul IsIntegral.nsmul
 
-/- warning: is_integral.zsmul -> IsIntegral.zsmul is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_5 : Algebra.{u1, u2} R A (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))] {x : A}, (IsIntegral.{u1, u2} R A _inst_1 (CommRing.toRing.{u2} A _inst_2) _inst_5 x) -> (forall (n : Int), IsIntegral.{u1, u2} R A _inst_1 (CommRing.toRing.{u2} A _inst_2) _inst_5 (SMul.smul.{0, u2} Int A (SubNegMonoid.SMulInt.{u2} A (AddGroup.toSubNegMonoid.{u2} A (AddGroupWithOne.toAddGroup.{u2} A (AddCommGroupWithOne.toAddGroupWithOne.{u2} A (Ring.toAddCommGroupWithOne.{u2} A (CommRing.toRing.{u2} A _inst_2)))))) n x))
-but is expected to have type
-  forall {R : Type.{u2}} {A : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : CommRing.{u1} A] [_inst_5 : Algebra.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2))] {x : A}, (IsIntegral.{u2, u1} R A _inst_1 (CommRing.toRing.{u1} A _inst_2) _inst_5 x) -> (forall (n : Int), IsIntegral.{u2, u1} R A _inst_1 (CommRing.toRing.{u1} A _inst_2) _inst_5 (HSMul.hSMul.{0, u1, u1} Int A A (instHSMul.{0, u1} Int A (SubNegMonoid.SMulInt.{u1} A (AddGroup.toSubNegMonoid.{u1} A (AddGroupWithOne.toAddGroup.{u1} A (Ring.toAddGroupWithOne.{u1} A (CommRing.toRing.{u1} A _inst_2)))))) n x))
-Case conversion may be inaccurate. Consider using '#align is_integral.zsmul IsIntegral.zsmulₓ'. -/
 theorem IsIntegral.zsmul {x : A} (h : IsIntegral R x) (n : ℤ) : IsIntegral R (n • x) :=
   (integralClosure R A).zsmul_mem h n
 #align is_integral.zsmul IsIntegral.zsmul
@@ -948,23 +657,11 @@ theorem IsIntegral.multiset_sum {s : Multiset A} (h : ∀ x ∈ s, IsIntegral R
 #align is_integral.multiset_sum IsIntegral.multiset_sum
 -/
 
-/- warning: is_integral.prod -> IsIntegral.prod is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_5 : Algebra.{u1, u2} R A (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))] {α : Type.{u3}} {s : Finset.{u3} α} (f : α -> A), (forall (x : α), (Membership.Mem.{u3, u3} α (Finset.{u3} α) (Finset.hasMem.{u3} α) x s) -> (IsIntegral.{u1, u2} R A _inst_1 (CommRing.toRing.{u2} A _inst_2) _inst_5 (f x))) -> (IsIntegral.{u1, u2} R A _inst_1 (CommRing.toRing.{u2} A _inst_2) _inst_5 (Finset.prod.{u2, u3} A α (CommRing.toCommMonoid.{u2} A _inst_2) s (fun (x : α) => f x)))
-but is expected to have type
-  forall {R : Type.{u2}} {A : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : CommRing.{u1} A] [_inst_5 : Algebra.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2))] {α : Type.{u3}} {s : Finset.{u3} α} (f : α -> A), (forall (x : α), (Membership.mem.{u3, u3} α (Finset.{u3} α) (Finset.instMembershipFinset.{u3} α) x s) -> (IsIntegral.{u2, u1} R A _inst_1 (CommRing.toRing.{u1} A _inst_2) _inst_5 (f x))) -> (IsIntegral.{u2, u1} R A _inst_1 (CommRing.toRing.{u1} A _inst_2) _inst_5 (Finset.prod.{u1, u3} A α (CommRing.toCommMonoid.{u1} A _inst_2) s (fun (x : α) => f x)))
-Case conversion may be inaccurate. Consider using '#align is_integral.prod IsIntegral.prodₓ'. -/
 theorem IsIntegral.prod {α : Type _} {s : Finset α} (f : α → A) (h : ∀ x ∈ s, IsIntegral R (f x)) :
     IsIntegral R (∏ x in s, f x) :=
   (integralClosure R A).prod_mem h
 #align is_integral.prod IsIntegral.prod
 
-/- warning: is_integral.sum -> IsIntegral.sum is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_5 : Algebra.{u1, u2} R A (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))] {α : Type.{u3}} {s : Finset.{u3} α} (f : α -> A), (forall (x : α), (Membership.Mem.{u3, u3} α (Finset.{u3} α) (Finset.hasMem.{u3} α) x s) -> (IsIntegral.{u1, u2} R A _inst_1 (CommRing.toRing.{u2} A _inst_2) _inst_5 (f x))) -> (IsIntegral.{u1, u2} R A _inst_1 (CommRing.toRing.{u2} A _inst_2) _inst_5 (Finset.sum.{u2, u3} A α (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) s (fun (x : α) => f x)))
-but is expected to have type
-  forall {R : Type.{u2}} {A : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : CommRing.{u1} A] [_inst_5 : Algebra.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2))] {α : Type.{u3}} {s : Finset.{u3} α} (f : α -> A), (forall (x : α), (Membership.mem.{u3, u3} α (Finset.{u3} α) (Finset.instMembershipFinset.{u3} α) x s) -> (IsIntegral.{u2, u1} R A _inst_1 (CommRing.toRing.{u1} A _inst_2) _inst_5 (f x))) -> (IsIntegral.{u2, u1} R A _inst_1 (CommRing.toRing.{u1} A _inst_2) _inst_5 (Finset.sum.{u1, u3} A α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) s (fun (x : α) => f x)))
-Case conversion may be inaccurate. Consider using '#align is_integral.sum IsIntegral.sumₓ'. -/
 theorem IsIntegral.sum {α : Type _} {s : Finset α} (f : α → A) (h : ∀ x ∈ s, IsIntegral R (f x)) :
     IsIntegral R (∑ x in s, f x) :=
   (integralClosure R A).sum_mem h
@@ -979,12 +676,6 @@ theorem IsIntegral.det {n : Type _} [Fintype n] [DecidableEq n] {M : Matrix n n
 #align is_integral.det IsIntegral.det
 -/
 
-/- warning: is_integral.pow_iff -> IsIntegral.pow_iff is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_5 : Algebra.{u1, u2} R A (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))] {x : A} {n : Nat}, (LT.lt.{0} Nat Nat.hasLt (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero))) n) -> (Iff (IsIntegral.{u1, u2} R A _inst_1 (CommRing.toRing.{u2} A _inst_2) _inst_5 (HPow.hPow.{u2, 0, u2} A Nat A (instHPow.{u2, 0} A Nat (Monoid.Pow.{u2} A (Ring.toMonoid.{u2} A (CommRing.toRing.{u2} A _inst_2)))) x n)) (IsIntegral.{u1, u2} R A _inst_1 (CommRing.toRing.{u2} A _inst_2) _inst_5 x))
-but is expected to have type
-  forall {R : Type.{u2}} {A : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : CommRing.{u1} A] [_inst_5 : Algebra.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2))] {x : A} {n : Nat}, (LT.lt.{0} Nat instLTNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)) n) -> (Iff (IsIntegral.{u2, u1} R A _inst_1 (CommRing.toRing.{u1} A _inst_2) _inst_5 (HPow.hPow.{u1, 0, u1} A Nat A (instHPow.{u1, 0} A Nat (Monoid.Pow.{u1} A (MonoidWithZero.toMonoid.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)))))) x n)) (IsIntegral.{u2, u1} R A _inst_1 (CommRing.toRing.{u1} A _inst_2) _inst_5 x))
-Case conversion may be inaccurate. Consider using '#align is_integral.pow_iff IsIntegral.pow_iffₓ'. -/
 @[simp]
 theorem IsIntegral.pow_iff {x : A} {n : ℕ} (hn : 0 < n) : IsIntegral R (x ^ n) ↔ IsIntegral R x :=
   ⟨isIntegral_of_pow hn, fun hx => IsIntegral.pow hx n⟩
@@ -992,12 +683,6 @@ theorem IsIntegral.pow_iff {x : A} {n : ℕ} (hn : 0 < n) : IsIntegral R (x ^ n)
 
 open TensorProduct
 
-/- warning: is_integral.tmul -> IsIntegral.tmul is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {A : Type.{u2}} {B : Type.{u3}} [_inst_1 : CommRing.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : CommRing.{u3} B] [_inst_5 : Algebra.{u1, u2} R A (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))] [_inst_6 : Algebra.{u1, u3} R B (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u3} B (CommRing.toRing.{u3} B _inst_3))] (x : A) {y : B}, (IsIntegral.{u1, u3} R B _inst_1 (CommRing.toRing.{u3} B _inst_3) _inst_6 y) -> (IsIntegral.{u2, max u2 u3} A (TensorProduct.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) A B (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (AddCommGroup.toAddCommMonoid.{u3} B (NonUnitalNonAssocRing.toAddCommGroup.{u3} B (NonAssocRing.toNonUnitalNonAssocRing.{u3} B (Ring.toNonAssocRing.{u3} B (CommRing.toRing.{u3} B _inst_3))))) (Algebra.toModule.{u1, u2} R A (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_5) (Algebra.toModule.{u1, u3} R B (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u3} B (CommRing.toRing.{u3} B _inst_3)) _inst_6)) _inst_2 (Algebra.TensorProduct.TensorProduct.ring.{u1, u2, u3} R _inst_1 A (CommRing.toRing.{u2} A _inst_2) _inst_5 B (CommRing.toRing.{u3} B _inst_3) _inst_6) (Algebra.TensorProduct.leftAlgebra.{u1, u2, u3, u2} R (CommRing.toCommSemiring.{u1} R _inst_1) A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_5 B (Ring.toSemiring.{u3} B (CommRing.toRing.{u3} B _inst_3)) _inst_6 A (CommRing.toCommSemiring.{u2} A _inst_2) _inst_5 (Algebra.id.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (IsScalarTower.right.{u1, u2} R A (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_5)) (TensorProduct.tmul.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) A B (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (AddCommGroup.toAddCommMonoid.{u3} B (NonUnitalNonAssocRing.toAddCommGroup.{u3} B (NonAssocRing.toNonUnitalNonAssocRing.{u3} B (Ring.toNonAssocRing.{u3} B (CommRing.toRing.{u3} B _inst_3))))) (Algebra.toModule.{u1, u2} R A (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_5) (Algebra.toModule.{u1, u3} R B (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u3} B (CommRing.toRing.{u3} B _inst_3)) _inst_6) x y))
-but is expected to have type
-  forall {R : Type.{u3}} {A : Type.{u1}} {B : Type.{u2}} [_inst_1 : CommRing.{u3} R] [_inst_2 : CommRing.{u1} A] [_inst_3 : CommRing.{u2} B] [_inst_5 : Algebra.{u3, u1} R A (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2))] [_inst_6 : Algebra.{u3, u2} R B (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u2} B (CommRing.toCommSemiring.{u2} B _inst_3))] (x : A) {y : B}, (IsIntegral.{u3, u2} R B _inst_1 (CommRing.toRing.{u2} B _inst_3) _inst_6 y) -> (IsIntegral.{u1, max u2 u1} A (TensorProduct.{u3, u1, u2} R (CommRing.toCommSemiring.{u3} R _inst_1) A B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} B (NonAssocRing.toNonUnitalNonAssocRing.{u2} B (Ring.toNonAssocRing.{u2} B (CommRing.toRing.{u2} B _inst_3))))) (Algebra.toModule.{u3, u1} R A (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_5) (Algebra.toModule.{u3, u2} R B (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u2} B (CommRing.toCommSemiring.{u2} B _inst_3)) _inst_6)) _inst_2 (Algebra.TensorProduct.instRingTensorProductToCommSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingToModuleToSemiringToModuleToSemiring.{u3, u1, u2} R _inst_1 A (CommRing.toRing.{u1} A _inst_2) _inst_5 B (CommRing.toRing.{u2} B _inst_3) _inst_6) (Algebra.TensorProduct.leftAlgebra.{u3, u1, u2, u1} R (CommRing.toCommSemiring.{u3} R _inst_1) A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_5 B (CommSemiring.toSemiring.{u2} B (CommRing.toCommSemiring.{u2} B _inst_3)) _inst_6 A (CommRing.toCommSemiring.{u1} A _inst_2) _inst_5 (Algebra.id.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) (IsScalarTower.right.{u3, u1} R A (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_5)) (TensorProduct.tmul.{u3, u1, u2} R (CommRing.toCommSemiring.{u3} R _inst_1) A B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} B (NonAssocRing.toNonUnitalNonAssocRing.{u2} B (Ring.toNonAssocRing.{u2} B (CommRing.toRing.{u2} B _inst_3))))) (Algebra.toModule.{u3, u1} R A (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_5) (Algebra.toModule.{u3, u2} R B (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u2} B (CommRing.toCommSemiring.{u2} B _inst_3)) _inst_6) x y))
-Case conversion may be inaccurate. Consider using '#align is_integral.tmul IsIntegral.tmulₓ'. -/
 theorem IsIntegral.tmul (x : A) {y : B} (h : IsIntegral R y) : IsIntegral A (x ⊗ₜ[R] y) :=
   by
   obtain ⟨p, hp, hp'⟩ := h
@@ -1028,12 +713,6 @@ noncomputable def normalizeScaleRoots (p : R[X]) : R[X] :=
 #align normalize_scale_roots normalizeScaleRoots
 -/
 
-/- warning: normalize_scale_roots_coeff_mul_leading_coeff_pow -> normalizeScaleRoots_coeff_mul_leadingCoeff_pow is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] (p : Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (i : Nat), (LE.le.{0} Nat Nat.hasLe (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))) (Polynomial.natDegree.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) p)) -> (Eq.{succ u1} R (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Polynomial.coeff.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (normalizeScaleRoots.{u1} R _inst_1 p) i) (HPow.hPow.{u1, 0, u1} R Nat R (instHPow.{u1, 0} R Nat (Monoid.Pow.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Polynomial.leadingCoeff.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) p) i)) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Polynomial.coeff.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) p i) (HPow.hPow.{u1, 0, u1} R Nat R (instHPow.{u1, 0} R Nat (Monoid.Pow.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Polynomial.leadingCoeff.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) p) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat Nat.hasSub) (Polynomial.natDegree.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) p) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))))
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] (p : Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (i : Nat), (LE.le.{0} Nat instLENat (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)) (Polynomial.natDegree.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) p)) -> (Eq.{succ u1} R (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (NonUnitalNonAssocRing.toMul.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Polynomial.coeff.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (normalizeScaleRoots.{u1} R _inst_1 p) i) (HPow.hPow.{u1, 0, u1} R Nat R (instHPow.{u1, 0} R Nat (Monoid.Pow.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Polynomial.leadingCoeff.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) p) i)) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (NonUnitalNonAssocRing.toMul.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Polynomial.coeff.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) p i) (HPow.hPow.{u1, 0, u1} R Nat R (instHPow.{u1, 0} R Nat (Monoid.Pow.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (Polynomial.leadingCoeff.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) p) (HSub.hSub.{0, 0, 0} Nat Nat Nat (instHSub.{0} Nat instSubNat) (Polynomial.natDegree.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) p) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))))
-Case conversion may be inaccurate. Consider using '#align normalize_scale_roots_coeff_mul_leading_coeff_pow normalizeScaleRoots_coeff_mul_leadingCoeff_powₓ'. -/
 theorem normalizeScaleRoots_coeff_mul_leadingCoeff_pow (i : ℕ) (hp : 1 ≤ natDegree p) :
     (normalizeScaleRoots p).coeff i * p.leadingCoeff ^ i =
       p.coeff i * p.leadingCoeff ^ (p.natDegree - 1) :=
@@ -1066,12 +745,6 @@ theorem leadingCoeff_smul_normalizeScaleRoots (p : R[X]) :
 #align leading_coeff_smul_normalize_scale_roots leadingCoeff_smul_normalizeScaleRoots
 -/
 
-/- warning: normalize_scale_roots_support -> normalizeScaleRoots_support is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] (p : Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))), LE.le.{0} (Finset.{0} Nat) (Preorder.toHasLe.{0} (Finset.{0} Nat) (PartialOrder.toPreorder.{0} (Finset.{0} Nat) (Finset.partialOrder.{0} Nat))) (Polynomial.support.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (normalizeScaleRoots.{u1} R _inst_1 p)) (Polynomial.support.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) p)
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] (p : Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))), LE.le.{0} (Finset.{0} Nat) (Preorder.toLE.{0} (Finset.{0} Nat) (PartialOrder.toPreorder.{0} (Finset.{0} Nat) (Finset.partialOrder.{0} Nat))) (Polynomial.support.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (normalizeScaleRoots.{u1} R _inst_1 p)) (Polynomial.support.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) p)
-Case conversion may be inaccurate. Consider using '#align normalize_scale_roots_support normalizeScaleRoots_supportₓ'. -/
 theorem normalizeScaleRoots_support : (normalizeScaleRoots p).support ≤ p.support :=
   by
   intro x
@@ -1092,9 +765,6 @@ theorem normalizeScaleRoots_degree : (normalizeScaleRoots p).degree = p.degree :
 #align normalize_scale_roots_degree normalizeScaleRoots_degree
 -/
 
-/- warning: normalize_scale_roots_eval₂_leading_coeff_mul -> normalizeScaleRoots_eval₂_leadingCoeff_mul is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align normalize_scale_roots_eval₂_leading_coeff_mul normalizeScaleRoots_eval₂_leadingCoeff_mulₓ'. -/
 theorem normalizeScaleRoots_eval₂_leadingCoeff_mul (h : 1 ≤ p.natDegree) (f : R →+* S) (x : S) :
     (normalizeScaleRoots p).eval₂ f (f p.leadingCoeff * x) =
       f p.leadingCoeff ^ (p.natDegree - 1) * p.eval₂ f x :=
@@ -1118,12 +788,6 @@ theorem normalizeScaleRoots_monic (h : p ≠ 0) : (normalizeScaleRoots p).Monic
 #align normalize_scale_roots_monic normalizeScaleRoots_monic
 -/
 
-/- warning: ring_hom.is_integral_elem_leading_coeff_mul -> RingHom.isIntegralElem_leadingCoeff_mul is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_4 : CommRing.{u2} S] (f : RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_4)))) (p : Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (x : S), (Eq.{succ u2} S (Polynomial.eval₂.{u1, u2} R S (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_4)) f 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_4)))))))))) -> (RingHom.IsIntegralElem.{u1, u2} R S _inst_1 (CommRing.toRing.{u2} S _inst_4) f (HMul.hMul.{u2, u2, u2} S S S (instHMul.{u2} S (Distrib.toHasMul.{u2} S (Ring.toDistrib.{u2} S (CommRing.toRing.{u2} S _inst_4)))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_4)))) (fun (_x : RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_4)))) => R -> S) (RingHom.hasCoeToFun.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_4)))) f (Polynomial.leadingCoeff.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) p)) x))
-but is expected to have type
-  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_4 : CommRing.{u2} S] (f : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_4)))) (p : Polynomial.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (x : S), (Eq.{succ u2} S (Polynomial.eval₂.{u1, u2} R S (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_4)) f x p) (OfNat.ofNat.{u2} S 0 (Zero.toOfNat0.{u2} S (CommMonoidWithZero.toZero.{u2} S (CommSemiring.toCommMonoidWithZero.{u2} S (CommRing.toCommSemiring.{u2} S _inst_4)))))) -> (RingHom.IsIntegralElem.{u1, u2} R S _inst_1 (CommRing.toRing.{u2} S _inst_4) f (HMul.hMul.{u2, u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) (Polynomial.leadingCoeff.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) p)) S ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) (Polynomial.leadingCoeff.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) p)) (instHMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) (Polynomial.leadingCoeff.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) p)) (NonUnitalNonAssocRing.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) (Polynomial.leadingCoeff.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) p)) (NonAssocRing.toNonUnitalNonAssocRing.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) (Polynomial.leadingCoeff.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) p)) (Ring.toNonAssocRing.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) (Polynomial.leadingCoeff.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) p)) (CommRing.toRing.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) (Polynomial.leadingCoeff.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) p)) _inst_4))))) (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_4)))) 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_4)))) 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_4))))) (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_4)))) 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_4)))) (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_4)))) R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_4))) (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_4))))))) f (Polynomial.leadingCoeff.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) p)) x))
-Case conversion may be inaccurate. Consider using '#align ring_hom.is_integral_elem_leading_coeff_mul RingHom.isIntegralElem_leadingCoeff_mulₓ'. -/
 /-- Given a `p : R[X]` and a `x : S` such that `p.eval₂ f x = 0`,
 `f p.leading_coeff * x` is integral. -/
 theorem RingHom.isIntegralElem_leadingCoeff_mul (h : p.eval₂ f x = 0) :
@@ -1145,9 +809,6 @@ theorem RingHom.isIntegralElem_leadingCoeff_mul (h : p.eval₂ f x = 0) :
       rw [eq_C_of_nat_degree_eq_zero h', map_C, h, C_eq_zero]
 #align ring_hom.is_integral_elem_leading_coeff_mul RingHom.isIntegralElem_leadingCoeff_mul
 
-/- warning: is_integral_leading_coeff_smul -> isIntegral_leadingCoeff_smul is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align is_integral_leading_coeff_smul isIntegral_leadingCoeff_smulₓ'. -/
 /-- Given a `p : R[X]` and a root `x : S`,
 then `p.leading_coeff • x : S` is integral over `R`. -/
 theorem isIntegral_leadingCoeff_smul [Algebra R S] (h : aeval x p = 0) :
@@ -1177,12 +838,6 @@ class IsIntegralClosure (A R B : Type _) [CommRing R] [CommSemiring A] [CommRing
 #align is_integral_closure IsIntegralClosure
 -/
 
-/- warning: integral_closure.is_integral_closure -> integralClosure.isIntegralClosure is a dubious translation:
-lean 3 declaration is
-  forall (R : Type.{u1}) (A : Type.{u2}) [_inst_1 : CommRing.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))], IsIntegralClosure.{u2, u1, u2} (coeSort.{succ u2, succ (succ u2)} (Subalgebra.{u1, u2} R A (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Subalgebra.{u1, u2} R A (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3) A (Subalgebra.setLike.{u1, u2} R A (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3)) (integralClosure.{u1, u2} R A _inst_1 _inst_2 _inst_3)) R A _inst_1 (Subalgebra.toCommSemiring.{u1, u2} R A (CommRing.toCommSemiring.{u1} R _inst_1) (CommRing.toCommSemiring.{u2} A _inst_2) _inst_3 (integralClosure.{u1, u2} R A _inst_1 _inst_2 _inst_3)) _inst_2 _inst_3 (Subalgebra.toAlgebra.{u2, u1, u2} A R A (CommRing.toCommSemiring.{u1} R _inst_1) (CommRing.toCommSemiring.{u2} A _inst_2) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_3 (Algebra.id.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (integralClosure.{u1, u2} R A _inst_1 _inst_2 _inst_3))
-but is expected to have type
-  forall (R : Type.{u1}) (A : Type.{u2}) [_inst_1 : CommRing.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : Algebra.{u1, u2} R A (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))], IsIntegralClosure.{u2, u1, u2} (Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Subalgebra.{u1, u2} R A (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3) (SetLike.instMembership.{u2, u2} (Subalgebra.{u1, u2} R A (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3) A (Subalgebra.instSetLikeSubalgebra.{u1, u2} R A (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3)) x (integralClosure.{u1, u2} R A _inst_1 _inst_2 _inst_3))) R A _inst_1 (Subalgebra.toCommSemiring.{u1, u2} R A (CommRing.toCommSemiring.{u1} R _inst_1) (CommRing.toCommSemiring.{u2} A _inst_2) _inst_3 (integralClosure.{u1, u2} R A _inst_1 _inst_2 _inst_3)) _inst_2 _inst_3 (Subalgebra.toAlgebra.{u2, u1, u2} A R A (CommRing.toCommSemiring.{u1} R _inst_1) (CommRing.toCommSemiring.{u2} A _inst_2) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_3 (Algebra.id.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (integralClosure.{u1, u2} R A _inst_1 _inst_2 _inst_3))
-Case conversion may be inaccurate. Consider using '#align integral_closure.is_integral_closure integralClosure.isIntegralClosureₓ'. -/
 instance integralClosure.isIntegralClosure (R A : Type _) [CommRing R] [CommRing A] [Algebra R A] :
     IsIntegralClosure (integralClosure R A) R A :=
   ⟨Subtype.coe_injective, fun x => ⟨fun h => ⟨⟨x, h⟩, rfl⟩, by rintro ⟨⟨_, h⟩, rfl⟩; exact h⟩⟩
@@ -1196,30 +851,15 @@ variable [Algebra R B] [Algebra A B] [IsIntegralClosure A R B]
 
 variable (R) {A} (B)
 
-/- warning: is_integral_closure.is_integral -> IsIntegralClosure.isIntegral is a dubious translation:
-lean 3 declaration is
-  forall (R : Type.{u1}) {A : Type.{u2}} (B : Type.{u3}) [_inst_1 : CommRing.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : CommRing.{u3} B] [_inst_4 : Algebra.{u1, u3} R B (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u3} B (CommRing.toRing.{u3} B _inst_3))] [_inst_5 : Algebra.{u2, u3} A B (CommRing.toCommSemiring.{u2} A _inst_2) (Ring.toSemiring.{u3} B (CommRing.toRing.{u3} B _inst_3))] [_inst_6 : IsIntegralClosure.{u2, u1, u3} A R B _inst_1 (CommRing.toCommSemiring.{u2} A _inst_2) _inst_3 _inst_4 _inst_5] [_inst_7 : Algebra.{u1, u2} R A (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))] [_inst_8 : IsScalarTower.{u1, u2, u3} R A B (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)))))))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (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} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)))))))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)))))))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_7))))) (SMulZeroClass.toHasSmul.{u2, u3} A B (AddZeroClass.toHasZero.{u3} B (AddMonoid.toAddZeroClass.{u3} B (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} B (Semiring.toNonAssocSemiring.{u3} B (Ring.toSemiring.{u3} B (CommRing.toRing.{u3} B _inst_3)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} A B (MulZeroClass.toHasZero.{u2} A (MulZeroOneClass.toMulZeroClass.{u2} A (MonoidWithZero.toMulZeroOneClass.{u2} A (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)))))) (AddZeroClass.toHasZero.{u3} B (AddMonoid.toAddZeroClass.{u3} B (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} B (Semiring.toNonAssocSemiring.{u3} B (Ring.toSemiring.{u3} B (CommRing.toRing.{u3} B _inst_3)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} A B (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))) (AddZeroClass.toHasZero.{u3} B (AddMonoid.toAddZeroClass.{u3} B (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} B (Semiring.toNonAssocSemiring.{u3} B (Ring.toSemiring.{u3} B (CommRing.toRing.{u3} B _inst_3)))))))) (Module.toMulActionWithZero.{u2, u3} A B (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} B (Semiring.toNonAssocSemiring.{u3} B (Ring.toSemiring.{u3} B (CommRing.toRing.{u3} B _inst_3))))) (Algebra.toModule.{u2, u3} A B (CommRing.toCommSemiring.{u2} A _inst_2) (Ring.toSemiring.{u3} B (CommRing.toRing.{u3} B _inst_3)) _inst_5))))) (SMulZeroClass.toHasSmul.{u1, u3} R B (AddZeroClass.toHasZero.{u3} B (AddMonoid.toAddZeroClass.{u3} B (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} B (Semiring.toNonAssocSemiring.{u3} B (Ring.toSemiring.{u3} B (CommRing.toRing.{u3} B _inst_3)))))))) (SMulWithZero.toSmulZeroClass.{u1, u3} R B (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} B (AddMonoid.toAddZeroClass.{u3} B (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} B (Semiring.toNonAssocSemiring.{u3} B (Ring.toSemiring.{u3} B (CommRing.toRing.{u3} B _inst_3)))))))) (MulActionWithZero.toSMulWithZero.{u1, u3} R B (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u3} B (AddMonoid.toAddZeroClass.{u3} B (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} B (Semiring.toNonAssocSemiring.{u3} B (Ring.toSemiring.{u3} B (CommRing.toRing.{u3} B _inst_3)))))))) (Module.toMulActionWithZero.{u1, u3} R B (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} B (Semiring.toNonAssocSemiring.{u3} B (Ring.toSemiring.{u3} B (CommRing.toRing.{u3} B _inst_3))))) (Algebra.toModule.{u1, u3} R B (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u3} B (CommRing.toRing.{u3} B _inst_3)) _inst_4)))))] (x : A), IsIntegral.{u1, u2} R A _inst_1 (CommRing.toRing.{u2} A _inst_2) _inst_7 x
-but is expected to have type
-  forall (R : Type.{u3}) {A : Type.{u2}} (B : Type.{u1}) [_inst_1 : CommRing.{u3} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : CommRing.{u1} B] [_inst_4 : Algebra.{u3, u1} R B (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u1} B (CommRing.toCommSemiring.{u1} B _inst_3))] [_inst_5 : Algebra.{u2, u1} A B (CommRing.toCommSemiring.{u2} A _inst_2) (CommSemiring.toSemiring.{u1} B (CommRing.toCommSemiring.{u1} B _inst_3))] [_inst_6 : IsIntegralClosure.{u2, u3, u1} A R B _inst_1 (CommRing.toCommSemiring.{u2} A _inst_2) _inst_3 _inst_4 _inst_5] [_inst_7 : Algebra.{u3, u2} R A (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))] [_inst_8 : IsScalarTower.{u3, u2, u1} R A B (Algebra.toSMul.{u3, u2} R A (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_7) (Algebra.toSMul.{u2, u1} A B (CommRing.toCommSemiring.{u2} A _inst_2) (CommSemiring.toSemiring.{u1} B (CommRing.toCommSemiring.{u1} B _inst_3)) _inst_5) (Algebra.toSMul.{u3, u1} R B (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u1} B (CommRing.toCommSemiring.{u1} B _inst_3)) _inst_4)] (x : A), IsIntegral.{u3, u2} R A _inst_1 (CommRing.toRing.{u2} A _inst_2) _inst_7 x
-Case conversion may be inaccurate. Consider using '#align is_integral_closure.is_integral IsIntegralClosure.isIntegralₓ'. -/
 protected theorem isIntegral [Algebra R A] [IsScalarTower R A B] (x : A) : IsIntegral R x :=
   (isIntegral_algebraMap_iff (algebraMap_injective A R B)).mp <|
     show IsIntegral R (algebraMap A B x) from isIntegral_iff.mpr ⟨x, rfl⟩
 #align is_integral_closure.is_integral IsIntegralClosure.isIntegral
 
-/- warning: is_integral_closure.is_integral_algebra -> IsIntegralClosure.isIntegral_algebra is a dubious translation:
-lean 3 declaration is
-  forall (R : Type.{u1}) {A : Type.{u2}} (B : Type.{u3}) [_inst_1 : CommRing.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : CommRing.{u3} B] [_inst_4 : Algebra.{u1, u3} R B (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u3} B (CommRing.toRing.{u3} B _inst_3))] [_inst_5 : Algebra.{u2, u3} A B (CommRing.toCommSemiring.{u2} A _inst_2) (Ring.toSemiring.{u3} B (CommRing.toRing.{u3} B _inst_3))] [_inst_6 : IsIntegralClosure.{u2, u1, u3} A R B _inst_1 (CommRing.toCommSemiring.{u2} A _inst_2) _inst_3 _inst_4 _inst_5] [_inst_7 : Algebra.{u1, u2} R A (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))] [_inst_8 : IsScalarTower.{u1, u2, u3} R A B (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)))))))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (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} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)))))))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)))))))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_7))))) (SMulZeroClass.toHasSmul.{u2, u3} A B (AddZeroClass.toHasZero.{u3} B (AddMonoid.toAddZeroClass.{u3} B (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} B (Semiring.toNonAssocSemiring.{u3} B (Ring.toSemiring.{u3} B (CommRing.toRing.{u3} B _inst_3)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} A B (MulZeroClass.toHasZero.{u2} A (MulZeroOneClass.toMulZeroClass.{u2} A (MonoidWithZero.toMulZeroOneClass.{u2} A (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)))))) (AddZeroClass.toHasZero.{u3} B (AddMonoid.toAddZeroClass.{u3} B (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} B (Semiring.toNonAssocSemiring.{u3} B (Ring.toSemiring.{u3} B (CommRing.toRing.{u3} B _inst_3)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} A B (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))) (AddZeroClass.toHasZero.{u3} B (AddMonoid.toAddZeroClass.{u3} B (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} B (Semiring.toNonAssocSemiring.{u3} B (Ring.toSemiring.{u3} B (CommRing.toRing.{u3} B _inst_3)))))))) (Module.toMulActionWithZero.{u2, u3} A B (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} B (Semiring.toNonAssocSemiring.{u3} B (Ring.toSemiring.{u3} B (CommRing.toRing.{u3} B _inst_3))))) (Algebra.toModule.{u2, u3} A B (CommRing.toCommSemiring.{u2} A _inst_2) (Ring.toSemiring.{u3} B (CommRing.toRing.{u3} B _inst_3)) _inst_5))))) (SMulZeroClass.toHasSmul.{u1, u3} R B (AddZeroClass.toHasZero.{u3} B (AddMonoid.toAddZeroClass.{u3} B (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} B (Semiring.toNonAssocSemiring.{u3} B (Ring.toSemiring.{u3} B (CommRing.toRing.{u3} B _inst_3)))))))) (SMulWithZero.toSmulZeroClass.{u1, u3} R B (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} B (AddMonoid.toAddZeroClass.{u3} B (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} B (Semiring.toNonAssocSemiring.{u3} B (Ring.toSemiring.{u3} B (CommRing.toRing.{u3} B _inst_3)))))))) (MulActionWithZero.toSMulWithZero.{u1, u3} R B (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u3} B (AddMonoid.toAddZeroClass.{u3} B (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} B (Semiring.toNonAssocSemiring.{u3} B (Ring.toSemiring.{u3} B (CommRing.toRing.{u3} B _inst_3)))))))) (Module.toMulActionWithZero.{u1, u3} R B (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} B (Semiring.toNonAssocSemiring.{u3} B (Ring.toSemiring.{u3} B (CommRing.toRing.{u3} B _inst_3))))) (Algebra.toModule.{u1, u3} R B (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u3} B (CommRing.toRing.{u3} B _inst_3)) _inst_4)))))], Algebra.IsIntegral.{u1, u2} R A _inst_1 (CommRing.toRing.{u2} A _inst_2) _inst_7
-but is expected to have type
-  forall (R : Type.{u3}) {A : Type.{u2}} (B : Type.{u1}) [_inst_1 : CommRing.{u3} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : CommRing.{u1} B] [_inst_4 : Algebra.{u3, u1} R B (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u1} B (CommRing.toCommSemiring.{u1} B _inst_3))] [_inst_5 : Algebra.{u2, u1} A B (CommRing.toCommSemiring.{u2} A _inst_2) (CommSemiring.toSemiring.{u1} B (CommRing.toCommSemiring.{u1} B _inst_3))] [_inst_6 : IsIntegralClosure.{u2, u3, u1} A R B _inst_1 (CommRing.toCommSemiring.{u2} A _inst_2) _inst_3 _inst_4 _inst_5] [_inst_7 : Algebra.{u3, u2} R A (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))] [_inst_8 : IsScalarTower.{u3, u2, u1} R A B (Algebra.toSMul.{u3, u2} R A (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_7) (Algebra.toSMul.{u2, u1} A B (CommRing.toCommSemiring.{u2} A _inst_2) (CommSemiring.toSemiring.{u1} B (CommRing.toCommSemiring.{u1} B _inst_3)) _inst_5) (Algebra.toSMul.{u3, u1} R B (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u1} B (CommRing.toCommSemiring.{u1} B _inst_3)) _inst_4)], Algebra.IsIntegral.{u3, u2} R A _inst_1 (CommRing.toRing.{u2} A _inst_2) _inst_7
-Case conversion may be inaccurate. Consider using '#align is_integral_closure.is_integral_algebra IsIntegralClosure.isIntegral_algebraₓ'. -/
 theorem isIntegral_algebra [Algebra R A] [IsScalarTower R A B] : Algebra.IsIntegral R A := fun x =>
   IsIntegralClosure.isIntegral R B x
 #align is_integral_closure.is_integral_algebra IsIntegralClosure.isIntegral_algebra
 
-/- warning: is_integral_closure.no_zero_smul_divisors -> IsIntegralClosure.noZeroSMulDivisors is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align is_integral_closure.no_zero_smul_divisors IsIntegralClosure.noZeroSMulDivisorsₓ'. -/
 theorem noZeroSMulDivisors [Algebra R A] [IsScalarTower R A B] [NoZeroSMulDivisors R B] :
     NoZeroSMulDivisors R A :=
   by
@@ -1238,66 +878,33 @@ noncomputable def mk' (x : B) (hx : IsIntegral R x) : A :=
 #align is_integral_closure.mk' IsIntegralClosure.mk'
 -/
 
-/- warning: is_integral_closure.algebra_map_mk' -> IsIntegralClosure.algebraMap_mk' is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} (A : Type.{u2}) {B : Type.{u3}} [_inst_1 : CommRing.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : CommRing.{u3} B] [_inst_4 : Algebra.{u1, u3} R B (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u3} B (CommRing.toRing.{u3} B _inst_3))] [_inst_5 : Algebra.{u2, u3} A B (CommRing.toCommSemiring.{u2} A _inst_2) (Ring.toSemiring.{u3} B (CommRing.toRing.{u3} B _inst_3))] [_inst_6 : IsIntegralClosure.{u2, u1, u3} A R B _inst_1 (CommRing.toCommSemiring.{u2} A _inst_2) _inst_3 _inst_4 _inst_5] (x : B) (hx : IsIntegral.{u1, u3} R B _inst_1 (CommRing.toRing.{u3} B _inst_3) _inst_4 x), Eq.{succ u3} B (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (RingHom.{u2, u3} A B (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))) (Semiring.toNonAssocSemiring.{u3} B (Ring.toSemiring.{u3} B (CommRing.toRing.{u3} B _inst_3)))) (fun (_x : RingHom.{u2, u3} A B (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))) (Semiring.toNonAssocSemiring.{u3} B (Ring.toSemiring.{u3} B (CommRing.toRing.{u3} B _inst_3)))) => A -> B) (RingHom.hasCoeToFun.{u2, u3} A B (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))) (Semiring.toNonAssocSemiring.{u3} B (Ring.toSemiring.{u3} B (CommRing.toRing.{u3} B _inst_3)))) (algebraMap.{u2, u3} A B (CommRing.toCommSemiring.{u2} A _inst_2) (Ring.toSemiring.{u3} B (CommRing.toRing.{u3} B _inst_3)) _inst_5) (IsIntegralClosure.mk'.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 x hx)) x
-but is expected to have type
-  forall {R : Type.{u3}} (A : Type.{u1}) {B : Type.{u2}} [_inst_1 : CommRing.{u3} R] [_inst_2 : CommRing.{u1} A] [_inst_3 : CommRing.{u2} B] [_inst_4 : Algebra.{u3, u2} R B (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u2} B (CommRing.toCommSemiring.{u2} B _inst_3))] [_inst_5 : Algebra.{u1, u2} A B (CommRing.toCommSemiring.{u1} A _inst_2) (CommSemiring.toSemiring.{u2} B (CommRing.toCommSemiring.{u2} B _inst_3))] [_inst_6 : IsIntegralClosure.{u1, u3, u2} A R B _inst_1 (CommRing.toCommSemiring.{u1} A _inst_2) _inst_3 _inst_4 _inst_5] (x : B) (hx : IsIntegral.{u3, u2} R B _inst_1 (CommRing.toRing.{u2} B _inst_3) _inst_4 x), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : A) => B) (IsIntegralClosure.mk'.{u3, u1, u2} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 x hx)) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (RingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2))) (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B (CommRing.toCommSemiring.{u2} B _inst_3)))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : A) => B) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (RingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2))) (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B (CommRing.toCommSemiring.{u2} B _inst_3)))) A B (NonUnitalNonAssocSemiring.toMul.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2))))) (NonUnitalNonAssocSemiring.toMul.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B (CommRing.toCommSemiring.{u2} B _inst_3))))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2))) (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B (CommRing.toCommSemiring.{u2} B _inst_3)))) A B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B (CommRing.toCommSemiring.{u2} B _inst_3)))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2))) (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B (CommRing.toCommSemiring.{u2} B _inst_3)))) A B (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2))) (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B (CommRing.toCommSemiring.{u2} B _inst_3))) (RingHom.instRingHomClassRingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2))) (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B (CommRing.toCommSemiring.{u2} B _inst_3))))))) (algebraMap.{u1, u2} A B (CommRing.toCommSemiring.{u1} A _inst_2) (CommSemiring.toSemiring.{u2} B (CommRing.toCommSemiring.{u2} B _inst_3)) _inst_5) (IsIntegralClosure.mk'.{u3, u1, u2} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 x hx)) x
-Case conversion may be inaccurate. Consider using '#align is_integral_closure.algebra_map_mk' IsIntegralClosure.algebraMap_mk'ₓ'. -/
 @[simp]
 theorem algebraMap_mk' (x : B) (hx : IsIntegral R x) : algebraMap A B (mk' A x hx) = x :=
   Classical.choose_spec (isIntegral_iff.mp hx)
 #align is_integral_closure.algebra_map_mk' IsIntegralClosure.algebraMap_mk'
 
-/- warning: is_integral_closure.mk'_one -> IsIntegralClosure.mk'_one is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} (A : Type.{u2}) {B : Type.{u3}} [_inst_1 : CommRing.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : CommRing.{u3} B] [_inst_4 : Algebra.{u1, u3} R B (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u3} B (CommRing.toRing.{u3} B _inst_3))] [_inst_5 : Algebra.{u2, u3} A B (CommRing.toCommSemiring.{u2} A _inst_2) (Ring.toSemiring.{u3} B (CommRing.toRing.{u3} B _inst_3))] [_inst_6 : IsIntegralClosure.{u2, u1, u3} A R B _inst_1 (CommRing.toCommSemiring.{u2} A _inst_2) _inst_3 _inst_4 _inst_5] (h : optParam.{0} (IsIntegral.{u1, u3} R B _inst_1 (CommRing.toRing.{u3} B _inst_3) _inst_4 (OfNat.ofNat.{u3} B 1 (OfNat.mk.{u3} B 1 (One.one.{u3} B (AddMonoidWithOne.toOne.{u3} B (AddGroupWithOne.toAddMonoidWithOne.{u3} B (AddCommGroupWithOne.toAddGroupWithOne.{u3} B (Ring.toAddCommGroupWithOne.{u3} B (CommRing.toRing.{u3} B _inst_3))))))))) (isIntegral_one.{u1, u3} R B _inst_1 _inst_3 _inst_4)), Eq.{succ u2} A (IsIntegralClosure.mk'.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 (OfNat.ofNat.{u3} B 1 (OfNat.mk.{u3} B 1 (One.one.{u3} B (AddMonoidWithOne.toOne.{u3} B (AddGroupWithOne.toAddMonoidWithOne.{u3} B (AddCommGroupWithOne.toAddGroupWithOne.{u3} B (Ring.toAddCommGroupWithOne.{u3} B (CommRing.toRing.{u3} B _inst_3)))))))) h) (OfNat.ofNat.{u2} A 1 (OfNat.mk.{u2} A 1 (One.one.{u2} A (AddMonoidWithOne.toOne.{u2} A (AddGroupWithOne.toAddMonoidWithOne.{u2} A (AddCommGroupWithOne.toAddGroupWithOne.{u2} A (Ring.toAddCommGroupWithOne.{u2} A (CommRing.toRing.{u2} A _inst_2))))))))
-but is expected to have type
-  forall {R : Type.{u3}} (A : Type.{u1}) {B : Type.{u2}} [_inst_1 : CommRing.{u3} R] [_inst_2 : CommRing.{u1} A] [_inst_3 : CommRing.{u2} B] [_inst_4 : Algebra.{u3, u2} R B (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u2} B (CommRing.toCommSemiring.{u2} B _inst_3))] [_inst_5 : Algebra.{u1, u2} A B (CommRing.toCommSemiring.{u1} A _inst_2) (CommSemiring.toSemiring.{u2} B (CommRing.toCommSemiring.{u2} B _inst_3))] [_inst_6 : IsIntegralClosure.{u1, u3, u2} A R B _inst_1 (CommRing.toCommSemiring.{u1} A _inst_2) _inst_3 _inst_4 _inst_5] (h : optParam.{0} (IsIntegral.{u3, u2} R B _inst_1 (CommRing.toRing.{u2} B _inst_3) _inst_4 (OfNat.ofNat.{u2} B 1 (One.toOfNat1.{u2} B (Semiring.toOne.{u2} B (CommSemiring.toSemiring.{u2} B (CommRing.toCommSemiring.{u2} B _inst_3)))))) (isIntegral_one.{u2, u3} R B _inst_1 _inst_3 _inst_4)), Eq.{succ u1} A (IsIntegralClosure.mk'.{u3, u1, u2} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 (OfNat.ofNat.{u2} B 1 (One.toOfNat1.{u2} B (Semiring.toOne.{u2} B (CommSemiring.toSemiring.{u2} B (CommRing.toCommSemiring.{u2} B _inst_3))))) h) (OfNat.ofNat.{u1} A 1 (One.toOfNat1.{u1} A (Semiring.toOne.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)))))
-Case conversion may be inaccurate. Consider using '#align is_integral_closure.mk'_one IsIntegralClosure.mk'_oneₓ'. -/
 @[simp]
 theorem mk'_one (h : IsIntegral R (1 : B) := isIntegral_one) : mk' A 1 h = 1 :=
   algebraMap_injective A R B <| by rw [algebra_map_mk', RingHom.map_one]
 #align is_integral_closure.mk'_one IsIntegralClosure.mk'_one
 
-/- warning: is_integral_closure.mk'_zero -> IsIntegralClosure.mk'_zero is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} (A : Type.{u2}) {B : Type.{u3}} [_inst_1 : CommRing.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : CommRing.{u3} B] [_inst_4 : Algebra.{u1, u3} R B (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u3} B (CommRing.toRing.{u3} B _inst_3))] [_inst_5 : Algebra.{u2, u3} A B (CommRing.toCommSemiring.{u2} A _inst_2) (Ring.toSemiring.{u3} B (CommRing.toRing.{u3} B _inst_3))] [_inst_6 : IsIntegralClosure.{u2, u1, u3} A R B _inst_1 (CommRing.toCommSemiring.{u2} A _inst_2) _inst_3 _inst_4 _inst_5] (h : optParam.{0} (IsIntegral.{u1, u3} R B _inst_1 (CommRing.toRing.{u3} B _inst_3) _inst_4 (OfNat.ofNat.{u3} B 0 (OfNat.mk.{u3} B 0 (Zero.zero.{u3} B (MulZeroClass.toHasZero.{u3} B (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} B (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} B (NonAssocRing.toNonUnitalNonAssocRing.{u3} B (Ring.toNonAssocRing.{u3} B (CommRing.toRing.{u3} B _inst_3)))))))))) (isIntegral_zero.{u1, u3} R B _inst_1 _inst_3 _inst_4)), Eq.{succ u2} A (IsIntegralClosure.mk'.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 (OfNat.ofNat.{u3} B 0 (OfNat.mk.{u3} B 0 (Zero.zero.{u3} B (MulZeroClass.toHasZero.{u3} B (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} B (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} B (NonAssocRing.toNonUnitalNonAssocRing.{u3} B (Ring.toNonAssocRing.{u3} B (CommRing.toRing.{u3} B _inst_3))))))))) h) (OfNat.ofNat.{u2} A 0 (OfNat.mk.{u2} A 0 (Zero.zero.{u2} A (MulZeroClass.toHasZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A (CommRing.toRing.{u2} A _inst_2)))))))))
-but is expected to have type
-  forall {R : Type.{u3}} (A : Type.{u1}) {B : Type.{u2}} [_inst_1 : CommRing.{u3} R] [_inst_2 : CommRing.{u1} A] [_inst_3 : CommRing.{u2} B] [_inst_4 : Algebra.{u3, u2} R B (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u2} B (CommRing.toCommSemiring.{u2} B _inst_3))] [_inst_5 : Algebra.{u1, u2} A B (CommRing.toCommSemiring.{u1} A _inst_2) (CommSemiring.toSemiring.{u2} B (CommRing.toCommSemiring.{u2} B _inst_3))] [_inst_6 : IsIntegralClosure.{u1, u3, u2} A R B _inst_1 (CommRing.toCommSemiring.{u1} A _inst_2) _inst_3 _inst_4 _inst_5] (h : optParam.{0} (IsIntegral.{u3, u2} R B _inst_1 (CommRing.toRing.{u2} B _inst_3) _inst_4 (OfNat.ofNat.{u2} B 0 (Zero.toOfNat0.{u2} B (CommMonoidWithZero.toZero.{u2} B (CommSemiring.toCommMonoidWithZero.{u2} B (CommRing.toCommSemiring.{u2} B _inst_3)))))) (isIntegral_zero.{u2, u3} R B _inst_1 _inst_3 _inst_4)), Eq.{succ u1} A (IsIntegralClosure.mk'.{u3, u1, u2} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 (OfNat.ofNat.{u2} B 0 (Zero.toOfNat0.{u2} B (CommMonoidWithZero.toZero.{u2} B (CommSemiring.toCommMonoidWithZero.{u2} B (CommRing.toCommSemiring.{u2} B _inst_3))))) h) (OfNat.ofNat.{u1} A 0 (Zero.toOfNat0.{u1} A (CommMonoidWithZero.toZero.{u1} A (CommSemiring.toCommMonoidWithZero.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)))))
-Case conversion may be inaccurate. Consider using '#align is_integral_closure.mk'_zero IsIntegralClosure.mk'_zeroₓ'. -/
 @[simp]
 theorem mk'_zero (h : IsIntegral R (0 : B) := isIntegral_zero) : mk' A 0 h = 0 :=
   algebraMap_injective A R B <| by rw [algebra_map_mk', RingHom.map_zero]
 #align is_integral_closure.mk'_zero IsIntegralClosure.mk'_zero
 
-/- warning: is_integral_closure.mk'_add -> IsIntegralClosure.mk'_add is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} (A : Type.{u2}) {B : Type.{u3}} [_inst_1 : CommRing.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : CommRing.{u3} B] [_inst_4 : Algebra.{u1, u3} R B (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u3} B (CommRing.toRing.{u3} B _inst_3))] [_inst_5 : Algebra.{u2, u3} A B (CommRing.toCommSemiring.{u2} A _inst_2) (Ring.toSemiring.{u3} B (CommRing.toRing.{u3} B _inst_3))] [_inst_6 : IsIntegralClosure.{u2, u1, u3} A R B _inst_1 (CommRing.toCommSemiring.{u2} A _inst_2) _inst_3 _inst_4 _inst_5] (x : B) (y : B) (hx : IsIntegral.{u1, u3} R B _inst_1 (CommRing.toRing.{u3} B _inst_3) _inst_4 x) (hy : IsIntegral.{u1, u3} R B _inst_1 (CommRing.toRing.{u3} B _inst_3) _inst_4 y), Eq.{succ u2} A (IsIntegralClosure.mk'.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 (HAdd.hAdd.{u3, u3, u3} B B B (instHAdd.{u3} B (Distrib.toHasAdd.{u3} B (Ring.toDistrib.{u3} B (CommRing.toRing.{u3} B _inst_3)))) x y) (isIntegral_add.{u1, u3} R B _inst_1 _inst_3 _inst_4 x y hx hy)) (HAdd.hAdd.{u2, u2, u2} A A A (instHAdd.{u2} A (Distrib.toHasAdd.{u2} A (Ring.toDistrib.{u2} A (CommRing.toRing.{u2} A _inst_2)))) (IsIntegralClosure.mk'.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 x hx) (IsIntegralClosure.mk'.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 y hy))
-but is expected to have type
-  forall {R : Type.{u3}} (A : Type.{u1}) {B : Type.{u2}} [_inst_1 : CommRing.{u3} R] [_inst_2 : CommRing.{u1} A] [_inst_3 : CommRing.{u2} B] [_inst_4 : Algebra.{u3, u2} R B (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u2} B (CommRing.toCommSemiring.{u2} B _inst_3))] [_inst_5 : Algebra.{u1, u2} A B (CommRing.toCommSemiring.{u1} A _inst_2) (CommSemiring.toSemiring.{u2} B (CommRing.toCommSemiring.{u2} B _inst_3))] [_inst_6 : IsIntegralClosure.{u1, u3, u2} A R B _inst_1 (CommRing.toCommSemiring.{u1} A _inst_2) _inst_3 _inst_4 _inst_5] (x : B) (y : B) (hx : IsIntegral.{u3, u2} R B _inst_1 (CommRing.toRing.{u2} B _inst_3) _inst_4 x) (hy : IsIntegral.{u3, u2} R B _inst_1 (CommRing.toRing.{u2} B _inst_3) _inst_4 y), Eq.{succ u1} A (IsIntegralClosure.mk'.{u3, u1, u2} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 (HAdd.hAdd.{u2, u2, u2} B B B (instHAdd.{u2} B (Distrib.toAdd.{u2} B (NonUnitalNonAssocSemiring.toDistrib.{u2} B (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} B (NonAssocRing.toNonUnitalNonAssocRing.{u2} B (Ring.toNonAssocRing.{u2} B (CommRing.toRing.{u2} B _inst_3))))))) x y) (isIntegral_add.{u2, u3} R B _inst_1 _inst_3 _inst_4 x y hx hy)) (HAdd.hAdd.{u1, u1, u1} A A A (instHAdd.{u1} A (Distrib.toAdd.{u1} A (NonUnitalNonAssocSemiring.toDistrib.{u1} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))))) (IsIntegralClosure.mk'.{u3, u1, u2} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 x hx) (IsIntegralClosure.mk'.{u3, u1, u2} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 y hy))
-Case conversion may be inaccurate. Consider using '#align is_integral_closure.mk'_add IsIntegralClosure.mk'_addₓ'. -/
 @[simp]
 theorem mk'_add (x y : B) (hx : IsIntegral R x) (hy : IsIntegral R y) :
     mk' A (x + y) (isIntegral_add hx hy) = mk' A x hx + mk' A y hy :=
   algebraMap_injective A R B <| by simp only [algebra_map_mk', RingHom.map_add]
 #align is_integral_closure.mk'_add IsIntegralClosure.mk'_add
 
-/- warning: is_integral_closure.mk'_mul -> IsIntegralClosure.mk'_mul is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} (A : Type.{u2}) {B : Type.{u3}} [_inst_1 : CommRing.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : CommRing.{u3} B] [_inst_4 : Algebra.{u1, u3} R B (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u3} B (CommRing.toRing.{u3} B _inst_3))] [_inst_5 : Algebra.{u2, u3} A B (CommRing.toCommSemiring.{u2} A _inst_2) (Ring.toSemiring.{u3} B (CommRing.toRing.{u3} B _inst_3))] [_inst_6 : IsIntegralClosure.{u2, u1, u3} A R B _inst_1 (CommRing.toCommSemiring.{u2} A _inst_2) _inst_3 _inst_4 _inst_5] (x : B) (y : B) (hx : IsIntegral.{u1, u3} R B _inst_1 (CommRing.toRing.{u3} B _inst_3) _inst_4 x) (hy : IsIntegral.{u1, u3} R B _inst_1 (CommRing.toRing.{u3} B _inst_3) _inst_4 y), Eq.{succ u2} A (IsIntegralClosure.mk'.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 (HMul.hMul.{u3, u3, u3} B B B (instHMul.{u3} B (Distrib.toHasMul.{u3} B (Ring.toDistrib.{u3} B (CommRing.toRing.{u3} B _inst_3)))) x y) (isIntegral_mul.{u1, u3} R B _inst_1 _inst_3 _inst_4 x y hx hy)) (HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (Distrib.toHasMul.{u2} A (Ring.toDistrib.{u2} A (CommRing.toRing.{u2} A _inst_2)))) (IsIntegralClosure.mk'.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 x hx) (IsIntegralClosure.mk'.{u1, u2, u3} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 y hy))
-but is expected to have type
-  forall {R : Type.{u3}} (A : Type.{u1}) {B : Type.{u2}} [_inst_1 : CommRing.{u3} R] [_inst_2 : CommRing.{u1} A] [_inst_3 : CommRing.{u2} B] [_inst_4 : Algebra.{u3, u2} R B (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u2} B (CommRing.toCommSemiring.{u2} B _inst_3))] [_inst_5 : Algebra.{u1, u2} A B (CommRing.toCommSemiring.{u1} A _inst_2) (CommSemiring.toSemiring.{u2} B (CommRing.toCommSemiring.{u2} B _inst_3))] [_inst_6 : IsIntegralClosure.{u1, u3, u2} A R B _inst_1 (CommRing.toCommSemiring.{u1} A _inst_2) _inst_3 _inst_4 _inst_5] (x : B) (y : B) (hx : IsIntegral.{u3, u2} R B _inst_1 (CommRing.toRing.{u2} B _inst_3) _inst_4 x) (hy : IsIntegral.{u3, u2} R B _inst_1 (CommRing.toRing.{u2} B _inst_3) _inst_4 y), Eq.{succ u1} A (IsIntegralClosure.mk'.{u3, u1, u2} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 (HMul.hMul.{u2, u2, u2} B B B (instHMul.{u2} B (NonUnitalNonAssocRing.toMul.{u2} B (NonAssocRing.toNonUnitalNonAssocRing.{u2} B (Ring.toNonAssocRing.{u2} B (CommRing.toRing.{u2} B _inst_3))))) x y) (isIntegral_mul.{u2, u3} R B _inst_1 _inst_3 _inst_4 x y hx hy)) (HMul.hMul.{u1, u1, u1} A A A (instHMul.{u1} A (NonUnitalNonAssocRing.toMul.{u1} A (NonAssocRing.toNonUnitalNonAssocRing.{u1} A (Ring.toNonAssocRing.{u1} A (CommRing.toRing.{u1} A _inst_2))))) (IsIntegralClosure.mk'.{u3, u1, u2} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 x hx) (IsIntegralClosure.mk'.{u3, u1, u2} R A B _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 y hy))
-Case conversion may be inaccurate. Consider using '#align is_integral_closure.mk'_mul IsIntegralClosure.mk'_mulₓ'. -/
 @[simp]
 theorem mk'_mul (x y : B) (hx : IsIntegral R x) (hy : IsIntegral R y) :
     mk' A (x * y) (isIntegral_mul hx hy) = mk' A x hx * mk' A y hy :=
   algebraMap_injective A R B <| by simp only [algebra_map_mk', RingHom.map_mul]
 #align is_integral_closure.mk'_mul IsIntegralClosure.mk'_mul
 
-/- warning: is_integral_closure.mk'_algebra_map -> IsIntegralClosure.mk'_algebraMap is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align is_integral_closure.mk'_algebra_map IsIntegralClosure.mk'_algebraMapₓ'. -/
 @[simp]
 theorem mk'_algebraMap [Algebra R A] [IsScalarTower R A B] (x : R)
     (h : IsIntegral R (algebraMap R B x) := isIntegral_algebraMap) :
@@ -1325,9 +932,6 @@ noncomputable def lift : S →ₐ[R] A
 #align is_integral_closure.lift IsIntegralClosure.lift
 -/
 
-/- warning: is_integral_closure.algebra_map_lift -> IsIntegralClosure.algebraMap_lift is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align is_integral_closure.algebra_map_lift IsIntegralClosure.algebraMap_liftₓ'. -/
 @[simp]
 theorem algebraMap_lift (x : S) : algebraMap A B (lift A B h x) = algebraMap S B x :=
   algebraMap_mk' _ _ _
@@ -1350,9 +954,6 @@ noncomputable def equiv : A ≃ₐ[R] A' :=
 #align is_integral_closure.equiv IsIntegralClosure.equiv
 -/
 
-/- warning: is_integral_closure.algebra_map_equiv -> IsIntegralClosure.algebraMap_equiv is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align is_integral_closure.algebra_map_equiv IsIntegralClosure.algebraMap_equivₓ'. -/
 @[simp]
 theorem algebraMap_equiv (x : A) : algebraMap A' B (equiv R A B A' x) = algebraMap A B x :=
   algebraMap_lift _ _ _ _
@@ -1374,9 +975,6 @@ variable [CommRing R] [CommRing A] [CommRing B] [CommRing S] [CommRing T]
 
 variable [Algebra A B] [Algebra R B] (f : R →+* S) (g : S →+* T)
 
-/- warning: is_integral_trans_aux -> isIntegral_trans_aux is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align is_integral_trans_aux isIntegral_trans_auxₓ'. -/
 theorem isIntegral_trans_aux (x : B) {p : A[X]} (pmonic : Monic p) (hp : aeval x p = 0) :
     IsIntegral (adjoin R (↑(p.map <| algebraMap A B).frange : Set B)) x :=
   by
@@ -1403,12 +1001,6 @@ theorem isIntegral_trans_aux (x : B) {p : A[X]} (pmonic : Monic p) (hp : aeval x
 
 variable [Algebra R A] [IsScalarTower R A B]
 
-/- warning: is_integral_trans -> isIntegral_trans is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {A : Type.{u2}} {B : Type.{u3}} [_inst_1 : CommRing.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : CommRing.{u3} B] [_inst_6 : Algebra.{u2, u3} A B (CommRing.toCommSemiring.{u2} A _inst_2) (Ring.toSemiring.{u3} B (CommRing.toRing.{u3} B _inst_3))] [_inst_7 : Algebra.{u1, u3} R B (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u3} B (CommRing.toRing.{u3} B _inst_3))] [_inst_8 : Algebra.{u1, u2} R A (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))] [_inst_9 : IsScalarTower.{u1, u2, u3} R A B (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)))))))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (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} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)))))))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)))))))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_8))))) (SMulZeroClass.toHasSmul.{u2, u3} A B (AddZeroClass.toHasZero.{u3} B (AddMonoid.toAddZeroClass.{u3} B (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} B (Semiring.toNonAssocSemiring.{u3} B (Ring.toSemiring.{u3} B (CommRing.toRing.{u3} B _inst_3)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} A B (MulZeroClass.toHasZero.{u2} A (MulZeroOneClass.toMulZeroClass.{u2} A (MonoidWithZero.toMulZeroOneClass.{u2} A (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)))))) (AddZeroClass.toHasZero.{u3} B (AddMonoid.toAddZeroClass.{u3} B (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} B (Semiring.toNonAssocSemiring.{u3} B (Ring.toSemiring.{u3} B (CommRing.toRing.{u3} B _inst_3)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} A B (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))) (AddZeroClass.toHasZero.{u3} B (AddMonoid.toAddZeroClass.{u3} B (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} B (Semiring.toNonAssocSemiring.{u3} B (Ring.toSemiring.{u3} B (CommRing.toRing.{u3} B _inst_3)))))))) (Module.toMulActionWithZero.{u2, u3} A B (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} B (Semiring.toNonAssocSemiring.{u3} B (Ring.toSemiring.{u3} B (CommRing.toRing.{u3} B _inst_3))))) (Algebra.toModule.{u2, u3} A B (CommRing.toCommSemiring.{u2} A _inst_2) (Ring.toSemiring.{u3} B (CommRing.toRing.{u3} B _inst_3)) _inst_6))))) (SMulZeroClass.toHasSmul.{u1, u3} R B (AddZeroClass.toHasZero.{u3} B (AddMonoid.toAddZeroClass.{u3} B (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} B (Semiring.toNonAssocSemiring.{u3} B (Ring.toSemiring.{u3} B (CommRing.toRing.{u3} B _inst_3)))))))) (SMulWithZero.toSmulZeroClass.{u1, u3} R B (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} B (AddMonoid.toAddZeroClass.{u3} B (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} B (Semiring.toNonAssocSemiring.{u3} B (Ring.toSemiring.{u3} B (CommRing.toRing.{u3} B _inst_3)))))))) (MulActionWithZero.toSMulWithZero.{u1, u3} R B (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u3} B (AddMonoid.toAddZeroClass.{u3} B (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} B (Semiring.toNonAssocSemiring.{u3} B (Ring.toSemiring.{u3} B (CommRing.toRing.{u3} B _inst_3)))))))) (Module.toMulActionWithZero.{u1, u3} R B (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} B (Semiring.toNonAssocSemiring.{u3} B (Ring.toSemiring.{u3} B (CommRing.toRing.{u3} B _inst_3))))) (Algebra.toModule.{u1, u3} R B (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u3} B (CommRing.toRing.{u3} B _inst_3)) _inst_7)))))], (Algebra.IsIntegral.{u1, u2} R A _inst_1 (CommRing.toRing.{u2} A _inst_2) _inst_8) -> (forall (x : B), (IsIntegral.{u2, u3} A B _inst_2 (CommRing.toRing.{u3} B _inst_3) _inst_6 x) -> (IsIntegral.{u1, u3} R B _inst_1 (CommRing.toRing.{u3} B _inst_3) _inst_7 x))
-but is expected to have type
-  forall {R : Type.{u3}} {A : Type.{u2}} {B : Type.{u1}} [_inst_1 : CommRing.{u3} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : CommRing.{u1} B] [_inst_6 : Algebra.{u2, u1} A B (CommRing.toCommSemiring.{u2} A _inst_2) (CommSemiring.toSemiring.{u1} B (CommRing.toCommSemiring.{u1} B _inst_3))] [_inst_7 : Algebra.{u3, u1} R B (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u1} B (CommRing.toCommSemiring.{u1} B _inst_3))] [_inst_8 : Algebra.{u3, u2} R A (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))] [_inst_9 : IsScalarTower.{u3, u2, u1} R A B (Algebra.toSMul.{u3, u2} R A (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_8) (Algebra.toSMul.{u2, u1} A B (CommRing.toCommSemiring.{u2} A _inst_2) (CommSemiring.toSemiring.{u1} B (CommRing.toCommSemiring.{u1} B _inst_3)) _inst_6) (Algebra.toSMul.{u3, u1} R B (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u1} B (CommRing.toCommSemiring.{u1} B _inst_3)) _inst_7)], (Algebra.IsIntegral.{u3, u2} R A _inst_1 (CommRing.toRing.{u2} A _inst_2) _inst_8) -> (forall (x : B), (IsIntegral.{u2, u1} A B _inst_2 (CommRing.toRing.{u1} B _inst_3) _inst_6 x) -> (IsIntegral.{u3, u1} R B _inst_1 (CommRing.toRing.{u1} B _inst_3) _inst_7 x))
-Case conversion may be inaccurate. Consider using '#align is_integral_trans isIntegral_transₓ'. -/
 /-- If A is an R-algebra all of whose elements are integral over R,
 and x is an element of an A-algebra that is integral over A, then x is integral over R.-/
 theorem isIntegral_trans (A_int : Algebra.IsIntegral R A) (x : B) (hx : IsIntegral A x) :
@@ -1425,12 +1017,6 @@ theorem isIntegral_trans (A_int : Algebra.IsIntegral R A) (x : B) (hx : IsIntegr
     exact isIntegral_trans_aux _ pmonic hp
 #align is_integral_trans isIntegral_trans
 
-/- warning: algebra.is_integral_trans -> Algebra.isIntegral_trans is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {A : Type.{u2}} {B : Type.{u3}} [_inst_1 : CommRing.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : CommRing.{u3} B] [_inst_6 : Algebra.{u2, u3} A B (CommRing.toCommSemiring.{u2} A _inst_2) (Ring.toSemiring.{u3} B (CommRing.toRing.{u3} B _inst_3))] [_inst_7 : Algebra.{u1, u3} R B (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u3} B (CommRing.toRing.{u3} B _inst_3))] [_inst_8 : Algebra.{u1, u2} R A (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))] [_inst_9 : IsScalarTower.{u1, u2, u3} R A B (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)))))))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (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} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)))))))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)))))))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_8))))) (SMulZeroClass.toHasSmul.{u2, u3} A B (AddZeroClass.toHasZero.{u3} B (AddMonoid.toAddZeroClass.{u3} B (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} B (Semiring.toNonAssocSemiring.{u3} B (Ring.toSemiring.{u3} B (CommRing.toRing.{u3} B _inst_3)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} A B (MulZeroClass.toHasZero.{u2} A (MulZeroOneClass.toMulZeroClass.{u2} A (MonoidWithZero.toMulZeroOneClass.{u2} A (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)))))) (AddZeroClass.toHasZero.{u3} B (AddMonoid.toAddZeroClass.{u3} B (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} B (Semiring.toNonAssocSemiring.{u3} B (Ring.toSemiring.{u3} B (CommRing.toRing.{u3} B _inst_3)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} A B (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))) (AddZeroClass.toHasZero.{u3} B (AddMonoid.toAddZeroClass.{u3} B (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} B (Semiring.toNonAssocSemiring.{u3} B (Ring.toSemiring.{u3} B (CommRing.toRing.{u3} B _inst_3)))))))) (Module.toMulActionWithZero.{u2, u3} A B (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} B (Semiring.toNonAssocSemiring.{u3} B (Ring.toSemiring.{u3} B (CommRing.toRing.{u3} B _inst_3))))) (Algebra.toModule.{u2, u3} A B (CommRing.toCommSemiring.{u2} A _inst_2) (Ring.toSemiring.{u3} B (CommRing.toRing.{u3} B _inst_3)) _inst_6))))) (SMulZeroClass.toHasSmul.{u1, u3} R B (AddZeroClass.toHasZero.{u3} B (AddMonoid.toAddZeroClass.{u3} B (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} B (Semiring.toNonAssocSemiring.{u3} B (Ring.toSemiring.{u3} B (CommRing.toRing.{u3} B _inst_3)))))))) (SMulWithZero.toSmulZeroClass.{u1, u3} R B (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} B (AddMonoid.toAddZeroClass.{u3} B (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} B (Semiring.toNonAssocSemiring.{u3} B (Ring.toSemiring.{u3} B (CommRing.toRing.{u3} B _inst_3)))))))) (MulActionWithZero.toSMulWithZero.{u1, u3} R B (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u3} B (AddMonoid.toAddZeroClass.{u3} B (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} B (Semiring.toNonAssocSemiring.{u3} B (Ring.toSemiring.{u3} B (CommRing.toRing.{u3} B _inst_3)))))))) (Module.toMulActionWithZero.{u1, u3} R B (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} B (Semiring.toNonAssocSemiring.{u3} B (Ring.toSemiring.{u3} B (CommRing.toRing.{u3} B _inst_3))))) (Algebra.toModule.{u1, u3} R B (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u3} B (CommRing.toRing.{u3} B _inst_3)) _inst_7)))))], (Algebra.IsIntegral.{u1, u2} R A _inst_1 (CommRing.toRing.{u2} A _inst_2) _inst_8) -> (Algebra.IsIntegral.{u2, u3} A B _inst_2 (CommRing.toRing.{u3} B _inst_3) _inst_6) -> (Algebra.IsIntegral.{u1, u3} R B _inst_1 (CommRing.toRing.{u3} B _inst_3) _inst_7)
-but is expected to have type
-  forall {R : Type.{u3}} {A : Type.{u2}} {B : Type.{u1}} [_inst_1 : CommRing.{u3} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : CommRing.{u1} B] [_inst_6 : Algebra.{u2, u1} A B (CommRing.toCommSemiring.{u2} A _inst_2) (CommSemiring.toSemiring.{u1} B (CommRing.toCommSemiring.{u1} B _inst_3))] [_inst_7 : Algebra.{u3, u1} R B (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u1} B (CommRing.toCommSemiring.{u1} B _inst_3))] [_inst_8 : Algebra.{u3, u2} R A (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))] [_inst_9 : IsScalarTower.{u3, u2, u1} R A B (Algebra.toSMul.{u3, u2} R A (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_8) (Algebra.toSMul.{u2, u1} A B (CommRing.toCommSemiring.{u2} A _inst_2) (CommSemiring.toSemiring.{u1} B (CommRing.toCommSemiring.{u1} B _inst_3)) _inst_6) (Algebra.toSMul.{u3, u1} R B (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u1} B (CommRing.toCommSemiring.{u1} B _inst_3)) _inst_7)], (Algebra.IsIntegral.{u3, u2} R A _inst_1 (CommRing.toRing.{u2} A _inst_2) _inst_8) -> (Algebra.IsIntegral.{u2, u1} A B _inst_2 (CommRing.toRing.{u1} B _inst_3) _inst_6) -> (Algebra.IsIntegral.{u3, u1} R B _inst_1 (CommRing.toRing.{u1} B _inst_3) _inst_7)
-Case conversion may be inaccurate. Consider using '#align algebra.is_integral_trans Algebra.isIntegral_transₓ'. -/
 /-- If A is an R-algebra all of whose elements are integral over R,
 and B is an A-algebra all of whose elements are integral over A,
 then all elements of B are integral over R.-/
@@ -1438,12 +1024,6 @@ theorem Algebra.isIntegral_trans (hA : Algebra.IsIntegral R A) (hB : Algebra.IsI
     Algebra.IsIntegral R B := fun x => isIntegral_trans hA x (hB x)
 #align algebra.is_integral_trans Algebra.isIntegral_trans
 
-/- warning: ring_hom.is_integral_trans -> RingHom.isIntegral_trans is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} {T : Type.{u3}} [_inst_1 : CommRing.{u1} R] [_inst_4 : CommRing.{u2} S] [_inst_5 : CommRing.{u3} T] (f : RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_4)))) (g : RingHom.{u2, u3} S T (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_4))) (NonAssocRing.toNonAssocSemiring.{u3} T (Ring.toNonAssocRing.{u3} T (CommRing.toRing.{u3} T _inst_5)))), (RingHom.IsIntegral.{u1, u2} R S _inst_1 (CommRing.toRing.{u2} S _inst_4) f) -> (RingHom.IsIntegral.{u2, u3} S T _inst_4 (CommRing.toRing.{u3} T _inst_5) g) -> (RingHom.IsIntegral.{u1, u3} R T _inst_1 (CommRing.toRing.{u3} T _inst_5) (RingHom.comp.{u1, u2, u3} R S T (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_4))) (NonAssocRing.toNonAssocSemiring.{u3} T (Ring.toNonAssocRing.{u3} T (CommRing.toRing.{u3} T _inst_5))) g f))
-but is expected to have type
-  forall {R : Type.{u3}} {S : Type.{u2}} {T : Type.{u1}} [_inst_1 : CommRing.{u3} R] [_inst_4 : CommRing.{u2} S] [_inst_5 : CommRing.{u1} T] (f : RingHom.{u3, u2} R S (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_4)))) (g : RingHom.{u2, u1} S T (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_4))) (Semiring.toNonAssocSemiring.{u1} T (CommSemiring.toSemiring.{u1} T (CommRing.toCommSemiring.{u1} T _inst_5)))), (RingHom.IsIntegral.{u3, u2} R S _inst_1 (CommRing.toRing.{u2} S _inst_4) f) -> (RingHom.IsIntegral.{u2, u1} S T _inst_4 (CommRing.toRing.{u1} T _inst_5) g) -> (RingHom.IsIntegral.{u3, u1} R T _inst_1 (CommRing.toRing.{u1} T _inst_5) (RingHom.comp.{u3, u2, u1} R S T (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_4))) (Semiring.toNonAssocSemiring.{u1} T (CommSemiring.toSemiring.{u1} T (CommRing.toCommSemiring.{u1} T _inst_5))) g f))
-Case conversion may be inaccurate. Consider using '#align ring_hom.is_integral_trans RingHom.isIntegral_transₓ'. -/
 theorem RingHom.isIntegral_trans (hf : f.IsIntegral) (hg : g.IsIntegral) : (g.comp f).IsIntegral :=
   @Algebra.isIntegral_trans R S T _ _ _ g.toAlgebra (g.comp f).toAlgebra f.toAlgebra
     (@IsScalarTower.of_algebraMap_eq R S T _ _ _ f.toAlgebra g.toAlgebra (g.comp f).toAlgebra
@@ -1451,30 +1031,15 @@ theorem RingHom.isIntegral_trans (hf : f.IsIntegral) (hg : g.IsIntegral) : (g.co
     hf hg
 #align ring_hom.is_integral_trans RingHom.isIntegral_trans
 
-/- warning: ring_hom.is_integral_of_surjective -> RingHom.isIntegral_of_surjective is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_4 : CommRing.{u2} S] (f : RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_4)))), (Function.Surjective.{succ u1, succ u2} R S (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_4)))) (fun (_x : RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_4)))) => R -> S) (RingHom.hasCoeToFun.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_4)))) f)) -> (RingHom.IsIntegral.{u1, u2} R S _inst_1 (CommRing.toRing.{u2} S _inst_4) f)
-but is expected to have type
-  forall {R : Type.{u2}} {S : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_4 : CommRing.{u1} S] (f : RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_4)))), (Function.Surjective.{succ u2, succ u1} R S (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_4)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) _x) (MulHomClass.toFunLike.{max u2 u1, u2, u1} (RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_4)))) R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (NonUnitalNonAssocSemiring.toMul.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_4))))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u1, u2, u1} (RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_4)))) R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_4)))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u1, u2, u1} (RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_4)))) R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_4))) (RingHom.instRingHomClassRingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_4))))))) f)) -> (RingHom.IsIntegral.{u2, u1} R S _inst_1 (CommRing.toRing.{u1} S _inst_4) f)
-Case conversion may be inaccurate. Consider using '#align ring_hom.is_integral_of_surjective RingHom.isIntegral_of_surjectiveₓ'. -/
 theorem RingHom.isIntegral_of_surjective (hf : Function.Surjective f) : f.IsIntegral := fun x =>
   (hf x).recOn fun y hy => (hy ▸ f.is_integral_map : f.IsIntegralElem x)
 #align ring_hom.is_integral_of_surjective RingHom.isIntegral_of_surjective
 
-/- warning: is_integral_of_surjective -> isIntegral_of_surjective is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_8 : Algebra.{u1, u2} R A (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))], (Function.Surjective.{succ u1, succ u2} R A (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)))) (fun (_x : RingHom.{u1, u2} R A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)))) => R -> A) (RingHom.hasCoeToFun.{u1, u2} R A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)))) (algebraMap.{u1, u2} R A (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_8))) -> (Algebra.IsIntegral.{u1, u2} R A _inst_1 (CommRing.toRing.{u2} A _inst_2) _inst_8)
-but is expected to have type
-  forall {R : Type.{u2}} {A : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : CommRing.{u1} A] [_inst_8 : Algebra.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2))], (Function.Surjective.{succ u2, succ u1} R A (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (RingHom.{u2, u1} R A (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => A) _x) (MulHomClass.toFunLike.{max u2 u1, u2, u1} (RingHom.{u2, u1} R A (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)))) R A (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (NonUnitalNonAssocSemiring.toMul.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2))))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u1, u2, u1} (RingHom.{u2, u1} R A (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)))) R A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u1, u2, u1} (RingHom.{u2, u1} R A (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)))) R A (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2))) (RingHom.instRingHomClassRingHom.{u2, u1} R A (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2))))))) (algebraMap.{u2, u1} R A (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_8))) -> (Algebra.IsIntegral.{u2, u1} R A _inst_1 (CommRing.toRing.{u1} A _inst_2) _inst_8)
-Case conversion may be inaccurate. Consider using '#align is_integral_of_surjective isIntegral_of_surjectiveₓ'. -/
 theorem isIntegral_of_surjective (h : Function.Surjective (algebraMap R A)) :
     Algebra.IsIntegral R A :=
   (algebraMap R A).isIntegral_of_surjective h
 #align is_integral_of_surjective isIntegral_of_surjective
 
-/- warning: is_integral_tower_bot_of_is_integral -> isIntegral_tower_bot_of_isIntegral is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align is_integral_tower_bot_of_is_integral isIntegral_tower_bot_of_isIntegralₓ'. -/
 /-- If `R → A → B` is an algebra tower with `A → B` injective,
 then if the entire tower is an integral extension so is `R → A` -/
 theorem isIntegral_tower_bot_of_isIntegral (H : Function.Injective (algebraMap A B)) {x : A}
@@ -1488,12 +1053,6 @@ theorem isIntegral_tower_bot_of_isIntegral (H : Function.Injective (algebraMap A
   exact H hp'
 #align is_integral_tower_bot_of_is_integral isIntegral_tower_bot_of_isIntegral
 
-/- warning: ring_hom.is_integral_tower_bot_of_is_integral -> RingHom.isIntegral_tower_bot_of_isIntegral is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} {T : Type.{u3}} [_inst_1 : CommRing.{u1} R] [_inst_4 : CommRing.{u2} S] [_inst_5 : CommRing.{u3} T] (f : RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_4)))) (g : RingHom.{u2, u3} S T (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_4))) (NonAssocRing.toNonAssocSemiring.{u3} T (Ring.toNonAssocRing.{u3} T (CommRing.toRing.{u3} T _inst_5)))), (Function.Injective.{succ u2, succ u3} S T (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (RingHom.{u2, u3} S T (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_4))) (NonAssocRing.toNonAssocSemiring.{u3} T (Ring.toNonAssocRing.{u3} T (CommRing.toRing.{u3} T _inst_5)))) (fun (_x : RingHom.{u2, u3} S T (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_4))) (NonAssocRing.toNonAssocSemiring.{u3} T (Ring.toNonAssocRing.{u3} T (CommRing.toRing.{u3} T _inst_5)))) => S -> T) (RingHom.hasCoeToFun.{u2, u3} S T (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_4))) (NonAssocRing.toNonAssocSemiring.{u3} T (Ring.toNonAssocRing.{u3} T (CommRing.toRing.{u3} T _inst_5)))) g)) -> (RingHom.IsIntegral.{u1, u3} R T _inst_1 (CommRing.toRing.{u3} T _inst_5) (RingHom.comp.{u1, u2, u3} R S T (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_4))) (NonAssocRing.toNonAssocSemiring.{u3} T (Ring.toNonAssocRing.{u3} T (CommRing.toRing.{u3} T _inst_5))) g f)) -> (RingHom.IsIntegral.{u1, u2} R S _inst_1 (CommRing.toRing.{u2} S _inst_4) f)
-but is expected to have type
-  forall {R : Type.{u1}} {S : Type.{u3}} {T : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_4 : CommRing.{u3} S] [_inst_5 : CommRing.{u2} T] (f : RingHom.{u1, u3} R S (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_4)))) (g : RingHom.{u3, u2} S T (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_4))) (Semiring.toNonAssocSemiring.{u2} T (CommSemiring.toSemiring.{u2} T (CommRing.toCommSemiring.{u2} T _inst_5)))), (Function.Injective.{succ u3, succ u2} S T (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (RingHom.{u3, u2} S T (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_4))) (Semiring.toNonAssocSemiring.{u2} T (CommSemiring.toSemiring.{u2} T (CommRing.toCommSemiring.{u2} T _inst_5)))) S (fun (_x : S) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : S) => T) _x) (MulHomClass.toFunLike.{max u3 u2, u3, u2} (RingHom.{u3, u2} S T (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_4))) (Semiring.toNonAssocSemiring.{u2} T (CommSemiring.toSemiring.{u2} T (CommRing.toCommSemiring.{u2} T _inst_5)))) S T (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_4))))) (NonUnitalNonAssocSemiring.toMul.{u2} T (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} T (Semiring.toNonAssocSemiring.{u2} T (CommSemiring.toSemiring.{u2} T (CommRing.toCommSemiring.{u2} T _inst_5))))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u2, u3, u2} (RingHom.{u3, u2} S T (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_4))) (Semiring.toNonAssocSemiring.{u2} T (CommSemiring.toSemiring.{u2} T (CommRing.toCommSemiring.{u2} T _inst_5)))) S T (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_4)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} T (Semiring.toNonAssocSemiring.{u2} T (CommSemiring.toSemiring.{u2} T (CommRing.toCommSemiring.{u2} T _inst_5)))) (RingHomClass.toNonUnitalRingHomClass.{max u3 u2, u3, u2} (RingHom.{u3, u2} S T (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_4))) (Semiring.toNonAssocSemiring.{u2} T (CommSemiring.toSemiring.{u2} T (CommRing.toCommSemiring.{u2} T _inst_5)))) S T (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_4))) (Semiring.toNonAssocSemiring.{u2} T (CommSemiring.toSemiring.{u2} T (CommRing.toCommSemiring.{u2} T _inst_5))) (RingHom.instRingHomClassRingHom.{u3, u2} S T (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_4))) (Semiring.toNonAssocSemiring.{u2} T (CommSemiring.toSemiring.{u2} T (CommRing.toCommSemiring.{u2} T _inst_5))))))) g)) -> (RingHom.IsIntegral.{u1, u2} R T _inst_1 (CommRing.toRing.{u2} T _inst_5) (RingHom.comp.{u1, u3, u2} R S T (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_4))) (Semiring.toNonAssocSemiring.{u2} T (CommSemiring.toSemiring.{u2} T (CommRing.toCommSemiring.{u2} T _inst_5))) g f)) -> (RingHom.IsIntegral.{u1, u3} R S _inst_1 (CommRing.toRing.{u3} S _inst_4) f)
-Case conversion may be inaccurate. Consider using '#align ring_hom.is_integral_tower_bot_of_is_integral RingHom.isIntegral_tower_bot_of_isIntegralₓ'. -/
 theorem RingHom.isIntegral_tower_bot_of_isIntegral (hg : Function.Injective g)
     (hfg : (g.comp f).IsIntegral) : f.IsIntegral := fun x =>
   @isIntegral_tower_bot_of_isIntegral R S T _ _ _ g.toAlgebra (g.comp f).toAlgebra f.toAlgebra
@@ -1502,43 +1061,22 @@ theorem RingHom.isIntegral_tower_bot_of_isIntegral (hg : Function.Injective g)
     hg x (hfg (g x))
 #align ring_hom.is_integral_tower_bot_of_is_integral RingHom.isIntegral_tower_bot_of_isIntegral
 
-/- warning: is_integral_tower_bot_of_is_integral_field -> isIntegral_tower_bot_of_isIntegral_field is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align is_integral_tower_bot_of_is_integral_field isIntegral_tower_bot_of_isIntegral_fieldₓ'. -/
 theorem isIntegral_tower_bot_of_isIntegral_field {R A B : Type _} [CommRing R] [Field A]
     [CommRing B] [Nontrivial B] [Algebra R A] [Algebra A B] [Algebra R B] [IsScalarTower R A B]
     {x : A} (h : IsIntegral R (algebraMap A B x)) : IsIntegral R x :=
   isIntegral_tower_bot_of_isIntegral (algebraMap A B).Injective h
 #align is_integral_tower_bot_of_is_integral_field isIntegral_tower_bot_of_isIntegral_field
 
-/- warning: ring_hom.is_integral_elem_of_is_integral_elem_comp -> RingHom.isIntegralElem_of_isIntegralElem_comp is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} {T : Type.{u3}} [_inst_1 : CommRing.{u1} R] [_inst_4 : CommRing.{u2} S] [_inst_5 : CommRing.{u3} T] (f : RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_4)))) (g : RingHom.{u2, u3} S T (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_4))) (NonAssocRing.toNonAssocSemiring.{u3} T (Ring.toNonAssocRing.{u3} T (CommRing.toRing.{u3} T _inst_5)))) {x : T}, (RingHom.IsIntegralElem.{u1, u3} R T _inst_1 (CommRing.toRing.{u3} T _inst_5) (RingHom.comp.{u1, u2, u3} R S T (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_4))) (NonAssocRing.toNonAssocSemiring.{u3} T (Ring.toNonAssocRing.{u3} T (CommRing.toRing.{u3} T _inst_5))) g f) x) -> (RingHom.IsIntegralElem.{u2, u3} S T _inst_4 (CommRing.toRing.{u3} T _inst_5) g x)
-but is expected to have type
-  forall {R : Type.{u3}} {S : Type.{u1}} {T : Type.{u2}} [_inst_1 : CommRing.{u3} R] [_inst_4 : CommRing.{u1} S] [_inst_5 : CommRing.{u2} T] (f : RingHom.{u3, u1} R S (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_4)))) (g : RingHom.{u1, u2} S T (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_4))) (Semiring.toNonAssocSemiring.{u2} T (CommSemiring.toSemiring.{u2} T (CommRing.toCommSemiring.{u2} T _inst_5)))) {x : T}, (RingHom.IsIntegralElem.{u3, u2} R T _inst_1 (CommRing.toRing.{u2} T _inst_5) (RingHom.comp.{u3, u1, u2} R S T (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_4))) (Semiring.toNonAssocSemiring.{u2} T (CommSemiring.toSemiring.{u2} T (CommRing.toCommSemiring.{u2} T _inst_5))) g f) x) -> (RingHom.IsIntegralElem.{u1, u2} S T _inst_4 (CommRing.toRing.{u2} T _inst_5) g x)
-Case conversion may be inaccurate. Consider using '#align ring_hom.is_integral_elem_of_is_integral_elem_comp RingHom.isIntegralElem_of_isIntegralElem_compₓ'. -/
 theorem RingHom.isIntegralElem_of_isIntegralElem_comp {x : T} (h : (g.comp f).IsIntegralElem x) :
     g.IsIntegralElem x :=
   let ⟨p, ⟨hp, hp'⟩⟩ := h
   ⟨p.map f, hp.map f, by rwa [← eval₂_map] at hp'⟩
 #align ring_hom.is_integral_elem_of_is_integral_elem_comp RingHom.isIntegralElem_of_isIntegralElem_comp
 
-/- warning: ring_hom.is_integral_tower_top_of_is_integral -> RingHom.isIntegral_tower_top_of_isIntegral is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} {T : Type.{u3}} [_inst_1 : CommRing.{u1} R] [_inst_4 : CommRing.{u2} S] [_inst_5 : CommRing.{u3} T] (f : RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_4)))) (g : RingHom.{u2, u3} S T (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_4))) (NonAssocRing.toNonAssocSemiring.{u3} T (Ring.toNonAssocRing.{u3} T (CommRing.toRing.{u3} T _inst_5)))), (RingHom.IsIntegral.{u1, u3} R T _inst_1 (CommRing.toRing.{u3} T _inst_5) (RingHom.comp.{u1, u2, u3} R S T (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_4))) (NonAssocRing.toNonAssocSemiring.{u3} T (Ring.toNonAssocRing.{u3} T (CommRing.toRing.{u3} T _inst_5))) g f)) -> (RingHom.IsIntegral.{u2, u3} S T _inst_4 (CommRing.toRing.{u3} T _inst_5) g)
-but is expected to have type
-  forall {R : Type.{u3}} {S : Type.{u1}} {T : Type.{u2}} [_inst_1 : CommRing.{u3} R] [_inst_4 : CommRing.{u1} S] [_inst_5 : CommRing.{u2} T] (f : RingHom.{u3, u1} R S (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_4)))) (g : RingHom.{u1, u2} S T (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_4))) (Semiring.toNonAssocSemiring.{u2} T (CommSemiring.toSemiring.{u2} T (CommRing.toCommSemiring.{u2} T _inst_5)))), (RingHom.IsIntegral.{u3, u2} R T _inst_1 (CommRing.toRing.{u2} T _inst_5) (RingHom.comp.{u3, u1, u2} R S T (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_4))) (Semiring.toNonAssocSemiring.{u2} T (CommSemiring.toSemiring.{u2} T (CommRing.toCommSemiring.{u2} T _inst_5))) g f)) -> (RingHom.IsIntegral.{u1, u2} S T _inst_4 (CommRing.toRing.{u2} T _inst_5) g)
-Case conversion may be inaccurate. Consider using '#align ring_hom.is_integral_tower_top_of_is_integral RingHom.isIntegral_tower_top_of_isIntegralₓ'. -/
 theorem RingHom.isIntegral_tower_top_of_isIntegral (h : (g.comp f).IsIntegral) : g.IsIntegral :=
   fun x => RingHom.isIntegralElem_of_isIntegralElem_comp f g (h x)
 #align ring_hom.is_integral_tower_top_of_is_integral RingHom.isIntegral_tower_top_of_isIntegral
 
-/- warning: is_integral_tower_top_of_is_integral -> isIntegral_tower_top_of_isIntegral is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {A : Type.{u2}} {B : Type.{u3}} [_inst_1 : CommRing.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_3 : CommRing.{u3} B] [_inst_6 : Algebra.{u2, u3} A B (CommRing.toCommSemiring.{u2} A _inst_2) (Ring.toSemiring.{u3} B (CommRing.toRing.{u3} B _inst_3))] [_inst_7 : Algebra.{u1, u3} R B (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u3} B (CommRing.toRing.{u3} B _inst_3))] [_inst_8 : Algebra.{u1, u2} R A (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))] [_inst_9 : IsScalarTower.{u1, u2, u3} R A B (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)))))))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (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} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)))))))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)))))))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))))) (Algebra.toModule.{u1, u2} R A (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_8))))) (SMulZeroClass.toHasSmul.{u2, u3} A B (AddZeroClass.toHasZero.{u3} B (AddMonoid.toAddZeroClass.{u3} B (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} B (Semiring.toNonAssocSemiring.{u3} B (Ring.toSemiring.{u3} B (CommRing.toRing.{u3} B _inst_3)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} A B (MulZeroClass.toHasZero.{u2} A (MulZeroOneClass.toMulZeroClass.{u2} A (MonoidWithZero.toMulZeroOneClass.{u2} A (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)))))) (AddZeroClass.toHasZero.{u3} B (AddMonoid.toAddZeroClass.{u3} B (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} B (Semiring.toNonAssocSemiring.{u3} B (Ring.toSemiring.{u3} B (CommRing.toRing.{u3} B _inst_3)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} A B (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))) (AddZeroClass.toHasZero.{u3} B (AddMonoid.toAddZeroClass.{u3} B (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} B (Semiring.toNonAssocSemiring.{u3} B (Ring.toSemiring.{u3} B (CommRing.toRing.{u3} B _inst_3)))))))) (Module.toMulActionWithZero.{u2, u3} A B (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} B (Semiring.toNonAssocSemiring.{u3} B (Ring.toSemiring.{u3} B (CommRing.toRing.{u3} B _inst_3))))) (Algebra.toModule.{u2, u3} A B (CommRing.toCommSemiring.{u2} A _inst_2) (Ring.toSemiring.{u3} B (CommRing.toRing.{u3} B _inst_3)) _inst_6))))) (SMulZeroClass.toHasSmul.{u1, u3} R B (AddZeroClass.toHasZero.{u3} B (AddMonoid.toAddZeroClass.{u3} B (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} B (Semiring.toNonAssocSemiring.{u3} B (Ring.toSemiring.{u3} B (CommRing.toRing.{u3} B _inst_3)))))))) (SMulWithZero.toSmulZeroClass.{u1, u3} R B (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} B (AddMonoid.toAddZeroClass.{u3} B (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} B (Semiring.toNonAssocSemiring.{u3} B (Ring.toSemiring.{u3} B (CommRing.toRing.{u3} B _inst_3)))))))) (MulActionWithZero.toSMulWithZero.{u1, u3} R B (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u3} B (AddMonoid.toAddZeroClass.{u3} B (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} B (Semiring.toNonAssocSemiring.{u3} B (Ring.toSemiring.{u3} B (CommRing.toRing.{u3} B _inst_3)))))))) (Module.toMulActionWithZero.{u1, u3} R B (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} B (Semiring.toNonAssocSemiring.{u3} B (Ring.toSemiring.{u3} B (CommRing.toRing.{u3} B _inst_3))))) (Algebra.toModule.{u1, u3} R B (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u3} B (CommRing.toRing.{u3} B _inst_3)) _inst_7)))))] {x : B}, (IsIntegral.{u1, u3} R B _inst_1 (CommRing.toRing.{u3} B _inst_3) _inst_7 x) -> (IsIntegral.{u2, u3} A B _inst_2 (CommRing.toRing.{u3} B _inst_3) _inst_6 x)
-but is expected to have type
-  forall {R : Type.{u3}} {A : Type.{u1}} {B : Type.{u2}} [_inst_1 : CommRing.{u3} R] [_inst_2 : CommRing.{u1} A] [_inst_3 : CommRing.{u2} B] [_inst_6 : Algebra.{u1, u2} A B (CommRing.toCommSemiring.{u1} A _inst_2) (CommSemiring.toSemiring.{u2} B (CommRing.toCommSemiring.{u2} B _inst_3))] [_inst_7 : Algebra.{u3, u2} R B (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u2} B (CommRing.toCommSemiring.{u2} B _inst_3))] [_inst_8 : Algebra.{u3, u1} R A (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2))] [_inst_9 : IsScalarTower.{u3, u1, u2} R A B (Algebra.toSMul.{u3, u1} R A (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u1} A (CommRing.toCommSemiring.{u1} A _inst_2)) _inst_8) (Algebra.toSMul.{u1, u2} A B (CommRing.toCommSemiring.{u1} A _inst_2) (CommSemiring.toSemiring.{u2} B (CommRing.toCommSemiring.{u2} B _inst_3)) _inst_6) (Algebra.toSMul.{u3, u2} R B (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u2} B (CommRing.toCommSemiring.{u2} B _inst_3)) _inst_7)] {x : B}, (IsIntegral.{u3, u2} R B _inst_1 (CommRing.toRing.{u2} B _inst_3) _inst_7 x) -> (IsIntegral.{u1, u2} A B _inst_2 (CommRing.toRing.{u2} B _inst_3) _inst_6 x)
-Case conversion may be inaccurate. Consider using '#align is_integral_tower_top_of_is_integral isIntegral_tower_top_of_isIntegralₓ'. -/
 /-- If `R → A → B` is an algebra tower,
 then if the entire tower is an integral extension so is `A → B`. -/
 theorem isIntegral_tower_top_of_isIntegral {x : B} (h : IsIntegral R x) : IsIntegral A x :=
@@ -1549,12 +1087,6 @@ theorem isIntegral_tower_top_of_isIntegral {x : B} (h : IsIntegral R x) : IsInte
   exact hp'
 #align is_integral_tower_top_of_is_integral isIntegral_tower_top_of_isIntegral
 
-/- warning: ring_hom.is_integral_quotient_of_is_integral -> RingHom.isIntegral_quotient_of_isIntegral is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_4 : CommRing.{u2} S] (f : RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_4)))) {I : Ideal.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_4))}, (RingHom.IsIntegral.{u1, u2} R S _inst_1 (CommRing.toRing.{u2} S _inst_4) f) -> (RingHom.IsIntegral.{u1, u2} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (Ideal.comap.{u1, u2, max u1 u2} R S (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_4)))) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_4)) (RingHom.ringHomClass.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_4)))) f I)) (HasQuotient.Quotient.{u2, u2} S (Ideal.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_4))) (Ideal.hasQuotient.{u2} S _inst_4) I) (Ideal.Quotient.commRing.{u1} R _inst_1 (Ideal.comap.{u1, u2, max u1 u2} R S (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_4)))) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_4)) (RingHom.ringHomClass.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_4)))) f I)) (CommRing.toRing.{u2} (HasQuotient.Quotient.{u2, u2} S (Ideal.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_4))) (Ideal.hasQuotient.{u2} S _inst_4) I) (Ideal.Quotient.commRing.{u2} S _inst_4 I)) (Ideal.quotientMap.{u1, u2} R S _inst_1 _inst_4 (Ideal.comap.{u1, u2, max u1 u2} R S (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_4)))) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_4)) (RingHom.ringHomClass.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_4)))) f I) I f (le_rfl.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (SetLike.partialOrder.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (Ideal.comap.{u1, u2, max u1 u2} R S (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_4)))) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_4)) (RingHom.ringHomClass.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_4)))) f I))))
-but is expected to have type
-  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_4 : CommRing.{u2} S] (f : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_4)))) {I : Ideal.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_4))}, (RingHom.IsIntegral.{u1, u2} R S _inst_1 (CommRing.toRing.{u2} S _inst_4) f) -> (RingHom.IsIntegral.{u1, u2} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_1) (Ideal.comap.{u1, u2, max u1 u2} R S (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_4)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_4)) (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_4)))) f I)) (HasQuotient.Quotient.{u2, u2} S (Ideal.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_4))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} S _inst_4) I) (Ideal.Quotient.commRing.{u1} R _inst_1 (Ideal.comap.{u1, u2, max u1 u2} R S (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_4)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_4)) (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_4)))) f I)) (CommRing.toRing.{u2} (HasQuotient.Quotient.{u2, u2} S (Ideal.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_4))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} S _inst_4) I) (Ideal.Quotient.commRing.{u2} S _inst_4 I)) (Ideal.quotientMap.{u1, u2} R S _inst_1 _inst_4 (Ideal.comap.{u1, u2, max u1 u2} R S (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_4)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_4)) (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_4)))) f I) I f (le_rfl.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Submodule.completeLattice.{u1, u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))))) (Ideal.comap.{u1, u2, max u1 u2} R S (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_4)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_4)) (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_4)))) f I))))
-Case conversion may be inaccurate. Consider using '#align ring_hom.is_integral_quotient_of_is_integral RingHom.isIntegral_quotient_of_isIntegralₓ'. -/
 theorem RingHom.isIntegral_quotient_of_isIntegral {I : Ideal S} (hf : f.IsIntegral) :
     (Ideal.quotientMap I f le_rfl).IsIntegral :=
   by
@@ -1564,20 +1096,11 @@ theorem RingHom.isIntegral_quotient_of_isIntegral {I : Ideal S} (hf : f.IsIntegr
   simpa only [hom_eval₂, eval₂_map] using congr_arg (Ideal.Quotient.mk I) hpx
 #align ring_hom.is_integral_quotient_of_is_integral RingHom.isIntegral_quotient_of_isIntegral
 
-/- warning: is_integral_quotient_of_is_integral -> isIntegral_quotient_of_isIntegral is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_8 : Algebra.{u1, u2} R A (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))] {I : Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))}, (Algebra.IsIntegral.{u1, u2} R A _inst_1 (CommRing.toRing.{u2} A _inst_2) _inst_8) -> (Algebra.IsIntegral.{u1, u2} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Ideal.hasQuotient.{u1} R _inst_1) (Ideal.comap.{u1, u2, max u1 u2} R A (RingHom.{u1, u2} R A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (RingHom.ringHomClass.{u1, u2} R A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)))) (algebraMap.{u1, u2} R A (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_8) I)) (HasQuotient.Quotient.{u2, u2} A (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) (Ideal.hasQuotient.{u2} A _inst_2) I) (Ideal.Quotient.commRing.{u1} R _inst_1 (Ideal.comap.{u1, u2, max u1 u2} R A (RingHom.{u1, u2} R A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) (RingHom.ringHomClass.{u1, u2} R A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)))) (algebraMap.{u1, u2} R A (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2)) _inst_8) I)) (CommRing.toRing.{u2} (HasQuotient.Quotient.{u2, u2} A (Ideal.{u2} A (Ring.toSemiring.{u2} A (CommRing.toRing.{u2} A _inst_2))) (Ideal.hasQuotient.{u2} A _inst_2) I) (Ideal.Quotient.commRing.{u2} A _inst_2 I)) (Ideal.quotientAlgebra.{u1, u2} R _inst_1 A _inst_2 I _inst_8))
-but is expected to have type
-  forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : CommRing.{u2} A] [_inst_8 : Algebra.{u1, u2} R A (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))] {I : Ideal.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))}, (Algebra.IsIntegral.{u1, u2} R A _inst_1 (CommRing.toRing.{u2} A _inst_2) _inst_8) -> (Algebra.IsIntegral.{u1, u2} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_1) (Ideal.comap.{u1, u2, max u1 u2} R A (RingHom.{u1, u2} R A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (RingHom.instRingHomClassRingHom.{u1, u2} R A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)))) (algebraMap.{u1, u2} R A (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_8) I)) (HasQuotient.Quotient.{u2, u2} A (Ideal.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} A _inst_2) I) (Ideal.Quotient.commRing.{u1} R _inst_1 (Ideal.comap.{u1, u2, max u1 u2} R A (RingHom.{u1, u2} R A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) (RingHom.instRingHomClassRingHom.{u1, u2} R A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)))) (algebraMap.{u1, u2} R A (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2)) _inst_8) I)) (CommRing.toRing.{u2} (HasQuotient.Quotient.{u2, u2} A (Ideal.{u2} A (CommSemiring.toSemiring.{u2} A (CommRing.toCommSemiring.{u2} A _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u2} A _inst_2) I) (Ideal.Quotient.commRing.{u2} A _inst_2 I)) (Ideal.quotientAlgebra.{u1, u2} R _inst_1 A _inst_2 I _inst_8))
-Case conversion may be inaccurate. Consider using '#align is_integral_quotient_of_is_integral isIntegral_quotient_of_isIntegralₓ'. -/
 theorem isIntegral_quotient_of_isIntegral {I : Ideal A} (hRA : Algebra.IsIntegral R A) :
     Algebra.IsIntegral (R ⧸ I.comap (algebraMap R A)) (A ⧸ I) :=
   (algebraMap R A).isIntegral_quotient_of_isIntegral hRA
 #align is_integral_quotient_of_is_integral isIntegral_quotient_of_isIntegral
 
-/- warning: is_integral_quotient_map_iff -> isIntegral_quotientMap_iff is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align is_integral_quotient_map_iff isIntegral_quotientMap_iffₓ'. -/
 theorem isIntegral_quotientMap_iff {I : Ideal S} :
     (Ideal.quotientMap I f le_rfl).IsIntegral ↔
       ((Ideal.Quotient.mk I).comp f : R →+* S ⧸ I).IsIntegral :=
@@ -1589,12 +1112,6 @@ theorem isIntegral_quotientMap_iff {I : Ideal S} :
   exact RingHom.isIntegral_of_surjective g Ideal.Quotient.mk_surjective
 #align is_integral_quotient_map_iff isIntegral_quotientMap_iff
 
-/- warning: is_field_of_is_integral_of_is_field -> isField_of_isIntegral_of_isField is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_10 : CommRing.{u1} R] [_inst_11 : Nontrivial.{u1} R] [_inst_12 : CommRing.{u2} S] [_inst_13 : IsDomain.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_12))] [_inst_14 : Algebra.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_10) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_12))], (Algebra.IsIntegral.{u1, u2} R S _inst_10 (CommRing.toRing.{u2} S _inst_12) _inst_14) -> (Function.Injective.{succ u1, succ u2} R 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_10))) (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_12)))) (fun (_x : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_10))) (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_12)))) => R -> S) (RingHom.hasCoeToFun.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_10))) (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_12)))) (algebraMap.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_10) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_12)) _inst_14))) -> (IsField.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_12))) -> (IsField.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_10)))
-but is expected to have type
-  forall {R : Type.{u2}} {S : Type.{u1}} [_inst_10 : CommRing.{u2} R] [_inst_11 : Nontrivial.{u2} R] [_inst_12 : CommRing.{u1} S] [_inst_13 : IsDomain.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_12))] [_inst_14 : Algebra.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_10) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_12))], (Algebra.IsIntegral.{u2, u1} R S _inst_10 (CommRing.toRing.{u1} S _inst_12) _inst_14) -> (Function.Injective.{succ u2, succ u1} R S (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_10))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_12)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) _x) (MulHomClass.toFunLike.{max u2 u1, u2, u1} (RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_10))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_12)))) R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_10))))) (NonUnitalNonAssocSemiring.toMul.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_12))))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u1, u2, u1} (RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_10))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_12)))) R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_10)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_12)))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u1, u2, u1} (RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_10))) (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_10))) (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_10))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_12))))))) (algebraMap.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_10) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_12)) _inst_14))) -> (IsField.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_12))) -> (IsField.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_10)))
-Case conversion may be inaccurate. Consider using '#align is_field_of_is_integral_of_is_field isField_of_isIntegral_of_isFieldₓ'. -/
 /-- If the integral extension `R → S` is injective, and `S` is a field, then `R` is also a field. -/
 theorem isField_of_isIntegral_of_isField {R S : Type _} [CommRing R] [Nontrivial R] [CommRing S]
     [IsDomain S] [Algebra R S] (H : Algebra.IsIntegral R S)
@@ -1635,12 +1152,6 @@ theorem isField_of_isIntegral_of_isField {R S : Type _} [CommRing R] [Nontrivial
   rw [mul_assoc, ← pow_succ', tsub_add_cancel_of_le this]
 #align is_field_of_is_integral_of_is_field isField_of_isIntegral_of_isField
 
-/- warning: is_field_of_is_integral_of_is_field' -> isField_of_isIntegral_of_isField' is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_10 : CommRing.{u1} R] [_inst_11 : CommRing.{u2} S] [_inst_12 : IsDomain.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_11))] [_inst_13 : Algebra.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_10) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_11))], (Algebra.IsIntegral.{u1, u2} R S _inst_10 (CommRing.toRing.{u2} S _inst_11) _inst_13) -> (IsField.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_10))) -> (IsField.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_11)))
-but is expected to have type
-  forall {R : Type.{u2}} {S : Type.{u1}} [_inst_10 : CommRing.{u2} R] [_inst_11 : CommRing.{u1} S] [_inst_12 : IsDomain.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_11))] [_inst_13 : Algebra.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_10) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_11))], (Algebra.IsIntegral.{u2, u1} R S _inst_10 (CommRing.toRing.{u1} S _inst_11) _inst_13) -> (IsField.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_10))) -> (IsField.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_11)))
-Case conversion may be inaccurate. Consider using '#align is_field_of_is_integral_of_is_field' isField_of_isIntegral_of_isField'ₓ'. -/
 theorem isField_of_isIntegral_of_isField' {R S : Type _} [CommRing R] [CommRing S] [IsDomain S]
     [Algebra R S] (H : Algebra.IsIntegral R S) (hR : IsField R) : IsField S :=
   by
@@ -1658,12 +1169,6 @@ theorem isField_of_isIntegral_of_isField' {R S : Type _} [CommRing R] [CommRing
   exact ⟨y, subtype.ext_iff.mp hy⟩
 #align is_field_of_is_integral_of_is_field' isField_of_isIntegral_of_isField'
 
-/- warning: algebra.is_integral.is_field_iff_is_field -> Algebra.IsIntegral.isField_iff_isField is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_10 : CommRing.{u1} R] [_inst_11 : Nontrivial.{u1} R] [_inst_12 : CommRing.{u2} S] [_inst_13 : IsDomain.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_12))] [_inst_14 : Algebra.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_10) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_12))], (Algebra.IsIntegral.{u1, u2} R S _inst_10 (CommRing.toRing.{u2} S _inst_12) _inst_14) -> (Function.Injective.{succ u1, succ u2} R 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_10))) (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_12)))) (fun (_x : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_10))) (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_12)))) => R -> S) (RingHom.hasCoeToFun.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_10))) (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_12)))) (algebraMap.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_10) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_12)) _inst_14))) -> (Iff (IsField.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_10))) (IsField.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_12))))
-but is expected to have type
-  forall {R : Type.{u2}} {S : Type.{u1}} [_inst_10 : CommRing.{u2} R] [_inst_11 : Nontrivial.{u2} R] [_inst_12 : CommRing.{u1} S] [_inst_13 : IsDomain.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_12))] [_inst_14 : Algebra.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_10) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_12))], (Algebra.IsIntegral.{u2, u1} R S _inst_10 (CommRing.toRing.{u1} S _inst_12) _inst_14) -> (Function.Injective.{succ u2, succ u1} R S (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_10))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_12)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) _x) (MulHomClass.toFunLike.{max u2 u1, u2, u1} (RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_10))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_12)))) R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_10))))) (NonUnitalNonAssocSemiring.toMul.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_12))))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u1, u2, u1} (RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_10))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_12)))) R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_10)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_12)))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u1, u2, u1} (RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_10))) (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_10))) (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_10))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_12))))))) (algebraMap.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_10) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_12)) _inst_14))) -> (Iff (IsField.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_10))) (IsField.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_12))))
-Case conversion may be inaccurate. Consider using '#align algebra.is_integral.is_field_iff_is_field Algebra.IsIntegral.isField_iff_isFieldₓ'. -/
 theorem Algebra.IsIntegral.isField_iff_isField {R S : Type _} [CommRing R] [Nontrivial R]
     [CommRing S] [IsDomain S] [Algebra R S] (H : Algebra.IsIntegral R S)
     (hRS : Function.Injective (algebraMap R S)) : IsField R ↔ IsField S :=
@@ -1672,9 +1177,6 @@ theorem Algebra.IsIntegral.isField_iff_isField {R S : Type _} [CommRing R] [Nont
 
 end Algebra
 
-/- warning: integral_closure_idem -> integralClosure_idem is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align integral_closure_idem integralClosure_idemₓ'. -/
 theorem integralClosure_idem {R : Type _} {A : Type _} [CommRing R] [CommRing A] [Algebra R A] :
     integralClosure (integralClosure R A : Set A) A = ⊥ :=
   eq_bot_iff.2 fun x hx =>
@@ -1692,12 +1194,6 @@ variable {R S : Type _} [CommRing R] [CommRing S] [IsDomain S] [Algebra R S]
 instance : IsDomain (integralClosure R S) :=
   inferInstance
 
-/- warning: roots_mem_integral_closure -> roots_mem_integralClosure is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : CommRing.{u2} S] [_inst_3 : IsDomain.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))] [_inst_4 : Algebra.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))] {f : Polynomial.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))}, (Polynomial.Monic.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) f) -> (forall {a : S}, (Membership.Mem.{u2, u2} S (Multiset.{u2} S) (Multiset.hasMem.{u2} S) a (Polynomial.roots.{u2} S _inst_2 _inst_3 (Polynomial.map.{u1, u2} R S (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{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_4) f))) -> (Membership.Mem.{u2, u2} S (Subalgebra.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) _inst_4) (SetLike.hasMem.{u2, u2} (Subalgebra.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) _inst_4) S (Subalgebra.setLike.{u1, u2} R S (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) _inst_4)) a (integralClosure.{u1, u2} R S _inst_1 _inst_2 _inst_4)))
-but is expected to have type
-  forall {R : Type.{u2}} {S : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : CommRing.{u1} S] [_inst_3 : IsDomain.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))] [_inst_4 : Algebra.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))] {f : Polynomial.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))}, (Polynomial.Monic.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) f) -> (forall {a : S}, (Membership.mem.{u1, u1} S (Multiset.{u1} S) (Multiset.instMembershipMultiset.{u1} S) a (Polynomial.roots.{u1} S _inst_2 _inst_3 (Polynomial.map.{u2, u1} R S (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (algebraMap.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) _inst_4) f))) -> (Membership.mem.{u1, u1} S (Subalgebra.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) _inst_4) (SetLike.instMembership.{u1, u1} (Subalgebra.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) _inst_4) S (Subalgebra.instSetLikeSubalgebra.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) _inst_4)) a (integralClosure.{u2, u1} R S _inst_1 _inst_2 _inst_4)))
-Case conversion may be inaccurate. Consider using '#align roots_mem_integral_closure roots_mem_integralClosureₓ'. -/
 theorem roots_mem_integralClosure {f : R[X]} (hf : f.Monic) {a : S}
     (ha : a ∈ (f.map <| algebraMap R S).roots) : a ∈ integralClosure R S :=
   ⟨f, hf, (eval₂_eq_eval_map _).trans <| (mem_roots <| (hf.map _).NeZero).1 ha⟩
Diff
@@ -291,11 +291,8 @@ theorem FG_adjoin_singleton_of_integral (x : A) (hx : IsIntegral R x) :
   rcases hx with ⟨f, hfm, hfx⟩
   exists Finset.image ((· ^ ·) x) (Finset.range (nat_degree f + 1))
   apply le_antisymm
-  · rw [span_le]
-    intro s hs
-    rw [Finset.mem_coe] at hs
-    rcases Finset.mem_image.1 hs with ⟨k, hk, rfl⟩
-    clear hk
+  · rw [span_le]; intro s hs; rw [Finset.mem_coe] at hs
+    rcases Finset.mem_image.1 hs with ⟨k, hk, rfl⟩; clear hk
     exact (Algebra.adjoin R {x}).pow_mem (Algebra.subset_adjoin (Set.mem_singleton _)) k
   intro r hr; change r ∈ Algebra.adjoin R ({x} : Set A) at hr
   rw [Algebra.adjoin_singleton_eq_range_aeval] at hr
@@ -363,14 +360,11 @@ theorem isIntegral_of_mem_of_FG (S : Subalgebra R A) (HS : S.toSubmodule.FG) (x
     rwa [← @Finsupp.mem_span_image_iff_total A A R _ _ _ id (↑y) x, Set.image_id ↑y, hy]
   -- Note that `y ⊆ S`.
   have hyS : ∀ {p}, p ∈ y → p ∈ S := fun p hp =>
-    show p ∈ S.to_submodule by
-      rw [← hy]
-      exact subset_span hp
+    show p ∈ S.to_submodule by rw [← hy]; exact subset_span hp
   -- Now `S` is a subalgebra so the product of two elements of `y` is also in `S`.
   have : ∀ jk : (↑(y ×ˢ y) : Set (A × A)), jk.1.1 * jk.1.2 ∈ S.to_submodule := fun jk =>
     S.mul_mem (hyS (Finset.mem_product.1 jk.2).1) (hyS (Finset.mem_product.1 jk.2).2)
-  rw [← hy, ← Set.image_id ↑y] at this
-  simp only [Finsupp.mem_span_image_iff_total] at this
+  rw [← hy, ← Set.image_id ↑y] at this; simp only [Finsupp.mem_span_image_iff_total] at this
   -- Say `yᵢyⱼ = ∑rᵢⱼₖ yₖ`
   choose ly hly1 hly2
   -- Now let `S₀` be the subring of `R` generated by the `rᵢ` and the `rᵢⱼₖ`.
@@ -385,14 +379,11 @@ theorem isIntegral_of_mem_of_FG (S : Subalgebra R A) (HS : S.toSubmodule.FG) (x
   have :
     span S₀ (insert 1 ↑y : Set A) * span S₀ (insert 1 ↑y : Set A) ≤ span S₀ (insert 1 ↑y : Set A) :=
     by
-    rw [span_mul_span]
-    refine' span_le.2 fun z hz => _
+    rw [span_mul_span]; refine' span_le.2 fun z hz => _
     rcases Set.mem_mul.1 hz with ⟨p, q, rfl | hp, hq, rfl⟩
-    · rw [one_mul]
-      exact subset_span hq
+    · rw [one_mul]; exact subset_span hq
     rcases hq with (rfl | hq)
-    · rw [mul_one]
-      exact subset_span (Or.inr hp)
+    · rw [mul_one]; exact subset_span (Or.inr hp)
     erw [← hly2 ⟨(p, q), Finset.mem_product.2 ⟨hp, hq⟩⟩]
     rw [Finsupp.total_apply, Finsupp.sum]
     refine' (span S₀ (insert 1 ↑y : Set A)).sum_mem fun t ht => _
@@ -402,8 +393,7 @@ theorem isIntegral_of_mem_of_FG (S : Subalgebra R A) (HS : S.toSubmodule.FG) (x
           Finset.mem_biUnion.2
             ⟨⟨(p, q), Finset.mem_product.2 ⟨hp, hq⟩⟩, Finset.mem_univ _,
               Finsupp.mem_frange.2 ⟨Finsupp.mem_support_iff.1 ht, _, rfl⟩⟩)
-    change (⟨_, this⟩ : S₀) • t ∈ _
-    exact smul_mem _ _ (subset_span <| Or.inr <| hly1 _ ht)
+    change (⟨_, this⟩ : S₀) • t ∈ _; exact smul_mem _ _ (subset_span <| Or.inr <| hly1 _ ht)
   -- Hence this span is a subring. Call this subring `S₁`.
   let S₁ : Subring A :=
     { carrier := span S₀ (insert 1 ↑y : Set A)
@@ -435,14 +425,9 @@ theorem isIntegral_of_mem_of_FG (S : Subalgebra R A) (HS : S.toSubmodule.FG) (x
   refine'
     isIntegral_of_submodule_noetherian (Algebra.adjoin S₀ ↑y)
       (isNoetherian_of_fg_of_noetherian _
-        ⟨insert 1 y, by
-          rw [Finset.coe_insert]
-          ext z
-          simp [S₁]
-          convert foo z⟩)
+        ⟨insert 1 y, by rw [Finset.coe_insert]; ext z; simp [S₁]; convert foo z⟩)
       _ _
-  rw [← hlx2, Finsupp.total_apply, Finsupp.sum]
-  refine' Subalgebra.sum_mem _ fun r hr => _
+  rw [← hlx2, Finsupp.total_apply, Finsupp.sum]; refine' Subalgebra.sum_mem _ fun r hr => _
   have : lx r ∈ S₀ :=
     Subring.subset_closure (Finset.mem_union_left _ (Finset.mem_image_of_mem _ hr))
   change (⟨_, this⟩ : S₀) • r ∈ _
@@ -484,11 +469,7 @@ theorem isIntegral_of_smul_mem_submodule {M : Type _} [AddCommGroup M] [Module R
         map_smul' := fun r s => LinearMap.ext fun n => Subtype.ext <| smul_assoc r s n }
       (LinearMap.ext fun n => Subtype.ext <| one_smul _ _) fun x y =>
       LinearMap.ext fun n => Subtype.ext <| mul_smul x y n
-  obtain ⟨a, ha₁, ha₂⟩ : ∃ a ∈ N, a ≠ (0 : M) :=
-    by
-    by_contra h'
-    push_neg  at h'
-    apply hN
+  obtain ⟨a, ha₁, ha₂⟩ : ∃ a ∈ N, a ≠ (0 : M) := by by_contra h'; push_neg  at h'; apply hN;
     rwa [eq_bot_iff]
   have : Function.Injective f :=
     by
@@ -571,12 +552,7 @@ theorem Algebra.IsIntegral.finite (h : Algebra.IsIntegral R A) [h' : Algebra.Fin
     Module.Finite R A :=
   by
   have :=
-    h.to_finite
-      (by
-        delta RingHom.FiniteType
-        convert h'
-        ext
-        exact (Algebra.smul_def _ _).symm)
+    h.to_finite (by delta RingHom.FiniteType; convert h'; ext; exact (Algebra.smul_def _ _).symm)
   delta RingHom.Finite at this; convert this; ext; exact Algebra.smul_def _ _
 #align algebra.is_integral.finite Algebra.IsIntegral.finite
 
@@ -1026,8 +1002,7 @@ theorem IsIntegral.tmul (x : A) {y : B} (h : IsIntegral R y) : IsIntegral A (x 
   by
   obtain ⟨p, hp, hp'⟩ := h
   refine' ⟨(p.map (algebraMap R A)).scaleRoots x, _, _⟩
-  · rw [Polynomial.monic_scaleRoots_iff]
-    exact hp.map _
+  · rw [Polynomial.monic_scaleRoots_iff]; exact hp.map _
   convert@Polynomial.scaleRoots_eval₂_mul (A ⊗[R] B) A _ _ _
       algebra.tensor_product.include_left.to_ring_hom (1 ⊗ₜ y) x using
     2
@@ -1156,9 +1131,7 @@ theorem RingHom.isIntegralElem_leadingCoeff_mul (h : p.eval₂ f x = 0) :
   by
   by_cases h' : 1 ≤ p.nat_degree
   · use normalizeScaleRoots p
-    have : p ≠ 0 := fun h'' => by
-      rw [h'', nat_degree_zero] at h'
-      exact Nat.not_succ_le_zero 0 h'
+    have : p ≠ 0 := fun h'' => by rw [h'', nat_degree_zero] at h'; exact Nat.not_succ_le_zero 0 h'
     use normalizeScaleRoots_monic p this
     rw [normalizeScaleRoots_eval₂_leadingCoeff_mul p h' f x, h, MulZeroClass.mul_zero]
   · by_cases hp : p.map f = 0
@@ -1212,10 +1185,7 @@ but is expected to have type
 Case conversion may be inaccurate. Consider using '#align integral_closure.is_integral_closure integralClosure.isIntegralClosureₓ'. -/
 instance integralClosure.isIntegralClosure (R A : Type _) [CommRing R] [CommRing A] [Algebra R A] :
     IsIntegralClosure (integralClosure R A) R A :=
-  ⟨Subtype.coe_injective, fun x =>
-    ⟨fun h => ⟨⟨x, h⟩, rfl⟩, by
-      rintro ⟨⟨_, h⟩, rfl⟩
-      exact h⟩⟩
+  ⟨Subtype.coe_injective, fun x => ⟨fun h => ⟨⟨x, h⟩, rfl⟩, by rintro ⟨⟨_, h⟩, rfl⟩; exact h⟩⟩
 #align integral_closure.is_integral_closure integralClosure.isIntegralClosure
 
 namespace IsIntegralClosure
@@ -1375,14 +1345,8 @@ variable [Algebra R A] [Algebra R A'] [IsScalarTower R A B] [IsScalarTower R A'
 /-- Integral closures are all isomorphic to each other. -/
 noncomputable def equiv : A ≃ₐ[R] A' :=
   AlgEquiv.ofAlgHom (lift _ B (isIntegral_algebra R B)) (lift _ B (isIntegral_algebra R B))
-    (by
-      ext x
-      apply algebra_map_injective A' R B
-      simp)
-    (by
-      ext x
-      apply algebra_map_injective A R B
-      simp)
+    (by ext x; apply algebra_map_injective A' R B; simp)
+    (by ext x; apply algebra_map_injective A R B; simp)
 #align is_integral_closure.equiv IsIntegralClosure.equiv
 -/
 
@@ -1419,24 +1383,19 @@ theorem isIntegral_trans_aux (x : B) {p : A[X]} (pmonic : Monic p) (hp : aeval x
   generalize hS : (↑(p.map <| algebraMap A B).frange : Set B) = S
   have coeffs_mem : ∀ i, (p.map <| algebraMap A B).coeff i ∈ adjoin R S :=
     by
-    intro i
-    by_cases hi : (p.map <| algebraMap A B).coeff i = 0
-    · rw [hi]
-      exact Subalgebra.zero_mem _
+    intro i; by_cases hi : (p.map <| algebraMap A B).coeff i = 0
+    · rw [hi]; exact Subalgebra.zero_mem _
     rw [← hS]
     exact subset_adjoin (coeff_mem_frange _ _ hi)
   obtain ⟨q, hq⟩ :
-    ∃ q : (adjoin R S)[X], q.map (algebraMap (adjoin R S) B) = (p.map <| algebraMap A B) :=
-    by
-    rw [← Set.mem_range]
-    exact (Polynomial.mem_map_range _).2 fun i => ⟨⟨_, coeffs_mem i⟩, rfl⟩
+    ∃ q : (adjoin R S)[X], q.map (algebraMap (adjoin R S) B) = (p.map <| algebraMap A B) := by
+    rw [← Set.mem_range]; exact (Polynomial.mem_map_range _).2 fun i => ⟨⟨_, coeffs_mem i⟩, rfl⟩
   use q
   constructor
   · suffices h : (q.map (algebraMap (adjoin R S) B)).Monic
     · refine' monic_of_injective _ h
       exact Subtype.val_injective
-    · rw [hq]
-      exact pmonic.map _
+    · rw [hq]; exact pmonic.map _
   · convert hp using 1
     replace hq := congr_arg (eval x) hq
     convert hq using 1 <;> symm <;> apply eval_map
Diff
@@ -136,10 +136,7 @@ theorem isIntegral_of_noetherian (H : IsNoetherian R A) (x : A) : IsIntegral R x
 #align is_integral_of_noetherian isIntegral_of_noetherian
 
 /- warning: is_integral_of_submodule_noetherian -> isIntegral_of_submodule_noetherian is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : Ring.{u2} A] [_inst_4 : Algebra.{u1, u2} R A (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} A _inst_2)] (S : Subalgebra.{u1, u2} R A (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} A _inst_2) _inst_4), (IsNoetherian.{u1, u2} R (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} A _inst_2) _inst_4)) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} A _inst_2) _inst_4)) A (Submodule.setLike.{u1, u2} R A (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} A _inst_2) _inst_4))) (coeFn.{succ u2, succ u2} (OrderEmbedding.{u2, u2} (Subalgebra.{u1, u2} R A (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} A _inst_2) _inst_4) (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} A _inst_2) _inst_4)) (Preorder.toHasLe.{u2} (Subalgebra.{u1, u2} R A (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} A _inst_2) _inst_4) (PartialOrder.toPreorder.{u2} (Subalgebra.{u1, u2} R A (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} A _inst_2) _inst_4) (SetLike.partialOrder.{u2, u2} (Subalgebra.{u1, u2} R A (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} A _inst_2) _inst_4) A (Subalgebra.setLike.{u1, u2} R A (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} A _inst_2) _inst_4)))) (Preorder.toHasLe.{u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} A _inst_2) _inst_4)) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} A _inst_2) _inst_4)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} A _inst_2) _inst_4)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} A _inst_2) _inst_4)) (Submodule.completeLattice.{u1, u2} R A (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} A _inst_2) _inst_4))))))) (fun (_x : RelEmbedding.{u2, u2} (Subalgebra.{u1, u2} R A (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} A _inst_2) _inst_4) (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} A _inst_2) _inst_4)) (LE.le.{u2} (Subalgebra.{u1, u2} R A (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} A _inst_2) _inst_4) (Preorder.toHasLe.{u2} (Subalgebra.{u1, u2} R A (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} A _inst_2) _inst_4) (PartialOrder.toPreorder.{u2} (Subalgebra.{u1, u2} R A (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} A _inst_2) _inst_4) (SetLike.partialOrder.{u2, u2} (Subalgebra.{u1, u2} R A (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} A _inst_2) _inst_4) A (Subalgebra.setLike.{u1, u2} R A (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} A _inst_2) _inst_4))))) (LE.le.{u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} A _inst_2) _inst_4)) (Preorder.toHasLe.{u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} A _inst_2) _inst_4)) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} A _inst_2) _inst_4)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} A _inst_2) _inst_4)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} A _inst_2) _inst_4)) (Submodule.completeLattice.{u1, u2} R A (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} A _inst_2) _inst_4)))))))) => (Subalgebra.{u1, u2} R A (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} A _inst_2) _inst_4) -> (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} A _inst_2) _inst_4))) (RelEmbedding.hasCoeToFun.{u2, u2} (Subalgebra.{u1, u2} R A (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} A _inst_2) _inst_4) (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} A _inst_2) _inst_4)) (LE.le.{u2} (Subalgebra.{u1, u2} R A (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} A _inst_2) _inst_4) (Preorder.toHasLe.{u2} (Subalgebra.{u1, u2} R A (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} A _inst_2) _inst_4) (PartialOrder.toPreorder.{u2} (Subalgebra.{u1, u2} R A (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} A _inst_2) _inst_4) (SetLike.partialOrder.{u2, u2} (Subalgebra.{u1, u2} R A (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} A _inst_2) _inst_4) A (Subalgebra.setLike.{u1, u2} R A (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} A _inst_2) _inst_4))))) (LE.le.{u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} A _inst_2) _inst_4)) (Preorder.toHasLe.{u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} A _inst_2) _inst_4)) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} A _inst_2) _inst_4)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} A _inst_2) _inst_4)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} R A (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} A _inst_2) _inst_4)) (Submodule.completeLattice.{u1, u2} R A (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (Ring.toSemiring.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} A _inst_2) _inst_4)))))))) (Subalgebra.toSubmodule.{u1, u2} R A (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} A _inst_2) _inst_4) S)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Submodule.addCommMonoid.{u1, u2} R A (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2}