ring_theory.ideal.local_ringMathlib.RingTheory.Ideal.LocalRing

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)

(last sync)

Changes in mathlib3port

mathlib3
mathlib3port
Diff
@@ -191,7 +191,7 @@ namespace LocalRing
 #print LocalRing.of_isUnit_or_isUnit_one_sub_self /-
 theorem of_isUnit_or_isUnit_one_sub_self [Nontrivial R] (h : ∀ a : R, IsUnit a ∨ IsUnit (1 - a)) :
     LocalRing R :=
-  ⟨fun a b hab => add_sub_cancel' a b ▸ hab.symm ▸ h a⟩
+  ⟨fun a b hab => add_sub_cancel_left a b ▸ hab.symm ▸ h a⟩
 #align local_ring.of_is_unit_or_is_unit_one_sub_self LocalRing.of_isUnit_or_isUnit_one_sub_self
 -/
 
@@ -199,7 +199,7 @@ variable [LocalRing R]
 
 #print LocalRing.isUnit_or_isUnit_one_sub_self /-
 theorem isUnit_or_isUnit_one_sub_self (a : R) : IsUnit a ∨ IsUnit (1 - a) :=
-  isUnit_or_isUnit_of_isUnit_add <| (add_sub_cancel'_right a 1).symm ▸ isUnit_one
+  isUnit_or_isUnit_of_isUnit_add <| (add_sub_cancel a 1).symm ▸ isUnit_one
 #align local_ring.is_unit_or_is_unit_one_sub_self LocalRing.isUnit_or_isUnit_one_sub_self
 -/
 
Diff
@@ -104,7 +104,7 @@ variable [LocalRing R]
 theorem isUnit_or_isUnit_of_isUnit_add {a b : R} (h : IsUnit (a + b)) : IsUnit a ∨ IsUnit b :=
   by
   rcases h with ⟨u, hu⟩
-  rw [← Units.inv_mul_eq_one, mul_add] at hu 
+  rw [← Units.inv_mul_eq_one, mul_add] at hu
   apply Or.imp _ _ (is_unit_or_is_unit_of_add_one hu) <;> exact isUnit_of_mul_isUnit_right
 #align local_ring.is_unit_or_is_unit_of_is_unit_add LocalRing.isUnit_or_isUnit_of_isUnit_add
 -/
@@ -134,7 +134,7 @@ instance maximalIdeal.isMaximal : (maximalIdeal R).IsMaximal :=
   constructor
   · intro h; apply h; exact isUnit_one
   · intro I x hI hx H
-    erw [Classical.not_not] at hx 
+    erw [Classical.not_not] at hx
     rcases hx with ⟨u, rfl⟩
     simpa using I.mul_mem_left (↑u⁻¹) H
 #align local_ring.maximal_ideal.is_maximal LocalRing.maximalIdeal.isMaximal
@@ -384,7 +384,7 @@ theorem of_surjective [CommSemiring R] [LocalRing R] [CommSemiring S] [Nontrivia
       intro a b hab
       obtain ⟨a, rfl⟩ := hf a
       obtain ⟨b, rfl⟩ := hf b
-      rw [← map_add] at hab 
+      rw [← map_add] at hab
       exact
         (is_unit_or_is_unit_of_is_unit_add <| IsLocalRingHom.map_nonunit _ hab).imp f.is_unit_map
           f.is_unit_map)
@@ -609,7 +609,7 @@ theorem isLocalRingHom_residue : IsLocalRingHom (LocalRing.residue R) :=
   constructor
   intro a ha
   by_contra
-  erw [ideal.quotient.eq_zero_iff_mem.mpr ((LocalRing.mem_maximalIdeal _).mpr h)] at ha 
+  erw [ideal.quotient.eq_zero_iff_mem.mpr ((LocalRing.mem_maximalIdeal _).mpr h)] at ha
   exact ha.ne_zero rfl
 #align local_ring.is_local_ring_hom_residue LocalRing.isLocalRingHom_residue
 -/
Diff
@@ -517,7 +517,7 @@ theorem map_residue (f : R →+* S) [IsLocalRingHom f] (r : R) :
 
 #print LocalRing.ResidueField.map_id_apply /-
 theorem map_id_apply (x : ResidueField R) : map (RingHom.id R) x = x :=
-  FunLike.congr_fun map_id x
+  DFunLike.congr_fun map_id x
 #align local_ring.residue_field.map_id_apply LocalRing.ResidueField.map_id_apply
 -/
 
@@ -525,7 +525,7 @@ theorem map_id_apply (x : ResidueField R) : map (RingHom.id R) x = x :=
 @[simp]
 theorem map_map (f : R →+* S) (g : S →+* T) (x : ResidueField R) [IsLocalRingHom f]
     [IsLocalRingHom g] : map g (map f x) = map (g.comp f) x :=
-  FunLike.congr_fun (map_comp f g).symm x
+  DFunLike.congr_fun (map_comp f g).symm x
 #align local_ring.residue_field.map_map LocalRing.ResidueField.map_map
 -/
 
Diff
@@ -205,13 +205,13 @@ theorem isUnit_or_isUnit_one_sub_self (a : R) : IsUnit a ∨ IsUnit (1 - a) :=
 
 #print LocalRing.isUnit_of_mem_nonunits_one_sub_self /-
 theorem isUnit_of_mem_nonunits_one_sub_self (a : R) (h : 1 - a ∈ nonunits R) : IsUnit a :=
-  or_iff_not_imp_right.1 (isUnit_or_isUnit_one_sub_self a) h
+  Classical.or_iff_not_imp_right.1 (isUnit_or_isUnit_one_sub_self a) h
 #align local_ring.is_unit_of_mem_nonunits_one_sub_self LocalRing.isUnit_of_mem_nonunits_one_sub_self
 -/
 
 #print LocalRing.isUnit_one_sub_self_of_mem_nonunits /-
 theorem isUnit_one_sub_self_of_mem_nonunits (a : R) (h : a ∈ nonunits R) : IsUnit (1 - a) :=
-  or_iff_not_imp_left.1 (isUnit_or_isUnit_one_sub_self a) h
+  Classical.or_iff_not_imp_left.1 (isUnit_or_isUnit_one_sub_self a) h
 #align local_ring.is_unit_one_sub_self_of_mem_nonunits LocalRing.isUnit_one_sub_self_of_mem_nonunits
 -/
 
Diff
@@ -3,10 +3,10 @@ Copyright (c) 2018 Kenny Lau. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Kenny Lau, Chris Hughes, Mario Carneiro
 -/
-import Mathbin.Algebra.Algebra.Basic
-import Mathbin.RingTheory.Ideal.Operations
-import Mathbin.RingTheory.JacobsonIdeal
-import Mathbin.Logic.Equiv.TransferInstance
+import Algebra.Algebra.Basic
+import RingTheory.Ideal.Operations
+import RingTheory.JacobsonIdeal
+import Logic.Equiv.TransferInstance
 
 #align_import ring_theory.ideal.local_ring from "leanprover-community/mathlib"@"33c67ae661dd8988516ff7f247b0be3018cdd952"
 
Diff
@@ -303,7 +303,7 @@ theorem of_irreducible_map (f : R →+* S) [h : IsLocalRingHom f] {x} (hfx : Irr
     Irreducible x :=
   ⟨fun h => hfx.not_unit <| IsUnit.map f h, fun p q hx =>
     let ⟨H⟩ := h
-    Or.imp (H p) (H q) <| hfx.isUnit_or_isUnit <| f.map_mul p q ▸ congr_arg f hx⟩
+    Or.imp (H p) (H q) <| hfx.isUnit_or_isUnit <| f.map_hMul p q ▸ congr_arg f hx⟩
 #align of_irreducible_map of_irreducible_map
 -/
 
Diff
@@ -399,7 +399,7 @@ theorem surjective_units_map_of_local_ringHom [CommRing R] [CommRing S] (f : R 
   by
   intro a
   obtain ⟨b, hb⟩ := hf (a : S)
-  use (isUnit_of_map_unit f _ (by rw [hb]; exact Units.isUnit _)).Unit; ext; exact hb
+  use(isUnit_of_map_unit f _ (by rw [hb]; exact Units.isUnit _)).Unit; ext; exact hb
 #align local_ring.surjective_units_map_of_local_ring_hom LocalRing.surjective_units_map_of_local_ringHom
 -/
 
Diff
@@ -2,17 +2,14 @@
 Copyright (c) 2018 Kenny Lau. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Kenny Lau, Chris Hughes, Mario Carneiro
-
-! This file was ported from Lean 3 source module ring_theory.ideal.local_ring
-! leanprover-community/mathlib commit 33c67ae661dd8988516ff7f247b0be3018cdd952
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathbin.Algebra.Algebra.Basic
 import Mathbin.RingTheory.Ideal.Operations
 import Mathbin.RingTheory.JacobsonIdeal
 import Mathbin.Logic.Equiv.TransferInstance
 
+#align_import ring_theory.ideal.local_ring from "leanprover-community/mathlib"@"33c67ae661dd8988516ff7f247b0be3018cdd952"
+
 /-!
 
 # Local rings
Diff
@@ -56,16 +56,20 @@ variable [CommSemiring R]
 
 namespace LocalRing
 
+#print LocalRing.of_isUnit_or_isUnit_of_isUnit_add /-
 theorem of_isUnit_or_isUnit_of_isUnit_add [Nontrivial R]
     (h : ∀ a b : R, IsUnit (a + b) → IsUnit a ∨ IsUnit b) : LocalRing R :=
   ⟨fun a b hab => h a b <| hab.symm ▸ isUnit_one⟩
 #align local_ring.of_is_unit_or_is_unit_of_is_unit_add LocalRing.of_isUnit_or_isUnit_of_isUnit_add
+-/
 
+#print LocalRing.of_nonunits_add /-
 /-- A semiring is local if it is nontrivial and the set of nonunits is closed under the addition. -/
 theorem of_nonunits_add [Nontrivial R]
     (h : ∀ a b : R, a ∈ nonunits R → b ∈ nonunits R → a + b ∈ nonunits R) : LocalRing R :=
   ⟨fun a b hab => or_iff_not_and_not.2 fun H => h a b H.1 H.2 <| hab.symm ▸ isUnit_one⟩
 #align local_ring.of_nonunits_add LocalRing.of_nonunits_add
+-/
 
 #print LocalRing.of_unique_max_ideal /-
 /-- A semiring is local if it has a unique maximal ideal. -/
@@ -84,6 +88,7 @@ theorem of_unique_max_ideal (h : ∃! I : Ideal R, I.IsMaximal) : LocalRing R :=
 #align local_ring.of_unique_max_ideal LocalRing.of_unique_max_ideal
 -/
 
+#print LocalRing.of_unique_nonzero_prime /-
 theorem of_unique_nonzero_prime (h : ∃! P : Ideal R, P ≠ ⊥ ∧ Ideal.IsPrime P) : LocalRing R :=
   of_unique_max_ideal
     (by
@@ -94,19 +99,24 @@ theorem of_unique_nonzero_prime (h : ∃! P : Ideal R, P ≠ ⊥ ∧ Ideal.IsPri
       · rintro rfl
         exact hPnot_top (hM.1.2 P (bot_lt_iff_ne_bot.2 hPnonzero)))
 #align local_ring.of_unique_nonzero_prime LocalRing.of_unique_nonzero_prime
+-/
 
 variable [LocalRing R]
 
+#print LocalRing.isUnit_or_isUnit_of_isUnit_add /-
 theorem isUnit_or_isUnit_of_isUnit_add {a b : R} (h : IsUnit (a + b)) : IsUnit a ∨ IsUnit b :=
   by
   rcases h with ⟨u, hu⟩
   rw [← Units.inv_mul_eq_one, mul_add] at hu 
   apply Or.imp _ _ (is_unit_or_is_unit_of_add_one hu) <;> exact isUnit_of_mul_isUnit_right
 #align local_ring.is_unit_or_is_unit_of_is_unit_add LocalRing.isUnit_or_isUnit_of_isUnit_add
+-/
 
+#print LocalRing.nonunits_add /-
 theorem nonunits_add {a b : R} (ha : a ∈ nonunits R) (hb : b ∈ nonunits R) : a + b ∈ nonunits R :=
   fun H => not_or_of_not ha hb (isUnit_or_isUnit_of_isUnit_add H)
 #align local_ring.nonunits_add LocalRing.nonunits_add
+-/
 
 variable (R)
 
@@ -148,11 +158,13 @@ theorem eq_maximalIdeal {I : Ideal R} (hI : I.IsMaximal) : I = maximalIdeal R :=
 #align local_ring.eq_maximal_ideal LocalRing.eq_maximalIdeal
 -/
 
+#print LocalRing.le_maximalIdeal /-
 theorem le_maximalIdeal {J : Ideal R} (hJ : J ≠ ⊤) : J ≤ maximalIdeal R :=
   by
   rcases Ideal.exists_le_maximal J hJ with ⟨M, hM1, hM2⟩
   rwa [← eq_maximal_ideal hM1]
 #align local_ring.le_maximal_ideal LocalRing.le_maximalIdeal
+-/
 
 #print LocalRing.mem_maximalIdeal /-
 @[simp]
@@ -161,11 +173,13 @@ theorem mem_maximalIdeal (x) : x ∈ maximalIdeal R ↔ x ∈ nonunits R :=
 #align local_ring.mem_maximal_ideal LocalRing.mem_maximalIdeal
 -/
 
+#print LocalRing.isField_iff_maximalIdeal_eq /-
 theorem isField_iff_maximalIdeal_eq : IsField R ↔ maximalIdeal R = ⊥ :=
   not_iff_not.mp
     ⟨Ring.ne_bot_of_isMaximal_of_not_isField inferInstance, fun h =>
       Ring.not_isField_iff_exists_prime.mpr ⟨_, h, Ideal.IsMaximal.isPrime' _⟩⟩
 #align local_ring.is_field_iff_maximal_ideal_eq LocalRing.isField_iff_maximalIdeal_eq
+-/
 
 end LocalRing
 
@@ -177,25 +191,34 @@ variable [CommRing R]
 
 namespace LocalRing
 
+#print LocalRing.of_isUnit_or_isUnit_one_sub_self /-
 theorem of_isUnit_or_isUnit_one_sub_self [Nontrivial R] (h : ∀ a : R, IsUnit a ∨ IsUnit (1 - a)) :
     LocalRing R :=
   ⟨fun a b hab => add_sub_cancel' a b ▸ hab.symm ▸ h a⟩
 #align local_ring.of_is_unit_or_is_unit_one_sub_self LocalRing.of_isUnit_or_isUnit_one_sub_self
+-/
 
 variable [LocalRing R]
 
+#print LocalRing.isUnit_or_isUnit_one_sub_self /-
 theorem isUnit_or_isUnit_one_sub_self (a : R) : IsUnit a ∨ IsUnit (1 - a) :=
   isUnit_or_isUnit_of_isUnit_add <| (add_sub_cancel'_right a 1).symm ▸ isUnit_one
 #align local_ring.is_unit_or_is_unit_one_sub_self LocalRing.isUnit_or_isUnit_one_sub_self
+-/
 
+#print LocalRing.isUnit_of_mem_nonunits_one_sub_self /-
 theorem isUnit_of_mem_nonunits_one_sub_self (a : R) (h : 1 - a ∈ nonunits R) : IsUnit a :=
   or_iff_not_imp_right.1 (isUnit_or_isUnit_one_sub_self a) h
 #align local_ring.is_unit_of_mem_nonunits_one_sub_self LocalRing.isUnit_of_mem_nonunits_one_sub_self
+-/
 
+#print LocalRing.isUnit_one_sub_self_of_mem_nonunits /-
 theorem isUnit_one_sub_self_of_mem_nonunits (a : R) (h : a ∈ nonunits R) : IsUnit (1 - a) :=
   or_iff_not_imp_left.1 (isUnit_or_isUnit_one_sub_self a) h
 #align local_ring.is_unit_one_sub_self_of_mem_nonunits LocalRing.isUnit_one_sub_self_of_mem_nonunits
+-/
 
+#print LocalRing.of_surjective' /-
 theorem of_surjective' [CommRing S] [Nontrivial S] (f : R →+* S) (hf : Function.Surjective f) :
     LocalRing S :=
   of_isUnit_or_isUnit_one_sub_self
@@ -206,7 +229,9 @@ theorem of_surjective' [CommRing S] [Nontrivial S] (f : R →+* S) (hf : Functio
       rw [← f.map_one, ← f.map_sub]
       apply f.is_unit_map)
 #align local_ring.of_surjective' LocalRing.of_surjective'
+-/
 
+#print LocalRing.jacobson_eq_maximalIdeal /-
 theorem jacobson_eq_maximalIdeal (I : Ideal R) (h : I ≠ ⊤) :
     I.jacobson = LocalRing.maximalIdeal R :=
   by
@@ -214,6 +239,7 @@ theorem jacobson_eq_maximalIdeal (I : Ideal R) (h : I ≠ ⊤) :
   · exact sInf_le ⟨LocalRing.le_maximalIdeal h, LocalRing.maximalIdeal.isMaximal R⟩
   · exact le_sInf fun J (hJ : I ≤ J ∧ J.IsMaximal) => le_of_eq (LocalRing.eq_maximalIdeal hJ.2).symm
 #align local_ring.jacobson_eq_maximal_ideal LocalRing.jacobson_eq_maximalIdeal
+-/
 
 end LocalRing
 
@@ -238,16 +264,20 @@ instance isLocalRingHom_id (R : Type _) [Semiring R] : IsLocalRingHom (RingHom.i
 #align is_local_ring_hom_id isLocalRingHom_id
 -/
 
+#print isUnit_map_iff /-
 @[simp]
 theorem isUnit_map_iff (f : R →+* S) [IsLocalRingHom f] (a) : IsUnit (f a) ↔ IsUnit a :=
   ⟨IsLocalRingHom.map_nonunit a, f.isUnit_map⟩
 #align is_unit_map_iff isUnit_map_iff
+-/
 
+#print map_mem_nonunits_iff /-
 @[simp]
 theorem map_mem_nonunits_iff (f : R →+* S) [IsLocalRingHom f] (a) :
     f a ∈ nonunits S ↔ a ∈ nonunits R :=
   ⟨fun h ha => h <| (isUnit_map_iff f a).mpr ha, fun h ha => h <| (isUnit_map_iff f a).mp ha⟩
 #align map_mem_nonunits_iff map_mem_nonunits_iff
+-/
 
 #print isLocalRingHom_comp /-
 instance isLocalRingHom_comp (g : S →+* T) (f : R →+* S) [IsLocalRingHom g] [IsLocalRingHom f] :
@@ -256,23 +286,29 @@ instance isLocalRingHom_comp (g : S →+* T) (f : R →+* S) [IsLocalRingHom g]
 #align is_local_ring_hom_comp isLocalRingHom_comp
 -/
 
+#print isLocalRingHom_equiv /-
 instance isLocalRingHom_equiv (f : R ≃+* S) : IsLocalRingHom (f : R →+* S)
     where map_nonunit a ha := by
     convert (f.symm : S →+* R).isUnit_map ha
     exact (RingEquiv.symm_apply_apply f a).symm
 #align is_local_ring_hom_equiv isLocalRingHom_equiv
+-/
 
+#print isUnit_of_map_unit /-
 @[simp]
 theorem isUnit_of_map_unit (f : R →+* S) [IsLocalRingHom f] (a) (h : IsUnit (f a)) : IsUnit a :=
   IsLocalRingHom.map_nonunit a h
 #align is_unit_of_map_unit isUnit_of_map_unit
+-/
 
+#print of_irreducible_map /-
 theorem of_irreducible_map (f : R →+* S) [h : IsLocalRingHom f] {x} (hfx : Irreducible (f x)) :
     Irreducible x :=
   ⟨fun h => hfx.not_unit <| IsUnit.map f h, fun p q hx =>
     let ⟨H⟩ := h
     Or.imp (H p) (H q) <| hfx.isUnit_or_isUnit <| f.map_mul p q ▸ congr_arg f hx⟩
 #align of_irreducible_map of_irreducible_map
+-/
 
 #print isLocalRingHom_of_comp /-
 theorem isLocalRingHom_of_comp (f : R →+* S) (g : S →+* T) [IsLocalRingHom (g.comp f)] :
@@ -281,6 +317,7 @@ theorem isLocalRingHom_of_comp (f : R →+* S) (g : S →+* T) [IsLocalRingHom (
 #align is_local_ring_hom_of_comp isLocalRingHom_of_comp
 -/
 
+#print RingHom.domain_localRing /-
 /-- If `f : R →+* S` is a local ring hom, then `R` is a local ring if `S` is. -/
 theorem RingHom.domain_localRing {R S : Type _} [CommSemiring R] [CommSemiring S] [H : LocalRing S]
     (f : R →+* S) [IsLocalRingHom f] : LocalRing R :=
@@ -291,6 +328,7 @@ theorem RingHom.domain_localRing {R S : Type _} [CommSemiring R] [CommSemiring S
   simp_rw [← map_mem_nonunits_iff f, f.map_add]
   exact LocalRing.nonunits_add
 #align ring_hom.domain_local_ring RingHom.domain_localRing
+-/
 
 end
 
@@ -300,12 +338,14 @@ open LocalRing
 
 variable [CommSemiring R] [LocalRing R] [CommSemiring S] [LocalRing S]
 
+#print map_nonunit /-
 /--
 The image of the maximal ideal of the source is contained within the maximal ideal of the target.
 -/
 theorem map_nonunit (f : R →+* S) [IsLocalRingHom f] (a : R) (h : a ∈ maximalIdeal R) :
     f a ∈ maximalIdeal S := fun H => h <| isUnit_of_map_unit f a H
 #align map_nonunit map_nonunit
+-/
 
 end
 
@@ -315,6 +355,7 @@ section
 
 variable [CommSemiring R] [LocalRing R] [CommSemiring S] [LocalRing S]
 
+#print LocalRing.local_hom_TFAE /-
 /-- A ring homomorphism between local rings is a local ring hom iff it reflects units,
 i.e. any preimage of a unit is still a unit. https://stacks.math.columbia.edu/tag/07BJ
 -/
@@ -334,9 +375,11 @@ theorem local_hom_TFAE (f : R →+* S) :
   tfae_have 5 → 4; exact fun h => le_of_eq h.symm
   tfae_finish
 #align local_ring.local_hom_tfae LocalRing.local_hom_TFAE
+-/
 
 end
 
+#print LocalRing.of_surjective /-
 theorem of_surjective [CommSemiring R] [LocalRing R] [CommSemiring S] [Nontrivial S] (f : R →+* S)
     [IsLocalRingHom f] (hf : Function.Surjective f) : LocalRing S :=
   of_isUnit_or_isUnit_of_isUnit_add
@@ -349,7 +392,9 @@ theorem of_surjective [CommSemiring R] [LocalRing R] [CommSemiring S] [Nontrivia
         (is_unit_or_is_unit_of_is_unit_add <| IsLocalRingHom.map_nonunit _ hab).imp f.is_unit_map
           f.is_unit_map)
 #align local_ring.of_surjective LocalRing.of_surjective
+-/
 
+#print LocalRing.surjective_units_map_of_local_ringHom /-
 /-- If `f : R →+* S` is a surjective local ring hom, then the induced units map is surjective. -/
 theorem surjective_units_map_of_local_ringHom [CommRing R] [CommRing S] (f : R →+* S)
     (hf : Function.Surjective f) (h : IsLocalRingHom f) :
@@ -359,6 +404,7 @@ theorem surjective_units_map_of_local_ringHom [CommRing R] [CommRing S] (f : R 
   obtain ⟨b, hb⟩ := hf (a : S)
   use (isUnit_of_map_unit f _ (by rw [hb]; exact Units.isUnit _)).Unit; ext; exact hb
 #align local_ring.surjective_units_map_of_local_ring_hom LocalRing.surjective_units_map_of_local_ringHom
+-/
 
 section
 
@@ -414,16 +460,20 @@ def lift {R S : Type _} [CommRing R] [LocalRing R] [Field S] (f : R →+* S) [Is
 #align local_ring.residue_field.lift LocalRing.ResidueField.lift
 -/
 
+#print LocalRing.ResidueField.lift_comp_residue /-
 theorem lift_comp_residue {R S : Type _} [CommRing R] [LocalRing R] [Field S] (f : R →+* S)
     [IsLocalRingHom f] : (lift f).comp (residue R) = f :=
   RingHom.ext fun _ => rfl
 #align local_ring.residue_field.lift_comp_residue LocalRing.ResidueField.lift_comp_residue
+-/
 
+#print LocalRing.ResidueField.lift_residue_apply /-
 @[simp]
 theorem lift_residue_apply {R S : Type _} [CommRing R] [LocalRing R] [Field S] (f : R →+* S)
     [IsLocalRingHom f] (x) : lift f (residue R x) = f x :=
   rfl
 #align local_ring.residue_field.lift_residue_apply LocalRing.ResidueField.lift_residue_apply
+-/
 
 #print LocalRing.ResidueField.map /-
 /-- The map on residue fields induced by a local homomorphism between local rings -/
@@ -461,21 +511,28 @@ theorem map_comp_residue (f : R →+* S) [IsLocalRingHom f] :
 #align local_ring.residue_field.map_comp_residue LocalRing.ResidueField.map_comp_residue
 -/
 
+#print LocalRing.ResidueField.map_residue /-
 theorem map_residue (f : R →+* S) [IsLocalRingHom f] (r : R) :
     ResidueField.map f (residue R r) = residue S (f r) :=
   rfl
 #align local_ring.residue_field.map_residue LocalRing.ResidueField.map_residue
+-/
 
+#print LocalRing.ResidueField.map_id_apply /-
 theorem map_id_apply (x : ResidueField R) : map (RingHom.id R) x = x :=
   FunLike.congr_fun map_id x
 #align local_ring.residue_field.map_id_apply LocalRing.ResidueField.map_id_apply
+-/
 
+#print LocalRing.ResidueField.map_map /-
 @[simp]
 theorem map_map (f : R →+* S) (g : S →+* T) (x : ResidueField R) [IsLocalRingHom f]
     [IsLocalRingHom g] : map g (map f x) = map (g.comp f) x :=
   FunLike.congr_fun (map_comp f g).symm x
 #align local_ring.residue_field.map_map LocalRing.ResidueField.map_map
+-/
 
+#print LocalRing.ResidueField.mapEquiv /-
 /-- A ring isomorphism defines an isomorphism of residue fields. -/
 @[simps apply]
 def mapEquiv (f : R ≃+* S) : LocalRing.ResidueField R ≃+* LocalRing.ResidueField S
@@ -487,23 +544,31 @@ def mapEquiv (f : R ≃+* S) : LocalRing.ResidueField R ≃+* LocalRing.ResidueF
   map_mul' := RingHom.map_mul _
   map_add' := RingHom.map_add _
 #align local_ring.residue_field.map_equiv LocalRing.ResidueField.mapEquiv
+-/
 
+#print LocalRing.ResidueField.mapEquiv.symm /-
 @[simp]
 theorem mapEquiv.symm (f : R ≃+* S) : (mapEquiv f).symm = mapEquiv f.symm :=
   rfl
 #align local_ring.residue_field.map_equiv.symm LocalRing.ResidueField.mapEquiv.symm
+-/
 
+#print LocalRing.ResidueField.mapEquiv_trans /-
 @[simp]
 theorem mapEquiv_trans (e₁ : R ≃+* S) (e₂ : S ≃+* T) :
     mapEquiv (e₁.trans e₂) = (mapEquiv e₁).trans (mapEquiv e₂) :=
   RingEquiv.toRingHom_injective <| map_comp (e₁ : R →+* S) (e₂ : S →+* T)
 #align local_ring.residue_field.map_equiv_trans LocalRing.ResidueField.mapEquiv_trans
+-/
 
+#print LocalRing.ResidueField.mapEquiv_refl /-
 @[simp]
 theorem mapEquiv_refl : mapEquiv (RingEquiv.refl R) = RingEquiv.refl _ :=
   RingEquiv.toRingHom_injective map_id
 #align local_ring.residue_field.map_equiv_refl LocalRing.ResidueField.mapEquiv_refl
+-/
 
+#print LocalRing.ResidueField.mapAut /-
 /-- The group homomorphism from `ring_aut R` to `ring_aut k` where `k`
 is the residue field of `R`. -/
 @[simps]
@@ -513,6 +578,7 @@ def mapAut : RingAut R →* RingAut (LocalRing.ResidueField R)
   map_mul' e₁ e₂ := mapEquiv_trans e₂ e₁
   map_one' := mapEquiv_refl
 #align local_ring.residue_field.map_aut LocalRing.ResidueField.mapAut
+-/
 
 section MulSemiringAction
 
@@ -522,19 +588,23 @@ variable (G : Type _) [Group G] [MulSemiringAction G R]
 instance : MulSemiringAction G (LocalRing.ResidueField R) :=
   MulSemiringAction.compHom _ <| mapAut.comp (MulSemiringAction.toRingAut G R)
 
+#print LocalRing.ResidueField.residue_smul /-
 @[simp]
 theorem residue_smul (g : G) (r : R) : residue R (g • r) = g • residue R r :=
   rfl
 #align local_ring.residue_field.residue_smul LocalRing.ResidueField.residue_smul
+-/
 
 end MulSemiringAction
 
 end ResidueField
 
+#print LocalRing.ker_eq_maximalIdeal /-
 theorem ker_eq_maximalIdeal [Field K] (φ : R →+* K) (hφ : Function.Surjective φ) :
     φ.ker = maximalIdeal R :=
   LocalRing.eq_maximalIdeal <| (RingHom.ker_isMaximal_of_surjective φ) hφ
 #align local_ring.ker_eq_maximal_ideal LocalRing.ker_eq_maximalIdeal
+-/
 
 #print LocalRing.isLocalRingHom_residue /-
 theorem isLocalRingHom_residue : IsLocalRingHom (LocalRing.residue R) :=
@@ -565,18 +635,22 @@ instance (priority := 100) : LocalRing K :=
 
 end Field
 
+#print LocalRing.maximalIdeal_eq_bot /-
 theorem LocalRing.maximalIdeal_eq_bot {R : Type _} [Field R] : LocalRing.maximalIdeal R = ⊥ :=
   LocalRing.isField_iff_maximalIdeal_eq.mp (Field.toIsField R)
 #align local_ring.maximal_ideal_eq_bot LocalRing.maximalIdeal_eq_bot
+-/
 
 namespace RingEquiv
 
+#print RingEquiv.localRing /-
 @[reducible]
 protected theorem localRing {A B : Type _} [CommSemiring A] [LocalRing A] [CommSemiring B]
     (e : A ≃+* B) : LocalRing B :=
   haveI := e.symm.to_equiv.nontrivial
   LocalRing.of_surjective (e : A →+* B) e.surjective
 #align ring_equiv.local_ring RingEquiv.localRing
+-/
 
 end RingEquiv
 
Diff
@@ -258,7 +258,7 @@ instance isLocalRingHom_comp (g : S →+* T) (f : R →+* S) [IsLocalRingHom g]
 
 instance isLocalRingHom_equiv (f : R ≃+* S) : IsLocalRingHom (f : R →+* S)
     where map_nonunit a ha := by
-    convert(f.symm : S →+* R).isUnit_map ha
+    convert (f.symm : S →+* R).isUnit_map ha
     exact (RingEquiv.symm_apply_apply f a).symm
 #align is_local_ring_hom_equiv isLocalRingHom_equiv
 
Diff
@@ -100,7 +100,7 @@ variable [LocalRing R]
 theorem isUnit_or_isUnit_of_isUnit_add {a b : R} (h : IsUnit (a + b)) : IsUnit a ∨ IsUnit b :=
   by
   rcases h with ⟨u, hu⟩
-  rw [← Units.inv_mul_eq_one, mul_add] at hu
+  rw [← Units.inv_mul_eq_one, mul_add] at hu 
   apply Or.imp _ _ (is_unit_or_is_unit_of_add_one hu) <;> exact isUnit_of_mul_isUnit_right
 #align local_ring.is_unit_or_is_unit_of_is_unit_add LocalRing.isUnit_or_isUnit_of_isUnit_add
 
@@ -127,7 +127,7 @@ instance maximalIdeal.isMaximal : (maximalIdeal R).IsMaximal :=
   constructor
   · intro h; apply h; exact isUnit_one
   · intro I x hI hx H
-    erw [Classical.not_not] at hx
+    erw [Classical.not_not] at hx 
     rcases hx with ⟨u, rfl⟩
     simpa using I.mul_mem_left (↑u⁻¹) H
 #align local_ring.maximal_ideal.is_maximal LocalRing.maximalIdeal.isMaximal
@@ -329,7 +329,7 @@ theorem local_hom_TFAE (f : R →+* S) :
   tfae_have 2 → 4; exact Set.image_subset_iff.1
   tfae_have 3 ↔ 4; exact Ideal.map_le_iff_le_comap
   tfae_have 4 → 1; intro h; fconstructor; exact fun x => not_imp_not.1 (@h x)
-  tfae_have 1 → 5; intro ; skip; ext
+  tfae_have 1 → 5; intro; skip; ext
   exact not_iff_not.2 (isUnit_map_iff f x)
   tfae_have 5 → 4; exact fun h => le_of_eq h.symm
   tfae_finish
@@ -344,7 +344,7 @@ theorem of_surjective [CommSemiring R] [LocalRing R] [CommSemiring S] [Nontrivia
       intro a b hab
       obtain ⟨a, rfl⟩ := hf a
       obtain ⟨b, rfl⟩ := hf b
-      rw [← map_add] at hab
+      rw [← map_add] at hab 
       exact
         (is_unit_or_is_unit_of_is_unit_add <| IsLocalRingHom.map_nonunit _ hab).imp f.is_unit_map
           f.is_unit_map)
@@ -367,7 +367,8 @@ variable (R) [CommRing R] [LocalRing R] [CommRing S] [LocalRing S] [CommRing T]
 #print LocalRing.ResidueField /-
 /-- The residue field of a local ring is the quotient of the ring by its maximal ideal. -/
 def ResidueField :=
-  R ⧸ maximalIdeal R deriving Ring, CommRing, Inhabited
+  R ⧸ maximalIdeal R
+deriving Ring, CommRing, Inhabited
 #align local_ring.residue_field LocalRing.ResidueField
 -/
 
@@ -541,7 +542,7 @@ theorem isLocalRingHom_residue : IsLocalRingHom (LocalRing.residue R) :=
   constructor
   intro a ha
   by_contra
-  erw [ideal.quotient.eq_zero_iff_mem.mpr ((LocalRing.mem_maximalIdeal _).mpr h)] at ha
+  erw [ideal.quotient.eq_zero_iff_mem.mpr ((LocalRing.mem_maximalIdeal _).mpr h)] at ha 
   exact ha.ne_zero rfl
 #align local_ring.is_local_ring_hom_residue LocalRing.isLocalRingHom_residue
 -/
Diff
@@ -554,7 +554,7 @@ namespace Field
 
 variable (K) [Field K]
 
-open Classical
+open scoped Classical
 
 -- see Note [lower instance priority]
 instance (priority := 100) : LocalRing K :=
Diff
@@ -56,23 +56,11 @@ variable [CommSemiring R]
 
 namespace LocalRing
 
-/- warning: local_ring.of_is_unit_or_is_unit_of_is_unit_add -> LocalRing.of_isUnit_or_isUnit_of_isUnit_add is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Nontrivial.{u1} R], (forall (a : R) (b : R), (IsUnit.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (HAdd.hAdd.{u1, u1, u1} R R R (instHAdd.{u1} R (Distrib.toHasAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) a b)) -> (Or (IsUnit.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) a) (IsUnit.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) b))) -> (LocalRing.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Nontrivial.{u1} R], (forall (a : R) (b : R), (IsUnit.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (HAdd.hAdd.{u1, u1, u1} R R R (instHAdd.{u1} R (Distrib.toAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) a b)) -> (Or (IsUnit.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) a) (IsUnit.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) b))) -> (LocalRing.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))
-Case conversion may be inaccurate. Consider using '#align local_ring.of_is_unit_or_is_unit_of_is_unit_add LocalRing.of_isUnit_or_isUnit_of_isUnit_addₓ'. -/
 theorem of_isUnit_or_isUnit_of_isUnit_add [Nontrivial R]
     (h : ∀ a b : R, IsUnit (a + b) → IsUnit a ∨ IsUnit b) : LocalRing R :=
   ⟨fun a b hab => h a b <| hab.symm ▸ isUnit_one⟩
 #align local_ring.of_is_unit_or_is_unit_of_is_unit_add LocalRing.of_isUnit_or_isUnit_of_isUnit_add
 
-/- warning: local_ring.of_nonunits_add -> LocalRing.of_nonunits_add is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Nontrivial.{u1} R], (forall (a : R) (b : R), (Membership.Mem.{u1, u1} R (Set.{u1} R) (Set.hasMem.{u1} R) a (nonunits.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) -> (Membership.Mem.{u1, u1} R (Set.{u1} R) (Set.hasMem.{u1} R) b (nonunits.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) -> (Membership.Mem.{u1, u1} R (Set.{u1} R) (Set.hasMem.{u1} R) (HAdd.hAdd.{u1, u1, u1} R R R (instHAdd.{u1} R (Distrib.toHasAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) a b) (nonunits.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) -> (LocalRing.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Nontrivial.{u1} R], (forall (a : R) (b : R), (Membership.mem.{u1, u1} R (Set.{u1} R) (Set.instMembershipSet.{u1} R) a (nonunits.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) -> (Membership.mem.{u1, u1} R (Set.{u1} R) (Set.instMembershipSet.{u1} R) b (nonunits.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) -> (Membership.mem.{u1, u1} R (Set.{u1} R) (Set.instMembershipSet.{u1} R) (HAdd.hAdd.{u1, u1, u1} R R R (instHAdd.{u1} R (Distrib.toAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) a b) (nonunits.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) -> (LocalRing.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))
-Case conversion may be inaccurate. Consider using '#align local_ring.of_nonunits_add LocalRing.of_nonunits_addₓ'. -/
 /-- A semiring is local if it is nontrivial and the set of nonunits is closed under the addition. -/
 theorem of_nonunits_add [Nontrivial R]
     (h : ∀ a b : R, a ∈ nonunits R → b ∈ nonunits R → a + b ∈ nonunits R) : LocalRing R :=
@@ -96,12 +84,6 @@ theorem of_unique_max_ideal (h : ∃! I : Ideal R, I.IsMaximal) : LocalRing R :=
 #align local_ring.of_unique_max_ideal LocalRing.of_unique_max_ideal
 -/
 
-/- warning: local_ring.of_unique_nonzero_prime -> LocalRing.of_unique_nonzero_prime is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R], (ExistsUnique.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (fun (P : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) => And (Ne.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) P (Bot.bot.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.hasBot.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Ideal.IsPrime.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) P))) -> (LocalRing.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R], (ExistsUnique.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (fun (P : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) => And (Ne.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) P (Bot.bot.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.instBotSubmodule.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Ideal.IsPrime.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) P))) -> (LocalRing.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))
-Case conversion may be inaccurate. Consider using '#align local_ring.of_unique_nonzero_prime LocalRing.of_unique_nonzero_primeₓ'. -/
 theorem of_unique_nonzero_prime (h : ∃! P : Ideal R, P ≠ ⊥ ∧ Ideal.IsPrime P) : LocalRing R :=
   of_unique_max_ideal
     (by
@@ -115,12 +97,6 @@ theorem of_unique_nonzero_prime (h : ∃! P : Ideal R, P ≠ ⊥ ∧ Ideal.IsPri
 
 variable [LocalRing R]
 
-/- warning: local_ring.is_unit_or_is_unit_of_is_unit_add -> LocalRing.isUnit_or_isUnit_of_isUnit_add is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : LocalRing.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)] {a : R} {b : R}, (IsUnit.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (HAdd.hAdd.{u1, u1, u1} R R R (instHAdd.{u1} R (Distrib.toHasAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) a b)) -> (Or (IsUnit.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) a) (IsUnit.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) b))
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : LocalRing.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)] {a : R} {b : R}, (IsUnit.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (HAdd.hAdd.{u1, u1, u1} R R R (instHAdd.{u1} R (Distrib.toAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) a b)) -> (Or (IsUnit.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) a) (IsUnit.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) b))
-Case conversion may be inaccurate. Consider using '#align local_ring.is_unit_or_is_unit_of_is_unit_add LocalRing.isUnit_or_isUnit_of_isUnit_addₓ'. -/
 theorem isUnit_or_isUnit_of_isUnit_add {a b : R} (h : IsUnit (a + b)) : IsUnit a ∨ IsUnit b :=
   by
   rcases h with ⟨u, hu⟩
@@ -128,12 +104,6 @@ theorem isUnit_or_isUnit_of_isUnit_add {a b : R} (h : IsUnit (a + b)) : IsUnit a
   apply Or.imp _ _ (is_unit_or_is_unit_of_add_one hu) <;> exact isUnit_of_mul_isUnit_right
 #align local_ring.is_unit_or_is_unit_of_is_unit_add LocalRing.isUnit_or_isUnit_of_isUnit_add
 
-/- warning: local_ring.nonunits_add -> LocalRing.nonunits_add is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : LocalRing.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)] {a : R} {b : R}, (Membership.Mem.{u1, u1} R (Set.{u1} R) (Set.hasMem.{u1} R) a (nonunits.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) -> (Membership.Mem.{u1, u1} R (Set.{u1} R) (Set.hasMem.{u1} R) b (nonunits.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) -> (Membership.Mem.{u1, u1} R (Set.{u1} R) (Set.hasMem.{u1} R) (HAdd.hAdd.{u1, u1, u1} R R R (instHAdd.{u1} R (Distrib.toHasAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) a b) (nonunits.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : LocalRing.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)] {a : R} {b : R}, (Membership.mem.{u1, u1} R (Set.{u1} R) (Set.instMembershipSet.{u1} R) a (nonunits.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) -> (Membership.mem.{u1, u1} R (Set.{u1} R) (Set.instMembershipSet.{u1} R) b (nonunits.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) -> (Membership.mem.{u1, u1} R (Set.{u1} R) (Set.instMembershipSet.{u1} R) (HAdd.hAdd.{u1, u1, u1} R R R (instHAdd.{u1} R (Distrib.toAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) a b) (nonunits.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))
-Case conversion may be inaccurate. Consider using '#align local_ring.nonunits_add LocalRing.nonunits_addₓ'. -/
 theorem nonunits_add {a b : R} (ha : a ∈ nonunits R) (hb : b ∈ nonunits R) : a + b ∈ nonunits R :=
   fun H => not_or_of_not ha hb (isUnit_or_isUnit_of_isUnit_add H)
 #align local_ring.nonunits_add LocalRing.nonunits_add
@@ -178,12 +148,6 @@ theorem eq_maximalIdeal {I : Ideal R} (hI : I.IsMaximal) : I = maximalIdeal R :=
 #align local_ring.eq_maximal_ideal LocalRing.eq_maximalIdeal
 -/
 
-/- warning: local_ring.le_maximal_ideal -> LocalRing.le_maximalIdeal is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : LocalRing.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)] {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)}, (Ne.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) J (Top.top.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.hasTop.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) -> (LE.le.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Preorder.toHasLe.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.completeLattice.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))) J (LocalRing.maximalIdeal.{u1} R _inst_1 _inst_2))
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : LocalRing.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)] {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)}, (Ne.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) J (Top.top.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.instTopSubmodule.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) -> (LE.le.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Preorder.toLE.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.completeLattice.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))) J (LocalRing.maximalIdeal.{u1} R _inst_1 _inst_2))
-Case conversion may be inaccurate. Consider using '#align local_ring.le_maximal_ideal LocalRing.le_maximalIdealₓ'. -/
 theorem le_maximalIdeal {J : Ideal R} (hJ : J ≠ ⊤) : J ≤ maximalIdeal R :=
   by
   rcases Ideal.exists_le_maximal J hJ with ⟨M, hM1, hM2⟩
@@ -197,12 +161,6 @@ theorem mem_maximalIdeal (x) : x ∈ maximalIdeal R ↔ x ∈ nonunits R :=
 #align local_ring.mem_maximal_ideal LocalRing.mem_maximalIdeal
 -/
 
-/- warning: local_ring.is_field_iff_maximal_ideal_eq -> LocalRing.isField_iff_maximalIdeal_eq is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : LocalRing.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)], Iff (IsField.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (LocalRing.maximalIdeal.{u1} R _inst_1 _inst_2) (Bot.bot.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.hasBot.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : LocalRing.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)], Iff (IsField.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (LocalRing.maximalIdeal.{u1} R _inst_1 _inst_2) (Bot.bot.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.instBotSubmodule.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))
-Case conversion may be inaccurate. Consider using '#align local_ring.is_field_iff_maximal_ideal_eq LocalRing.isField_iff_maximalIdeal_eqₓ'. -/
 theorem isField_iff_maximalIdeal_eq : IsField R ↔ maximalIdeal R = ⊥ :=
   not_iff_not.mp
     ⟨Ring.ne_bot_of_isMaximal_of_not_isField inferInstance, fun h =>
@@ -219,12 +177,6 @@ variable [CommRing R]
 
 namespace LocalRing
 
-/- warning: local_ring.of_is_unit_or_is_unit_one_sub_self -> LocalRing.of_isUnit_or_isUnit_one_sub_self is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] [_inst_2 : Nontrivial.{u1} R], (forall (a : R), Or (IsUnit.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)) a) (IsUnit.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)) (HSub.hSub.{u1, u1, u1} R R R (instHSub.{u1} R (SubNegMonoid.toHasSub.{u1} R (AddGroup.toSubNegMonoid.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) (OfNat.ofNat.{u1} R 1 (OfNat.mk.{u1} R 1 (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddGroupWithOne.toAddMonoidWithOne.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (CommRing.toRing.{u1} R _inst_1)))))))) a))) -> (LocalRing.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] [_inst_2 : Nontrivial.{u1} R], (forall (a : R), Or (IsUnit.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) a) (IsUnit.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (HSub.hSub.{u1, u1, u1} R R R (instHSub.{u1} R (Ring.toSub.{u1} R (CommRing.toRing.{u1} R _inst_1))) (OfNat.ofNat.{u1} R 1 (One.toOfNat1.{u1} R (Semiring.toOne.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) a))) -> (LocalRing.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))
-Case conversion may be inaccurate. Consider using '#align local_ring.of_is_unit_or_is_unit_one_sub_self LocalRing.of_isUnit_or_isUnit_one_sub_selfₓ'. -/
 theorem of_isUnit_or_isUnit_one_sub_self [Nontrivial R] (h : ∀ a : R, IsUnit a ∨ IsUnit (1 - a)) :
     LocalRing R :=
   ⟨fun a b hab => add_sub_cancel' a b ▸ hab.symm ▸ h a⟩
@@ -232,42 +184,18 @@ theorem of_isUnit_or_isUnit_one_sub_self [Nontrivial R] (h : ∀ a : R, IsUnit a
 
 variable [LocalRing R]
 
-/- warning: local_ring.is_unit_or_is_unit_one_sub_self -> LocalRing.isUnit_or_isUnit_one_sub_self is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] [_inst_2 : LocalRing.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))] (a : R), Or (IsUnit.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)) a) (IsUnit.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)) (HSub.hSub.{u1, u1, u1} R R R (instHSub.{u1} R (SubNegMonoid.toHasSub.{u1} R (AddGroup.toSubNegMonoid.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) (OfNat.ofNat.{u1} R 1 (OfNat.mk.{u1} R 1 (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddGroupWithOne.toAddMonoidWithOne.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (CommRing.toRing.{u1} R _inst_1)))))))) a))
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] [_inst_2 : LocalRing.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))] (a : R), Or (IsUnit.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) a) (IsUnit.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (HSub.hSub.{u1, u1, u1} R R R (instHSub.{u1} R (Ring.toSub.{u1} R (CommRing.toRing.{u1} R _inst_1))) (OfNat.ofNat.{u1} R 1 (One.toOfNat1.{u1} R (Semiring.toOne.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) a))
-Case conversion may be inaccurate. Consider using '#align local_ring.is_unit_or_is_unit_one_sub_self LocalRing.isUnit_or_isUnit_one_sub_selfₓ'. -/
 theorem isUnit_or_isUnit_one_sub_self (a : R) : IsUnit a ∨ IsUnit (1 - a) :=
   isUnit_or_isUnit_of_isUnit_add <| (add_sub_cancel'_right a 1).symm ▸ isUnit_one
 #align local_ring.is_unit_or_is_unit_one_sub_self LocalRing.isUnit_or_isUnit_one_sub_self
 
-/- warning: local_ring.is_unit_of_mem_nonunits_one_sub_self -> LocalRing.isUnit_of_mem_nonunits_one_sub_self is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] [_inst_2 : LocalRing.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))] (a : R), (Membership.Mem.{u1, u1} R (Set.{u1} R) (Set.hasMem.{u1} R) (HSub.hSub.{u1, u1, u1} R R R (instHSub.{u1} R (SubNegMonoid.toHasSub.{u1} R (AddGroup.toSubNegMonoid.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) (OfNat.ofNat.{u1} R 1 (OfNat.mk.{u1} R 1 (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddGroupWithOne.toAddMonoidWithOne.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (CommRing.toRing.{u1} R _inst_1)))))))) a) (nonunits.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))) -> (IsUnit.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)) a)
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] [_inst_2 : LocalRing.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))] (a : R), (Membership.mem.{u1, u1} R (Set.{u1} R) (Set.instMembershipSet.{u1} R) (HSub.hSub.{u1, u1, u1} R R R (instHSub.{u1} R (Ring.toSub.{u1} R (CommRing.toRing.{u1} R _inst_1))) (OfNat.ofNat.{u1} R 1 (One.toOfNat1.{u1} R (Semiring.toOne.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) a) (nonunits.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) -> (IsUnit.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) a)
-Case conversion may be inaccurate. Consider using '#align local_ring.is_unit_of_mem_nonunits_one_sub_self LocalRing.isUnit_of_mem_nonunits_one_sub_selfₓ'. -/
 theorem isUnit_of_mem_nonunits_one_sub_self (a : R) (h : 1 - a ∈ nonunits R) : IsUnit a :=
   or_iff_not_imp_right.1 (isUnit_or_isUnit_one_sub_self a) h
 #align local_ring.is_unit_of_mem_nonunits_one_sub_self LocalRing.isUnit_of_mem_nonunits_one_sub_self
 
-/- warning: local_ring.is_unit_one_sub_self_of_mem_nonunits -> LocalRing.isUnit_one_sub_self_of_mem_nonunits is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] [_inst_2 : LocalRing.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))] (a : R), (Membership.Mem.{u1, u1} R (Set.{u1} R) (Set.hasMem.{u1} R) a (nonunits.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))) -> (IsUnit.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)) (HSub.hSub.{u1, u1, u1} R R R (instHSub.{u1} R (SubNegMonoid.toHasSub.{u1} R (AddGroup.toSubNegMonoid.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) (OfNat.ofNat.{u1} R 1 (OfNat.mk.{u1} R 1 (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddGroupWithOne.toAddMonoidWithOne.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (CommRing.toRing.{u1} R _inst_1)))))))) a))
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] [_inst_2 : LocalRing.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))] (a : R), (Membership.mem.{u1, u1} R (Set.{u1} R) (Set.instMembershipSet.{u1} R) a (nonunits.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) -> (IsUnit.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (HSub.hSub.{u1, u1, u1} R R R (instHSub.{u1} R (Ring.toSub.{u1} R (CommRing.toRing.{u1} R _inst_1))) (OfNat.ofNat.{u1} R 1 (One.toOfNat1.{u1} R (Semiring.toOne.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) a))
-Case conversion may be inaccurate. Consider using '#align local_ring.is_unit_one_sub_self_of_mem_nonunits LocalRing.isUnit_one_sub_self_of_mem_nonunitsₓ'. -/
 theorem isUnit_one_sub_self_of_mem_nonunits (a : R) (h : a ∈ nonunits R) : IsUnit (1 - a) :=
   or_iff_not_imp_left.1 (isUnit_or_isUnit_one_sub_self a) h
 #align local_ring.is_unit_one_sub_self_of_mem_nonunits LocalRing.isUnit_one_sub_self_of_mem_nonunits
 
-/- warning: local_ring.of_surjective' -> LocalRing.of_surjective' is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : LocalRing.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))] [_inst_3 : CommRing.{u2} S] [_inst_4 : Nontrivial.{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_3)))), (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_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 (CommRing.toRing.{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 (CommRing.toRing.{u2} S _inst_3)))) f)) -> (LocalRing.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_3)))
-but is expected to have type
-  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : LocalRing.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))] [_inst_3 : CommRing.{u2} S] [_inst_4 : Nontrivial.{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_3)))), (Function.Surjective.{succ u1, succ u2} R S (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_3)))) 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_3)))) 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_3))))) (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_3)))) 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_3)))) (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_3)))) 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_3))) (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_3))))))) f)) -> (LocalRing.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_3)))
-Case conversion may be inaccurate. Consider using '#align local_ring.of_surjective' LocalRing.of_surjective'ₓ'. -/
 theorem of_surjective' [CommRing S] [Nontrivial S] (f : R →+* S) (hf : Function.Surjective f) :
     LocalRing S :=
   of_isUnit_or_isUnit_one_sub_self
@@ -279,12 +207,6 @@ theorem of_surjective' [CommRing S] [Nontrivial S] (f : R →+* S) (hf : Functio
       apply f.is_unit_map)
 #align local_ring.of_surjective' LocalRing.of_surjective'
 
-/- warning: local_ring.jacobson_eq_maximal_ideal -> LocalRing.jacobson_eq_maximalIdeal is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] [_inst_2 : LocalRing.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))] (I : Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))), (Ne.{succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) I (Top.top.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Submodule.hasTop.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) -> (Eq.{succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.jacobson.{u1} R (CommRing.toRing.{u1} R _inst_1) I) (LocalRing.maximalIdeal.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1) _inst_2))
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] [_inst_2 : LocalRing.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))] (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))), (Ne.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) I (Top.top.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Submodule.instTopSubmodule.{u1, u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) -> (Eq.{succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.jacobson.{u1} R (CommRing.toRing.{u1} R _inst_1) I) (LocalRing.maximalIdeal.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1) _inst_2))
-Case conversion may be inaccurate. Consider using '#align local_ring.jacobson_eq_maximal_ideal LocalRing.jacobson_eq_maximalIdealₓ'. -/
 theorem jacobson_eq_maximalIdeal (I : Ideal R) (h : I ≠ ⊤) :
     I.jacobson = LocalRing.maximalIdeal R :=
   by
@@ -316,23 +238,11 @@ instance isLocalRingHom_id (R : Type _) [Semiring R] : IsLocalRingHom (RingHom.i
 #align is_local_ring_hom_id isLocalRingHom_id
 -/
 
-/- warning: is_unit_map_iff -> isUnit_map_iff is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] (f : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) [_inst_4 : IsLocalRingHom.{u1, u2} R S _inst_1 _inst_2 f] (a : R), Iff (IsUnit.{u2} S (MonoidWithZero.toMonoid.{u2} S (Semiring.toMonoidWithZero.{u2} S _inst_2)) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (fun (_x : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) => R -> S) (RingHom.hasCoeToFun.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) f a)) (IsUnit.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) a)
-but is expected to have type
-  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] (f : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) [_inst_4 : IsLocalRingHom.{u1, u2} R S _inst_1 _inst_2 f] (a : R), Iff (IsUnit.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) a) (MonoidWithZero.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) a) (Semiring.toMonoidWithZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) a) _inst_2)) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) R S (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2) (RingHom.instRingHomClassRingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2))))) f a)) (IsUnit.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) a)
-Case conversion may be inaccurate. Consider using '#align is_unit_map_iff isUnit_map_iffₓ'. -/
 @[simp]
 theorem isUnit_map_iff (f : R →+* S) [IsLocalRingHom f] (a) : IsUnit (f a) ↔ IsUnit a :=
   ⟨IsLocalRingHom.map_nonunit a, f.isUnit_map⟩
 #align is_unit_map_iff isUnit_map_iff
 
-/- warning: map_mem_nonunits_iff -> map_mem_nonunits_iff is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] (f : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) [_inst_4 : IsLocalRingHom.{u1, u2} R S _inst_1 _inst_2 f] (a : R), Iff (Membership.Mem.{u2, u2} S (Set.{u2} S) (Set.hasMem.{u2} S) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (fun (_x : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) => R -> S) (RingHom.hasCoeToFun.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) f a) (nonunits.{u2} S (MonoidWithZero.toMonoid.{u2} S (Semiring.toMonoidWithZero.{u2} S _inst_2)))) (Membership.Mem.{u1, u1} R (Set.{u1} R) (Set.hasMem.{u1} R) a (nonunits.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))))
-but is expected to have type
-  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] (f : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) [_inst_4 : IsLocalRingHom.{u1, u2} R S _inst_1 _inst_2 f] (a : R), Iff (Membership.mem.{u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) a) (Set.{u2} S) (Set.instMembershipSet.{u2} S) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) R S (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2) (RingHom.instRingHomClassRingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2))))) f a) (nonunits.{u2} S (MonoidWithZero.toMonoid.{u2} S (Semiring.toMonoidWithZero.{u2} S _inst_2)))) (Membership.mem.{u1, u1} R (Set.{u1} R) (Set.instMembershipSet.{u1} R) a (nonunits.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))))
-Case conversion may be inaccurate. Consider using '#align map_mem_nonunits_iff map_mem_nonunits_iffₓ'. -/
 @[simp]
 theorem map_mem_nonunits_iff (f : R →+* S) [IsLocalRingHom f] (a) :
     f a ∈ nonunits S ↔ a ∈ nonunits R :=
@@ -346,35 +256,17 @@ instance isLocalRingHom_comp (g : S →+* T) (f : R →+* S) [IsLocalRingHom g]
 #align is_local_ring_hom_comp isLocalRingHom_comp
 -/
 
-/- warning: is_local_ring_hom_equiv -> isLocalRingHom_equiv is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] (f : RingEquiv.{u1, u2} R S (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Distrib.toHasAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Distrib.toHasMul.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)))) (Distrib.toHasAdd.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))))), IsLocalRingHom.{u1, u2} R S _inst_1 _inst_2 ((fun (a : Sort.{max (succ u1) (succ u2)}) (b : Sort.{max (succ u1) (succ u2)}) [self : HasLiftT.{max (succ u1) (succ u2), max (succ u1) (succ u2)} a b] => self.0) (RingEquiv.{u1, u2} R S (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Distrib.toHasAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Distrib.toHasMul.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)))) (Distrib.toHasAdd.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))))) (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (HasLiftT.mk.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingEquiv.{u1, u2} R S (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Distrib.toHasAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Distrib.toHasMul.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)))) (Distrib.toHasAdd.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))))) (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (CoeTCₓ.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingEquiv.{u1, u2} R S (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Distrib.toHasAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Distrib.toHasMul.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)))) (Distrib.toHasAdd.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))))) (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (RingHom.hasCoeT.{max u1 u2, u1, u2} (RingEquiv.{u1, u2} R S (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Distrib.toHasAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Distrib.toHasMul.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)))) (Distrib.toHasAdd.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))))) R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2) (RingEquivClass.toRingHomClass.{max u1 u2, u1, u2} (RingEquiv.{u1, u2} R S (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Distrib.toHasAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Distrib.toHasMul.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)))) (Distrib.toHasAdd.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))))) R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2) (RingEquiv.ringEquivClass.{u1, u2} R S (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Distrib.toHasAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Distrib.toHasMul.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)))) (Distrib.toHasAdd.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))))))))) f)
-but is expected to have type
-  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] (f : RingEquiv.{u1, u2} R S (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Distrib.toAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Distrib.toAdd.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))))), IsLocalRingHom.{u1, u2} R S _inst_1 _inst_2 (RingHomClass.toRingHom.{max u1 u2, u1, u2} (RingEquiv.{u1, u2} R S (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Distrib.toAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Distrib.toAdd.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))))) R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2) (RingEquivClass.toRingHomClass.{max u1 u2, u1, u2} (RingEquiv.{u1, u2} R S (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Distrib.toAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Distrib.toAdd.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))))) R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2) (RingEquiv.instRingEquivClassRingEquiv.{u1, u2} R S (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Distrib.toAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Distrib.toAdd.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)))))) f)
-Case conversion may be inaccurate. Consider using '#align is_local_ring_hom_equiv isLocalRingHom_equivₓ'. -/
 instance isLocalRingHom_equiv (f : R ≃+* S) : IsLocalRingHom (f : R →+* S)
     where map_nonunit a ha := by
     convert(f.symm : S →+* R).isUnit_map ha
     exact (RingEquiv.symm_apply_apply f a).symm
 #align is_local_ring_hom_equiv isLocalRingHom_equiv
 
-/- warning: is_unit_of_map_unit -> isUnit_of_map_unit is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] (f : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) [_inst_4 : IsLocalRingHom.{u1, u2} R S _inst_1 _inst_2 f] (a : R), (IsUnit.{u2} S (MonoidWithZero.toMonoid.{u2} S (Semiring.toMonoidWithZero.{u2} S _inst_2)) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (fun (_x : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) => R -> S) (RingHom.hasCoeToFun.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) f a)) -> (IsUnit.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) a)
-but is expected to have type
-  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] (f : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) [_inst_4 : IsLocalRingHom.{u1, u2} R S _inst_1 _inst_2 f] (a : R), (IsUnit.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) a) (MonoidWithZero.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) a) (Semiring.toMonoidWithZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) a) _inst_2)) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) R S (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2) (RingHom.instRingHomClassRingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2))))) f a)) -> (IsUnit.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) a)
-Case conversion may be inaccurate. Consider using '#align is_unit_of_map_unit isUnit_of_map_unitₓ'. -/
 @[simp]
 theorem isUnit_of_map_unit (f : R →+* S) [IsLocalRingHom f] (a) (h : IsUnit (f a)) : IsUnit a :=
   IsLocalRingHom.map_nonunit a h
 #align is_unit_of_map_unit isUnit_of_map_unit
 
-/- warning: of_irreducible_map -> of_irreducible_map is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] (f : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) [h : IsLocalRingHom.{u1, u2} R S _inst_1 _inst_2 f] {x : R}, (Irreducible.{u2} S (MonoidWithZero.toMonoid.{u2} S (Semiring.toMonoidWithZero.{u2} S _inst_2)) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (fun (_x : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) => R -> S) (RingHom.hasCoeToFun.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) f x)) -> (Irreducible.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) x)
-but is expected to have type
-  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] (f : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) [h : IsLocalRingHom.{u1, u2} R S _inst_1 _inst_2 f] {x : R}, (Irreducible.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) x) (MonoidWithZero.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) x) (Semiring.toMonoidWithZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) x) _inst_2)) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) R S (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2) (RingHom.instRingHomClassRingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2))))) f x)) -> (Irreducible.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) x)
-Case conversion may be inaccurate. Consider using '#align of_irreducible_map of_irreducible_mapₓ'. -/
 theorem of_irreducible_map (f : R →+* S) [h : IsLocalRingHom f] {x} (hfx : Irreducible (f x)) :
     Irreducible x :=
   ⟨fun h => hfx.not_unit <| IsUnit.map f h, fun p q hx =>
@@ -389,12 +281,6 @@ theorem isLocalRingHom_of_comp (f : R →+* S) (g : S →+* T) [IsLocalRingHom (
 #align is_local_ring_hom_of_comp isLocalRingHom_of_comp
 -/
 
-/- warning: ring_hom.domain_local_ring -> RingHom.domain_localRing is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_4 : CommSemiring.{u1} R] [_inst_5 : CommSemiring.{u2} S] [H : LocalRing.{u2} S (CommSemiring.toSemiring.{u2} S _inst_5)] (f : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_4)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_5))) [_inst_6 : IsLocalRingHom.{u1, u2} R S (CommSemiring.toSemiring.{u1} R _inst_4) (CommSemiring.toSemiring.{u2} S _inst_5) f], LocalRing.{u1} R (CommSemiring.toSemiring.{u1} R _inst_4)
-but is expected to have type
-  forall {R : Type.{u2}} {S : Type.{u1}} [_inst_4 : CommSemiring.{u2} R] [_inst_5 : CommSemiring.{u1} S] [H : LocalRing.{u1} S (CommSemiring.toSemiring.{u1} S _inst_5)] (f : RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_4)) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_5))) [_inst_6 : IsLocalRingHom.{u2, u1} R S (CommSemiring.toSemiring.{u2} R _inst_4) (CommSemiring.toSemiring.{u1} S _inst_5) f], LocalRing.{u2} R (CommSemiring.toSemiring.{u2} R _inst_4)
-Case conversion may be inaccurate. Consider using '#align ring_hom.domain_local_ring RingHom.domain_localRingₓ'. -/
 /-- If `f : R →+* S` is a local ring hom, then `R` is a local ring if `S` is. -/
 theorem RingHom.domain_localRing {R S : Type _} [CommSemiring R] [CommSemiring S] [H : LocalRing S]
     (f : R →+* S) [IsLocalRingHom f] : LocalRing R :=
@@ -414,12 +300,6 @@ open LocalRing
 
 variable [CommSemiring R] [LocalRing R] [CommSemiring S] [LocalRing S]
 
-/- warning: map_nonunit -> map_nonunit is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : LocalRing.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)] [_inst_3 : CommSemiring.{u2} S] [_inst_4 : LocalRing.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)] (f : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) [_inst_5 : IsLocalRingHom.{u1, u2} R S (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} S _inst_3) f] (a : R), (Membership.Mem.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SetLike.hasMem.{u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) R (Submodule.setLike.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) a (LocalRing.maximalIdeal.{u1} R _inst_1 _inst_2)) -> (Membership.Mem.{u2, u2} S (Ideal.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)) (SetLike.hasMem.{u2, u2} (Ideal.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)) S (Submodule.setLike.{u2, u2} S S (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)))) (Semiring.toModule.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) (fun (_x : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) => R -> S) (RingHom.hasCoeToFun.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) f a) (LocalRing.maximalIdeal.{u2} S _inst_3 _inst_4))
-but is expected to have type
-  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : LocalRing.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)] [_inst_3 : CommSemiring.{u2} S] [_inst_4 : LocalRing.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)] (f : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) [_inst_5 : IsLocalRingHom.{u1, u2} R S (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} S _inst_3) f] (a : R), (Membership.mem.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SetLike.instMembership.{u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) R (Submodule.setLike.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) a (LocalRing.maximalIdeal.{u1} R _inst_1 _inst_2)) -> (Membership.mem.{u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) a) (Ideal.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)) (SetLike.instMembership.{u2, u2} (Ideal.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)) S (Submodule.setLike.{u2, u2} S S (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)))) (Semiring.toModule.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)))) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) R S (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)) (RingHom.instRingHomClassRingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)))))) f a) (LocalRing.maximalIdeal.{u2} S _inst_3 _inst_4))
-Case conversion may be inaccurate. Consider using '#align map_nonunit map_nonunitₓ'. -/
 /--
 The image of the maximal ideal of the source is contained within the maximal ideal of the target.
 -/
@@ -435,9 +315,6 @@ section
 
 variable [CommSemiring R] [LocalRing R] [CommSemiring S] [LocalRing S]
 
-/- warning: local_ring.local_hom_tfae -> LocalRing.local_hom_TFAE is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align local_ring.local_hom_tfae LocalRing.local_hom_TFAEₓ'. -/
 /-- A ring homomorphism between local rings is a local ring hom iff it reflects units,
 i.e. any preimage of a unit is still a unit. https://stacks.math.columbia.edu/tag/07BJ
 -/
@@ -460,12 +337,6 @@ theorem local_hom_TFAE (f : R →+* S) :
 
 end
 
-/- warning: local_ring.of_surjective -> LocalRing.of_surjective is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : LocalRing.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)] [_inst_3 : CommSemiring.{u2} S] [_inst_4 : Nontrivial.{u2} S] (f : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) [_inst_5 : IsLocalRingHom.{u1, u2} R S (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} S _inst_3) f], (Function.Surjective.{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 _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) (fun (_x : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) => R -> S) (RingHom.hasCoeToFun.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) f)) -> (LocalRing.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))
-but is expected to have type
-  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : LocalRing.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)] [_inst_3 : CommSemiring.{u2} S] [_inst_4 : Nontrivial.{u2} S] (f : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) [_inst_5 : IsLocalRingHom.{u1, u2} R S (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} S _inst_3) f], (Function.Surjective.{succ u1, succ u2} R S (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) R S (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)) (RingHom.instRingHomClassRingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)))))) f)) -> (LocalRing.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))
-Case conversion may be inaccurate. Consider using '#align local_ring.of_surjective LocalRing.of_surjectiveₓ'. -/
 theorem of_surjective [CommSemiring R] [LocalRing R] [CommSemiring S] [Nontrivial S] (f : R →+* S)
     [IsLocalRingHom f] (hf : Function.Surjective f) : LocalRing S :=
   of_isUnit_or_isUnit_of_isUnit_add
@@ -479,9 +350,6 @@ theorem of_surjective [CommSemiring R] [LocalRing R] [CommSemiring S] [Nontrivia
           f.is_unit_map)
 #align local_ring.of_surjective LocalRing.of_surjective
 
-/- warning: local_ring.surjective_units_map_of_local_ring_hom -> LocalRing.surjective_units_map_of_local_ringHom is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align local_ring.surjective_units_map_of_local_ring_hom LocalRing.surjective_units_map_of_local_ringHomₓ'. -/
 /-- If `f : R →+* S` is a surjective local ring hom, then the induced units map is surjective. -/
 theorem surjective_units_map_of_local_ringHom [CommRing R] [CommRing S] (f : R →+* S)
     (hf : Function.Surjective f) (h : IsLocalRingHom f) :
@@ -545,20 +413,11 @@ def lift {R S : Type _} [CommRing R] [LocalRing R] [Field S] (f : R →+* S) [Is
 #align local_ring.residue_field.lift LocalRing.ResidueField.lift
 -/
 
-/- warning: local_ring.residue_field.lift_comp_residue -> LocalRing.ResidueField.lift_comp_residue is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_7 : CommRing.{u1} R] [_inst_8 : LocalRing.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_7))] [_inst_9 : Field.{u2} S] (f : RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_7))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (DivisionRing.toRing.{u2} S (Field.toDivisionRing.{u2} S _inst_9))))) [_inst_10 : IsLocalRingHom.{u1, u2} R S (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_7)) (Ring.toSemiring.{u2} S (DivisionRing.toRing.{u2} S (Field.toDivisionRing.{u2} S _inst_9))) f], Eq.{max (succ u1) (succ u2)} (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_7))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (DivisionRing.toRing.{u2} S (Field.toDivisionRing.{u2} S _inst_9))))) (RingHom.comp.{u1, u1, u2} R (LocalRing.ResidueField.{u1} R _inst_7 _inst_8) S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_7))) (NonAssocRing.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_7 _inst_8) (Ring.toNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_7 _inst_8) (LocalRing.ResidueField.ring.{u1} R _inst_7 _inst_8))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (DivisionRing.toRing.{u2} S (Field.toDivisionRing.{u2} S _inst_9)))) (LocalRing.ResidueField.lift.{u1, u2} R S _inst_7 _inst_8 _inst_9 f _inst_10) (LocalRing.residue.{u1} R _inst_7 _inst_8)) f
-but is expected to have type
-  forall {R : Type.{u2}} {S : Type.{u1}} [_inst_7 : CommRing.{u2} R] [_inst_8 : LocalRing.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_7))] [_inst_9 : Field.{u1} S] (f : RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_7))) (Semiring.toNonAssocSemiring.{u1} S (DivisionSemiring.toSemiring.{u1} S (Semifield.toDivisionSemiring.{u1} S (Field.toSemifield.{u1} S _inst_9))))) [_inst_10 : IsLocalRingHom.{u2, u1} R S (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_7)) (DivisionSemiring.toSemiring.{u1} S (Semifield.toDivisionSemiring.{u1} S (Field.toSemifield.{u1} S _inst_9))) f], Eq.{max (succ u2) (succ u1)} (RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_7))) (Semiring.toNonAssocSemiring.{u1} S (DivisionSemiring.toSemiring.{u1} S (Semifield.toDivisionSemiring.{u1} S (Field.toSemifield.{u1} S _inst_9))))) (RingHom.comp.{u2, u2, u1} R (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_7))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (LocalRing.ResidueField.field.{u2} R _inst_7 _inst_8))))) (Semiring.toNonAssocSemiring.{u1} S (DivisionSemiring.toSemiring.{u1} S (Semifield.toDivisionSemiring.{u1} S (Field.toSemifield.{u1} S _inst_9)))) (LocalRing.ResidueField.lift.{u2, u1} R S _inst_7 _inst_8 _inst_9 f _inst_10) (LocalRing.residue.{u2} R _inst_7 _inst_8)) f
-Case conversion may be inaccurate. Consider using '#align local_ring.residue_field.lift_comp_residue LocalRing.ResidueField.lift_comp_residueₓ'. -/
 theorem lift_comp_residue {R S : Type _} [CommRing R] [LocalRing R] [Field S] (f : R →+* S)
     [IsLocalRingHom f] : (lift f).comp (residue R) = f :=
   RingHom.ext fun _ => rfl
 #align local_ring.residue_field.lift_comp_residue LocalRing.ResidueField.lift_comp_residue
 
-/- warning: local_ring.residue_field.lift_residue_apply -> LocalRing.ResidueField.lift_residue_apply is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align local_ring.residue_field.lift_residue_apply LocalRing.ResidueField.lift_residue_applyₓ'. -/
 @[simp]
 theorem lift_residue_apply {R S : Type _} [CommRing R] [LocalRing R] [Field S] (f : R →+* S)
     [IsLocalRingHom f] (x) : lift f (residue R x) = f x :=
@@ -601,36 +460,21 @@ theorem map_comp_residue (f : R →+* S) [IsLocalRingHom f] :
 #align local_ring.residue_field.map_comp_residue LocalRing.ResidueField.map_comp_residue
 -/
 
-/- warning: local_ring.residue_field.map_residue -> LocalRing.ResidueField.map_residue is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align local_ring.residue_field.map_residue LocalRing.ResidueField.map_residueₓ'. -/
 theorem map_residue (f : R →+* S) [IsLocalRingHom f] (r : R) :
     ResidueField.map f (residue R r) = residue S (f r) :=
   rfl
 #align local_ring.residue_field.map_residue LocalRing.ResidueField.map_residue
 
-/- warning: local_ring.residue_field.map_id_apply -> LocalRing.ResidueField.map_id_apply is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align local_ring.residue_field.map_id_apply LocalRing.ResidueField.map_id_applyₓ'. -/
 theorem map_id_apply (x : ResidueField R) : map (RingHom.id R) x = x :=
   FunLike.congr_fun map_id x
 #align local_ring.residue_field.map_id_apply LocalRing.ResidueField.map_id_apply
 
-/- warning: local_ring.residue_field.map_map -> LocalRing.ResidueField.map_map is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align local_ring.residue_field.map_map LocalRing.ResidueField.map_mapₓ'. -/
 @[simp]
 theorem map_map (f : R →+* S) (g : S →+* T) (x : ResidueField R) [IsLocalRingHom f]
     [IsLocalRingHom g] : map g (map f x) = map (g.comp f) x :=
   FunLike.congr_fun (map_comp f g).symm x
 #align local_ring.residue_field.map_map LocalRing.ResidueField.map_map
 
-/- warning: local_ring.residue_field.map_equiv -> LocalRing.ResidueField.mapEquiv is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : LocalRing.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))] [_inst_3 : CommRing.{u2} S] [_inst_4 : LocalRing.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_3))], (RingEquiv.{u1, u2} R S (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Distrib.toHasMul.{u2} S (Ring.toDistrib.{u2} S (CommRing.toRing.{u2} S _inst_3))) (Distrib.toHasAdd.{u2} S (Ring.toDistrib.{u2} S (CommRing.toRing.{u2} S _inst_3)))) -> (RingEquiv.{u1, u2} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Distrib.toHasMul.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toDistrib.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.ring.{u1} R _inst_1 _inst_2))) (Distrib.toHasAdd.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toDistrib.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.ring.{u1} R _inst_1 _inst_2))) (Distrib.toHasMul.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Ring.toDistrib.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.ring.{u2} S _inst_3 _inst_4))) (Distrib.toHasAdd.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Ring.toDistrib.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.ring.{u2} S _inst_3 _inst_4))))
-but is expected to have type
-  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : LocalRing.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))] [_inst_3 : CommRing.{u2} S] [_inst_4 : LocalRing.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_3))], (RingEquiv.{u1, u2} R S (NonUnitalNonAssocRing.toMul.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (NonUnitalNonAssocRing.toMul.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_3)))) (Distrib.toAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (Distrib.toAdd.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_3))))))) -> (RingEquiv.{u1, u2} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (NonUnitalNonAssocRing.toMul.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonAssocRing.toNonUnitalNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionRing.toRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toDivisionRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2)))))) (NonUnitalNonAssocRing.toMul.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (NonAssocRing.toNonUnitalNonAssocRing.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Ring.toNonAssocRing.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (DivisionRing.toRing.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Field.toDivisionRing.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.field.{u2} S _inst_3 _inst_4)))))) (Distrib.toAdd.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonUnitalNonAssocSemiring.toDistrib.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonAssocRing.toNonUnitalNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionRing.toRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toDivisionRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2)))))))) (Distrib.toAdd.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (NonUnitalNonAssocSemiring.toDistrib.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (NonAssocRing.toNonUnitalNonAssocRing.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Ring.toNonAssocRing.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (DivisionRing.toRing.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Field.toDivisionRing.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.field.{u2} S _inst_3 _inst_4)))))))))
-Case conversion may be inaccurate. Consider using '#align local_ring.residue_field.map_equiv LocalRing.ResidueField.mapEquivₓ'. -/
 /-- A ring isomorphism defines an isomorphism of residue fields. -/
 @[simps apply]
 def mapEquiv (f : R ≃+* S) : LocalRing.ResidueField R ≃+* LocalRing.ResidueField S
@@ -643,40 +487,22 @@ def mapEquiv (f : R ≃+* S) : LocalRing.ResidueField R ≃+* LocalRing.ResidueF
   map_add' := RingHom.map_add _
 #align local_ring.residue_field.map_equiv LocalRing.ResidueField.mapEquiv
 
-/- warning: local_ring.residue_field.map_equiv.symm -> LocalRing.ResidueField.mapEquiv.symm is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : LocalRing.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))] [_inst_3 : CommRing.{u2} S] [_inst_4 : LocalRing.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_3))] (f : RingEquiv.{u1, u2} R S (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Distrib.toHasMul.{u2} S (Ring.toDistrib.{u2} S (CommRing.toRing.{u2} S _inst_3))) (Distrib.toHasAdd.{u2} S (Ring.toDistrib.{u2} S (CommRing.toRing.{u2} S _inst_3)))), Eq.{max (succ u2) (succ u1)} (RingEquiv.{u2, u1} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Distrib.toHasMul.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Ring.toDistrib.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.ring.{u2} S _inst_3 _inst_4))) (Distrib.toHasAdd.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Ring.toDistrib.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.ring.{u2} S _inst_3 _inst_4))) (Distrib.toHasMul.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toDistrib.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.ring.{u1} R _inst_1 _inst_2))) (Distrib.toHasAdd.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toDistrib.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.ring.{u1} R _inst_1 _inst_2)))) (RingEquiv.symm.{u1, u2} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Distrib.toHasMul.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toDistrib.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.ring.{u1} R _inst_1 _inst_2))) (Distrib.toHasAdd.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toDistrib.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.ring.{u1} R _inst_1 _inst_2))) (Distrib.toHasMul.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Ring.toDistrib.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.ring.{u2} S _inst_3 _inst_4))) (Distrib.toHasAdd.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Ring.toDistrib.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.ring.{u2} S _inst_3 _inst_4))) (LocalRing.ResidueField.mapEquiv.{u1, u2} R S _inst_1 _inst_2 _inst_3 _inst_4 f)) (LocalRing.ResidueField.mapEquiv.{u2, u1} S R _inst_3 _inst_4 _inst_1 _inst_2 (RingEquiv.symm.{u1, u2} R S (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Distrib.toHasMul.{u2} S (Ring.toDistrib.{u2} S (CommRing.toRing.{u2} S _inst_3))) (Distrib.toHasAdd.{u2} S (Ring.toDistrib.{u2} S (CommRing.toRing.{u2} S _inst_3))) f))
-but is expected to have type
-  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : LocalRing.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))] [_inst_3 : CommRing.{u2} S] [_inst_4 : LocalRing.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_3))] (f : RingEquiv.{u1, u2} R S (NonUnitalNonAssocRing.toMul.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (NonUnitalNonAssocRing.toMul.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_3)))) (Distrib.toAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (Distrib.toAdd.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_3))))))), Eq.{max (succ u1) (succ u2)} (RingEquiv.{u2, u1} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonUnitalNonAssocRing.toMul.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (NonAssocRing.toNonUnitalNonAssocRing.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Ring.toNonAssocRing.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (DivisionRing.toRing.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Field.toDivisionRing.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.field.{u2} S _inst_3 _inst_4)))))) (NonUnitalNonAssocRing.toMul.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonAssocRing.toNonUnitalNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionRing.toRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toDivisionRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2)))))) (Distrib.toAdd.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (NonUnitalNonAssocSemiring.toDistrib.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (NonAssocRing.toNonUnitalNonAssocRing.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Ring.toNonAssocRing.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (DivisionRing.toRing.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Field.toDivisionRing.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.field.{u2} S _inst_3 _inst_4)))))))) (Distrib.toAdd.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonUnitalNonAssocSemiring.toDistrib.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonAssocRing.toNonUnitalNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionRing.toRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toDivisionRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))))))) (RingEquiv.symm.{u1, u2} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (NonUnitalNonAssocRing.toMul.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonAssocRing.toNonUnitalNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionRing.toRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toDivisionRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2)))))) (NonUnitalNonAssocRing.toMul.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (NonAssocRing.toNonUnitalNonAssocRing.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Ring.toNonAssocRing.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (DivisionRing.toRing.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Field.toDivisionRing.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.field.{u2} S _inst_3 _inst_4)))))) (Distrib.toAdd.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonUnitalNonAssocSemiring.toDistrib.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonAssocRing.toNonUnitalNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionRing.toRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toDivisionRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2)))))))) (Distrib.toAdd.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (NonUnitalNonAssocSemiring.toDistrib.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (NonAssocRing.toNonUnitalNonAssocRing.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Ring.toNonAssocRing.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (DivisionRing.toRing.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Field.toDivisionRing.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.field.{u2} S _inst_3 _inst_4)))))))) (LocalRing.ResidueField.mapEquiv.{u1, u2} R S _inst_1 _inst_2 _inst_3 _inst_4 f)) (LocalRing.ResidueField.mapEquiv.{u2, u1} S R _inst_3 _inst_4 _inst_1 _inst_2 (RingEquiv.symm.{u1, u2} R S (NonUnitalNonAssocRing.toMul.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (NonUnitalNonAssocRing.toMul.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_3)))) (Distrib.toAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (Distrib.toAdd.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_3)))))) f))
-Case conversion may be inaccurate. Consider using '#align local_ring.residue_field.map_equiv.symm LocalRing.ResidueField.mapEquiv.symmₓ'. -/
 @[simp]
 theorem mapEquiv.symm (f : R ≃+* S) : (mapEquiv f).symm = mapEquiv f.symm :=
   rfl
 #align local_ring.residue_field.map_equiv.symm LocalRing.ResidueField.mapEquiv.symm
 
-/- warning: local_ring.residue_field.map_equiv_trans -> LocalRing.ResidueField.mapEquiv_trans is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align local_ring.residue_field.map_equiv_trans LocalRing.ResidueField.mapEquiv_transₓ'. -/
 @[simp]
 theorem mapEquiv_trans (e₁ : R ≃+* S) (e₂ : S ≃+* T) :
     mapEquiv (e₁.trans e₂) = (mapEquiv e₁).trans (mapEquiv e₂) :=
   RingEquiv.toRingHom_injective <| map_comp (e₁ : R →+* S) (e₂ : S →+* T)
 #align local_ring.residue_field.map_equiv_trans LocalRing.ResidueField.mapEquiv_trans
 
-/- warning: local_ring.residue_field.map_equiv_refl -> LocalRing.ResidueField.mapEquiv_refl is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] [_inst_2 : LocalRing.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))], Eq.{succ u1} (RingEquiv.{u1, u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Distrib.toHasMul.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toDistrib.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.ring.{u1} R _inst_1 _inst_2))) (Distrib.toHasAdd.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toDistrib.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.ring.{u1} R _inst_1 _inst_2))) (Distrib.toHasMul.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toDistrib.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.ring.{u1} R _inst_1 _inst_2))) (Distrib.toHasAdd.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toDistrib.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.ring.{u1} R _inst_1 _inst_2)))) (LocalRing.ResidueField.mapEquiv.{u1, u1} R R _inst_1 _inst_2 _inst_1 _inst_2 (RingEquiv.refl.{u1} R (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (RingEquiv.refl.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Distrib.toHasMul.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toDistrib.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.ring.{u1} R _inst_1 _inst_2))) (Distrib.toHasAdd.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toDistrib.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.ring.{u1} R _inst_1 _inst_2))))
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] [_inst_2 : LocalRing.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))], Eq.{succ u1} (RingEquiv.{u1, u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonUnitalNonAssocRing.toMul.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonAssocRing.toNonUnitalNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionRing.toRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toDivisionRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2)))))) (NonUnitalNonAssocRing.toMul.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonAssocRing.toNonUnitalNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionRing.toRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toDivisionRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2)))))) (Distrib.toAdd.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonUnitalNonAssocSemiring.toDistrib.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonAssocRing.toNonUnitalNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionRing.toRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toDivisionRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2)))))))) (Distrib.toAdd.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonUnitalNonAssocSemiring.toDistrib.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonAssocRing.toNonUnitalNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionRing.toRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toDivisionRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))))))) (LocalRing.ResidueField.mapEquiv.{u1, u1} R R _inst_1 _inst_2 _inst_1 _inst_2 (RingEquiv.refl.{u1} R (NonUnitalNonAssocRing.toMul.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Distrib.toAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))))) (RingEquiv.refl.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonUnitalNonAssocRing.toMul.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonAssocRing.toNonUnitalNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionRing.toRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toDivisionRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2)))))) (Distrib.toAdd.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonUnitalNonAssocSemiring.toDistrib.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonAssocRing.toNonUnitalNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionRing.toRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toDivisionRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2)))))))))
-Case conversion may be inaccurate. Consider using '#align local_ring.residue_field.map_equiv_refl LocalRing.ResidueField.mapEquiv_reflₓ'. -/
 @[simp]
 theorem mapEquiv_refl : mapEquiv (RingEquiv.refl R) = RingEquiv.refl _ :=
   RingEquiv.toRingHom_injective map_id
 #align local_ring.residue_field.map_equiv_refl LocalRing.ResidueField.mapEquiv_refl
 
-/- warning: local_ring.residue_field.map_aut -> LocalRing.ResidueField.mapAut is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align local_ring.residue_field.map_aut LocalRing.ResidueField.mapAutₓ'. -/
 /-- The group homomorphism from `ring_aut R` to `ring_aut k` where `k`
 is the residue field of `R`. -/
 @[simps]
@@ -695,9 +521,6 @@ variable (G : Type _) [Group G] [MulSemiringAction G R]
 instance : MulSemiringAction G (LocalRing.ResidueField R) :=
   MulSemiringAction.compHom _ <| mapAut.comp (MulSemiringAction.toRingAut G R)
 
-/- warning: local_ring.residue_field.residue_smul -> LocalRing.ResidueField.residue_smul is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align local_ring.residue_field.residue_smul LocalRing.ResidueField.residue_smulₓ'. -/
 @[simp]
 theorem residue_smul (g : G) (r : R) : residue R (g • r) = g • residue R r :=
   rfl
@@ -707,12 +530,6 @@ end MulSemiringAction
 
 end ResidueField
 
-/- warning: local_ring.ker_eq_maximal_ideal -> LocalRing.ker_eq_maximalIdeal is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {K : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : LocalRing.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))] [_inst_7 : Field.{u2} K] (φ : RingHom.{u1, u2} R K (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} K (Ring.toNonAssocRing.{u2} K (DivisionRing.toRing.{u2} K (Field.toDivisionRing.{u2} K _inst_7))))), (Function.Surjective.{succ u1, succ u2} R K (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R K (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} K (Ring.toNonAssocRing.{u2} K (DivisionRing.toRing.{u2} K (Field.toDivisionRing.{u2} K _inst_7))))) (fun (_x : RingHom.{u1, u2} R K (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} K (Ring.toNonAssocRing.{u2} K (DivisionRing.toRing.{u2} K (Field.toDivisionRing.{u2} K _inst_7))))) => R -> K) (RingHom.hasCoeToFun.{u1, u2} R K (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} K (Ring.toNonAssocRing.{u2} K (DivisionRing.toRing.{u2} K (Field.toDivisionRing.{u2} K _inst_7))))) φ)) -> (Eq.{succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHom.ker.{u1, u2, max u1 u2} R K (RingHom.{u1, u2} R K (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} K (Ring.toNonAssocRing.{u2} K (DivisionRing.toRing.{u2} K (Field.toDivisionRing.{u2} K _inst_7))))) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u2} K (DivisionRing.toRing.{u2} K (Field.toDivisionRing.{u2} K _inst_7))) (RingHom.ringHomClass.{u1, u2} R K (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} K (Ring.toNonAssocRing.{u2} K (DivisionRing.toRing.{u2} K (Field.toDivisionRing.{u2} K _inst_7))))) φ) (LocalRing.maximalIdeal.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1) _inst_2))
-but is expected to have type
-  forall {R : Type.{u1}} {K : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : LocalRing.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))] [_inst_7 : Field.{u2} K] (φ : RingHom.{u1, u2} R K (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (Semifield.toDivisionSemiring.{u2} K (Field.toSemifield.{u2} K _inst_7))))), (Function.Surjective.{succ u1, succ u2} R K (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (RingHom.{u1, u2} R K (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (Semifield.toDivisionSemiring.{u2} K (Field.toSemifield.{u2} K _inst_7))))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => K) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (RingHom.{u1, u2} R K (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (Semifield.toDivisionSemiring.{u2} K (Field.toSemifield.{u2} K _inst_7))))) R K (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} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} K (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (Semifield.toDivisionSemiring.{u2} K (Field.toSemifield.{u2} K _inst_7)))))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R K (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (Semifield.toDivisionSemiring.{u2} K (Field.toSemifield.{u2} K _inst_7))))) R K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} K (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (Semifield.toDivisionSemiring.{u2} K (Field.toSemifield.{u2} K _inst_7))))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R K (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (Semifield.toDivisionSemiring.{u2} K (Field.toSemifield.{u2} K _inst_7))))) R K (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (Semifield.toDivisionSemiring.{u2} K (Field.toSemifield.{u2} K _inst_7)))) (RingHom.instRingHomClassRingHom.{u1, u2} R K (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (Semifield.toDivisionSemiring.{u2} K (Field.toSemifield.{u2} K _inst_7)))))))) φ)) -> (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHom.ker.{u1, u2, max u1 u2} R K (RingHom.{u1, u2} R K (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (Semifield.toDivisionSemiring.{u2} K (Field.toSemifield.{u2} K _inst_7))))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (DivisionSemiring.toSemiring.{u2} K (Semifield.toDivisionSemiring.{u2} K (Field.toSemifield.{u2} K _inst_7))) (RingHom.instRingHomClassRingHom.{u1, u2} R K (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (Semifield.toDivisionSemiring.{u2} K (Field.toSemifield.{u2} K _inst_7))))) φ) (LocalRing.maximalIdeal.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1) _inst_2))
-Case conversion may be inaccurate. Consider using '#align local_ring.ker_eq_maximal_ideal LocalRing.ker_eq_maximalIdealₓ'. -/
 theorem ker_eq_maximalIdeal [Field K] (φ : R →+* K) (hφ : Function.Surjective φ) :
     φ.ker = maximalIdeal R :=
   LocalRing.eq_maximalIdeal <| (RingHom.ker_isMaximal_of_surjective φ) hφ
@@ -747,24 +564,12 @@ instance (priority := 100) : LocalRing K :=
 
 end Field
 
-/- warning: local_ring.maximal_ideal_eq_bot -> LocalRing.maximalIdeal_eq_bot is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : Field.{u1} R], Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_1)))) (LocalRing.maximalIdeal.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_1)) (Field.localRing.{u1} R _inst_1)) (Bot.bot.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_1)))) (Submodule.hasBot.{u1, u1} R R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_1)))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_1))))))
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : Field.{u1} R], Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_1)))) (LocalRing.maximalIdeal.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_1)) (Field.instLocalRingToSemiringToDivisionSemiringToSemifield.{u1} R _inst_1)) (Bot.bot.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_1)))) (Submodule.instBotSubmodule.{u1, u1} R R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_1)))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_1))))))
-Case conversion may be inaccurate. Consider using '#align local_ring.maximal_ideal_eq_bot LocalRing.maximalIdeal_eq_botₓ'. -/
 theorem LocalRing.maximalIdeal_eq_bot {R : Type _} [Field R] : LocalRing.maximalIdeal R = ⊥ :=
   LocalRing.isField_iff_maximalIdeal_eq.mp (Field.toIsField R)
 #align local_ring.maximal_ideal_eq_bot LocalRing.maximalIdeal_eq_bot
 
 namespace RingEquiv
 
-/- warning: ring_equiv.local_ring -> RingEquiv.localRing is a dubious translation:
-lean 3 declaration is
-  forall {A : Type.{u1}} {B : Type.{u2}} [_inst_1 : CommSemiring.{u1} A] [_inst_2 : LocalRing.{u1} A (CommSemiring.toSemiring.{u1} A _inst_1)] [_inst_3 : CommSemiring.{u2} B], (RingEquiv.{u1, u2} A B (Distrib.toHasMul.{u1} A (NonUnitalNonAssocSemiring.toDistrib.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A _inst_1))))) (Distrib.toHasAdd.{u1} A (NonUnitalNonAssocSemiring.toDistrib.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A _inst_1))))) (Distrib.toHasMul.{u2} B (NonUnitalNonAssocSemiring.toDistrib.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_3))))) (Distrib.toHasAdd.{u2} B (NonUnitalNonAssocSemiring.toDistrib.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_3)))))) -> (LocalRing.{u2} B (CommSemiring.toSemiring.{u2} B _inst_3))
-but is expected to have type
-  forall {A : Type.{u2}} {B : Type.{u1}} [_inst_1 : CommSemiring.{u2} A] [_inst_2 : LocalRing.{u2} A (CommSemiring.toSemiring.{u2} A _inst_1)] [_inst_3 : CommSemiring.{u1} B], (RingEquiv.{u2, u1} A B (NonUnitalNonAssocSemiring.toMul.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u1} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} B (Semiring.toNonAssocSemiring.{u1} B (CommSemiring.toSemiring.{u1} B _inst_3)))) (Distrib.toAdd.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A _inst_1))))) (Distrib.toAdd.{u1} B (NonUnitalNonAssocSemiring.toDistrib.{u1} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} B (Semiring.toNonAssocSemiring.{u1} B (CommSemiring.toSemiring.{u1} B _inst_3)))))) -> (LocalRing.{u1} B (CommSemiring.toSemiring.{u1} B _inst_3))
-Case conversion may be inaccurate. Consider using '#align ring_equiv.local_ring RingEquiv.localRingₓ'. -/
 @[reducible]
 protected theorem localRing {A B : Type _} [CommSemiring A] [LocalRing A] [CommSemiring B]
     (e : A ≃+* B) : LocalRing B :=
Diff
@@ -155,9 +155,7 @@ instance maximalIdeal.isMaximal : (maximalIdeal R).IsMaximal :=
   by
   rw [Ideal.isMaximal_iff]
   constructor
-  · intro h
-    apply h
-    exact isUnit_one
+  · intro h; apply h; exact isUnit_one
   · intro I x hI hx H
     erw [Classical.not_not] at hx
     rcases hx with ⟨u, rfl⟩
@@ -491,12 +489,7 @@ theorem surjective_units_map_of_local_ringHom [CommRing R] [CommRing S] (f : R 
   by
   intro a
   obtain ⟨b, hb⟩ := hf (a : S)
-  use
-    (isUnit_of_map_unit f _
-        (by
-          rw [hb]
-          exact Units.isUnit _)).Unit;
-  ext; exact hb
+  use (isUnit_of_map_unit f _ (by rw [hb]; exact Units.isUnit _)).Unit; ext; exact hb
 #align local_ring.surjective_units_map_of_local_ring_hom LocalRing.surjective_units_map_of_local_ringHom
 
 section
Diff
@@ -438,10 +438,7 @@ section
 variable [CommSemiring R] [LocalRing R] [CommSemiring S] [LocalRing S]
 
 /- warning: local_ring.local_hom_tfae -> LocalRing.local_hom_TFAE is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : LocalRing.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)] [_inst_3 : CommSemiring.{u2} S] [_inst_4 : LocalRing.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)] (f : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))), List.TFAE (List.cons.{0} Prop (IsLocalRingHom.{u1, u2} R S (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} S _inst_3) f) (List.cons.{0} Prop (HasSubset.Subset.{u2} (Set.{u2} S) (Set.hasSubset.{u2} S) (Set.image.{u1, 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 _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) (fun (_x : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) => R -> S) (RingHom.hasCoeToFun.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) f) (Submodule.carrier.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (LocalRing.maximalIdeal.{u1} R _inst_1 _inst_2))) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Ideal.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)) (Set.{u2} S) (HasLiftT.mk.{succ u2, succ u2} (Ideal.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)) (Set.{u2} S) (CoeTCₓ.coe.{succ u2, succ u2} (Ideal.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)) (Set.{u2} S) (SetLike.Set.hasCoeT.{u2, u2} (Ideal.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)) S (Submodule.setLike.{u2, u2} S S (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)))) (Semiring.toModule.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)))))) (LocalRing.maximalIdeal.{u2} S _inst_3 _inst_4))) (List.cons.{0} Prop (LE.le.{u2} (Ideal.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)) (Preorder.toHasLe.{u2} (Ideal.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)) (PartialOrder.toPreorder.{u2} (Ideal.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Ideal.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Ideal.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)) (Submodule.completeLattice.{u2, u2} S S (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)))) (Semiring.toModule.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))))))) (Ideal.map.{u1, u2, max u1 u2} R S (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} S _inst_3) (RingHom.ringHomClass.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) f (LocalRing.maximalIdeal.{u1} R _inst_1 _inst_2)) (LocalRing.maximalIdeal.{u2} S _inst_3 _inst_4)) (List.cons.{0} Prop (LE.le.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Preorder.toHasLe.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.completeLattice.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))) (LocalRing.maximalIdeal.{u1} R _inst_1 _inst_2) (Ideal.comap.{u1, u2, max u1 u2} R S (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} S _inst_3) (RingHom.ringHomClass.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) f (LocalRing.maximalIdeal.{u2} S _inst_3 _inst_4))) (List.cons.{0} Prop (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.comap.{u1, u2, max u1 u2} R S (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} S _inst_3) (RingHom.ringHomClass.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) f (LocalRing.maximalIdeal.{u2} S _inst_3 _inst_4)) (LocalRing.maximalIdeal.{u1} R _inst_1 _inst_2)) (List.nil.{0} Prop))))))
-but is expected to have type
-  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : LocalRing.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)] [_inst_3 : CommSemiring.{u2} S] [_inst_4 : LocalRing.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)] (f : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))), List.TFAE (List.cons.{0} Prop (IsLocalRingHom.{u1, u2} R S (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} S _inst_3) f) (List.cons.{0} Prop (HasSubset.Subset.{u2} (Set.{u2} S) (Set.instHasSubsetSet.{u2} S) (Set.image.{u1, u2} R S (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) R S (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)) (RingHom.instRingHomClassRingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)))))) f) (SetLike.coe.{u1, u1} (AddSubmonoid.{u1} R (AddMonoid.toAddZeroClass.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))) R (AddSubmonoid.instSetLikeAddSubmonoid.{u1} R (AddMonoid.toAddZeroClass.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))) (Submodule.toAddSubmonoid.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (LocalRing.maximalIdeal.{u1} R _inst_1 _inst_2)))) (SetLike.coe.{u2, u2} (Ideal.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)) S (Submodule.setLike.{u2, u2} S S (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)))) (Semiring.toModule.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) (LocalRing.maximalIdeal.{u2} S _inst_3 _inst_4))) (List.cons.{0} Prop (LE.le.{u2} (Ideal.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)) (Preorder.toLE.{u2} (Ideal.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)) (PartialOrder.toPreorder.{u2} (Ideal.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)) (Submodule.completeLattice.{u2, u2} S S (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)))) (Semiring.toModule.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))))))) (Ideal.map.{u1, u2, max u1 u2} R S (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} S _inst_3) (RingHom.instRingHomClassRingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) f (LocalRing.maximalIdeal.{u1} R _inst_1 _inst_2)) (LocalRing.maximalIdeal.{u2} S _inst_3 _inst_4)) (List.cons.{0} Prop (LE.le.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Preorder.toLE.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.completeLattice.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))) (LocalRing.maximalIdeal.{u1} R _inst_1 _inst_2) (Ideal.comap.{u1, u2, max u1 u2} R S (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} S _inst_3) (RingHom.instRingHomClassRingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) f (LocalRing.maximalIdeal.{u2} S _inst_3 _inst_4))) (List.cons.{0} Prop (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.comap.{u1, u2, max u1 u2} R S (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} S _inst_3) (RingHom.instRingHomClassRingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) f (LocalRing.maximalIdeal.{u2} S _inst_3 _inst_4)) (LocalRing.maximalIdeal.{u1} R _inst_1 _inst_2)) (List.nil.{0} Prop))))))
+<too large>
 Case conversion may be inaccurate. Consider using '#align local_ring.local_hom_tfae LocalRing.local_hom_TFAEₓ'. -/
 /-- A ring homomorphism between local rings is a local ring hom iff it reflects units,
 i.e. any preimage of a unit is still a unit. https://stacks.math.columbia.edu/tag/07BJ
@@ -485,10 +482,7 @@ theorem of_surjective [CommSemiring R] [LocalRing R] [CommSemiring S] [Nontrivia
 #align local_ring.of_surjective LocalRing.of_surjective
 
 /- warning: local_ring.surjective_units_map_of_local_ring_hom -> LocalRing.surjective_units_map_of_local_ringHom is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : CommRing.{u2} S] (f : RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))), (Function.Surjective.{succ u1, succ u2} R S (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) (fun (_x : RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) => R -> S) (RingHom.hasCoeToFun.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) f)) -> (IsLocalRingHom.{u1, u2} R S (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) f) -> (Function.Surjective.{succ u1, succ u2} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Units.{u2} S (Ring.toMonoid.{u2} S (CommRing.toRing.{u2} S _inst_2))) (coeFn.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (MonoidHom.{u1, u2} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Units.{u2} S (Ring.toMonoid.{u2} S (CommRing.toRing.{u2} S _inst_2))) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Units.mulOneClass.{u2} S (Ring.toMonoid.{u2} S (CommRing.toRing.{u2} S _inst_2)))) (fun (_x : MonoidHom.{u1, u2} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Units.{u2} S (Ring.toMonoid.{u2} S (CommRing.toRing.{u2} S _inst_2))) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Units.mulOneClass.{u2} S (Ring.toMonoid.{u2} S (CommRing.toRing.{u2} S _inst_2)))) => (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) -> (Units.{u2} S (Ring.toMonoid.{u2} S (CommRing.toRing.{u2} S _inst_2)))) (MonoidHom.hasCoeToFun.{u1, u2} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Units.{u2} S (Ring.toMonoid.{u2} S (CommRing.toRing.{u2} S _inst_2))) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Units.mulOneClass.{u2} S (Ring.toMonoid.{u2} S (CommRing.toRing.{u2} S _inst_2)))) (Units.map.{u1, u2} R S (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toMonoid.{u2} S (CommRing.toRing.{u2} S _inst_2)) (RingHom.toMonoidHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2))) f))))
-but is expected to have type
-  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : CommRing.{u2} S] (f : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))), (Function.Surjective.{succ u1, succ u2} R S (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) R S (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (NonUnitalNonAssocSemiring.toMul.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (RingHom.instRingHomClassRingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))))) f)) -> (IsLocalRingHom.{u1, u2} R S (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) f) -> (Function.Surjective.{succ u1, succ u2} (Units.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Units.{u2} S (MonoidWithZero.toMonoid.{u2} S (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (MonoidHom.{u1, u2} (Units.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Units.{u2} S (MonoidWithZero.toMonoid.{u2} S (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (Units.instMulOneClassUnits.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Units.instMulOneClassUnits.{u2} S (MonoidWithZero.toMonoid.{u2} S (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))))) (Units.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (_x : Units.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Units.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) => Units.{u2} S (MonoidWithZero.toMonoid.{u2} S (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (MonoidHom.{u1, u2} (Units.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Units.{u2} S (MonoidWithZero.toMonoid.{u2} S (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (Units.instMulOneClassUnits.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Units.instMulOneClassUnits.{u2} S (MonoidWithZero.toMonoid.{u2} S (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))))) (Units.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Units.{u2} S (MonoidWithZero.toMonoid.{u2} S (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (MulOneClass.toMul.{u1} (Units.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Units.instMulOneClassUnits.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (MulOneClass.toMul.{u2} (Units.{u2} S (MonoidWithZero.toMonoid.{u2} S (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (Units.instMulOneClassUnits.{u2} S (MonoidWithZero.toMonoid.{u2} S (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u1, u2} (MonoidHom.{u1, u2} (Units.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Units.{u2} S (MonoidWithZero.toMonoid.{u2} S (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (Units.instMulOneClassUnits.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Units.instMulOneClassUnits.{u2} S (MonoidWithZero.toMonoid.{u2} S (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))))) (Units.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Units.{u2} S (MonoidWithZero.toMonoid.{u2} S (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (Units.instMulOneClassUnits.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Units.instMulOneClassUnits.{u2} S (MonoidWithZero.toMonoid.{u2} S (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (MonoidHom.monoidHomClass.{u1, u2} (Units.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Units.{u2} S (MonoidWithZero.toMonoid.{u2} S (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (Units.instMulOneClassUnits.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Units.instMulOneClassUnits.{u2} S (MonoidWithZero.toMonoid.{u2} S (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))))))) (Units.map.{u1, u2} R S (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (MonoidWithZero.toMonoid.{u2} S (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (RingHom.toMonoidHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) f))))
+<too large>
 Case conversion may be inaccurate. Consider using '#align local_ring.surjective_units_map_of_local_ring_hom LocalRing.surjective_units_map_of_local_ringHomₓ'. -/
 /-- If `f : R →+* S` is a surjective local ring hom, then the induced units map is surjective. -/
 theorem surjective_units_map_of_local_ringHom [CommRing R] [CommRing S] (f : R →+* S)
@@ -570,10 +564,7 @@ theorem lift_comp_residue {R S : Type _} [CommRing R] [LocalRing R] [Field S] (f
 #align local_ring.residue_field.lift_comp_residue LocalRing.ResidueField.lift_comp_residue
 
 /- warning: local_ring.residue_field.lift_residue_apply -> LocalRing.ResidueField.lift_residue_apply is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_7 : CommRing.{u1} R] [_inst_8 : LocalRing.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_7))] [_inst_9 : Field.{u2} S] (f : RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_7))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (DivisionRing.toRing.{u2} S (Field.toDivisionRing.{u2} S _inst_9))))) [_inst_10 : IsLocalRingHom.{u1, u2} R S (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_7)) (Ring.toSemiring.{u2} S (DivisionRing.toRing.{u2} S (Field.toDivisionRing.{u2} S _inst_9))) f] (x : R), Eq.{succ u2} S (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} (LocalRing.ResidueField.{u1} R _inst_7 _inst_8) S (NonAssocRing.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_7 _inst_8) (Ring.toNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_7 _inst_8) (LocalRing.ResidueField.ring.{u1} R _inst_7 _inst_8))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (DivisionRing.toRing.{u2} S (Field.toDivisionRing.{u2} S _inst_9))))) (fun (_x : RingHom.{u1, u2} (LocalRing.ResidueField.{u1} R _inst_7 _inst_8) S (NonAssocRing.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_7 _inst_8) (Ring.toNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_7 _inst_8) (LocalRing.ResidueField.ring.{u1} R _inst_7 _inst_8))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (DivisionRing.toRing.{u2} S (Field.toDivisionRing.{u2} S _inst_9))))) => (LocalRing.ResidueField.{u1} R _inst_7 _inst_8) -> S) (RingHom.hasCoeToFun.{u1, u2} (LocalRing.ResidueField.{u1} R _inst_7 _inst_8) S (NonAssocRing.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_7 _inst_8) (Ring.toNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_7 _inst_8) (LocalRing.ResidueField.ring.{u1} R _inst_7 _inst_8))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (DivisionRing.toRing.{u2} S (Field.toDivisionRing.{u2} S _inst_9))))) (LocalRing.ResidueField.lift.{u1, u2} R S _inst_7 _inst_8 _inst_9 f _inst_10) (coeFn.{succ u1, succ u1} (RingHom.{u1, u1} R (LocalRing.ResidueField.{u1} R _inst_7 _inst_8) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_7))) (NonAssocRing.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_7 _inst_8) (Ring.toNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_7 _inst_8) (LocalRing.ResidueField.ring.{u1} R _inst_7 _inst_8)))) (fun (_x : RingHom.{u1, u1} R (LocalRing.ResidueField.{u1} R _inst_7 _inst_8) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_7))) (NonAssocRing.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_7 _inst_8) (Ring.toNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_7 _inst_8) (LocalRing.ResidueField.ring.{u1} R _inst_7 _inst_8)))) => R -> (LocalRing.ResidueField.{u1} R _inst_7 _inst_8)) (RingHom.hasCoeToFun.{u1, u1} R (LocalRing.ResidueField.{u1} R _inst_7 _inst_8) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_7))) (NonAssocRing.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_7 _inst_8) (Ring.toNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_7 _inst_8) (LocalRing.ResidueField.ring.{u1} R _inst_7 _inst_8)))) (LocalRing.residue.{u1} R _inst_7 _inst_8) x)) (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_7))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (DivisionRing.toRing.{u2} S (Field.toDivisionRing.{u2} S _inst_9))))) (fun (_x : RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_7))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (DivisionRing.toRing.{u2} S (Field.toDivisionRing.{u2} S _inst_9))))) => R -> S) (RingHom.hasCoeToFun.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_7))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (DivisionRing.toRing.{u2} S (Field.toDivisionRing.{u2} S _inst_9))))) f x)
-but is expected to have type
-  forall {R : Type.{u2}} {S : Type.{u1}} [_inst_7 : CommRing.{u2} R] [_inst_8 : LocalRing.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_7))] [_inst_9 : Field.{u1} S] (f : RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_7))) (Semiring.toNonAssocSemiring.{u1} S (DivisionSemiring.toSemiring.{u1} S (Semifield.toDivisionSemiring.{u1} S (Field.toSemifield.{u1} S _inst_9))))) [_inst_10 : IsLocalRingHom.{u2, u1} R S (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_7)) (DivisionSemiring.toSemiring.{u1} S (Semifield.toDivisionSemiring.{u1} S (Field.toSemifield.{u1} S _inst_9))) f] (x : R), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LocalRing.ResidueField.{u2} R _inst_7 _inst_8) => S) (FunLike.coe.{succ u2, succ u2, succ u2} (RingHom.{u2, u2} R (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_7))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (LocalRing.ResidueField.field.{u2} R _inst_7 _inst_8)))))) R (fun (a : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => LocalRing.ResidueField.{u2} R _inst_7 _inst_8) a) (MulHomClass.toFunLike.{u2, u2, u2} (RingHom.{u2, u2} R (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_7))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (LocalRing.ResidueField.field.{u2} R _inst_7 _inst_8)))))) R (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_7))))) (NonUnitalNonAssocSemiring.toMul.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (LocalRing.ResidueField.field.{u2} R _inst_7 _inst_8))))))) (NonUnitalRingHomClass.toMulHomClass.{u2, u2, u2} (RingHom.{u2, u2} R (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_7))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (LocalRing.ResidueField.field.{u2} R _inst_7 _inst_8)))))) R (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_7)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (LocalRing.ResidueField.field.{u2} R _inst_7 _inst_8)))))) (RingHomClass.toNonUnitalRingHomClass.{u2, u2, u2} (RingHom.{u2, u2} R (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_7))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (LocalRing.ResidueField.field.{u2} R _inst_7 _inst_8)))))) R (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_7))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (LocalRing.ResidueField.field.{u2} R _inst_7 _inst_8))))) (RingHom.instRingHomClassRingHom.{u2, u2} R (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_7))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (LocalRing.ResidueField.field.{u2} R _inst_7 _inst_8))))))))) (LocalRing.residue.{u2} R _inst_7 _inst_8) x)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (RingHom.{u2, u1} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) S (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (LocalRing.ResidueField.field.{u2} R _inst_7 _inst_8))))) (Semiring.toNonAssocSemiring.{u1} S (DivisionSemiring.toSemiring.{u1} S (Semifield.toDivisionSemiring.{u1} S (Field.toSemifield.{u1} S _inst_9))))) (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (fun (_x : LocalRing.ResidueField.{u2} R _inst_7 _inst_8) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LocalRing.ResidueField.{u2} R _inst_7 _inst_8) => S) _x) (MulHomClass.toFunLike.{max u2 u1, u2, u1} (RingHom.{u2, u1} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) S (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (LocalRing.ResidueField.field.{u2} R _inst_7 _inst_8))))) (Semiring.toNonAssocSemiring.{u1} S (DivisionSemiring.toSemiring.{u1} S (Semifield.toDivisionSemiring.{u1} S (Field.toSemifield.{u1} S _inst_9))))) (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) S (NonUnitalNonAssocSemiring.toMul.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (LocalRing.ResidueField.field.{u2} R _inst_7 _inst_8))))))) (NonUnitalNonAssocSemiring.toMul.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (DivisionSemiring.toSemiring.{u1} S (Semifield.toDivisionSemiring.{u1} S (Field.toSemifield.{u1} S _inst_9)))))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u1, u2, u1} (RingHom.{u2, u1} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) S (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (LocalRing.ResidueField.field.{u2} R _inst_7 _inst_8))))) (Semiring.toNonAssocSemiring.{u1} S (DivisionSemiring.toSemiring.{u1} S (Semifield.toDivisionSemiring.{u1} S (Field.toSemifield.{u1} S _inst_9))))) (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (LocalRing.ResidueField.field.{u2} R _inst_7 _inst_8)))))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (DivisionSemiring.toSemiring.{u1} S (Semifield.toDivisionSemiring.{u1} S (Field.toSemifield.{u1} S _inst_9))))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u1, u2, u1} (RingHom.{u2, u1} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) S (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (LocalRing.ResidueField.field.{u2} R _inst_7 _inst_8))))) (Semiring.toNonAssocSemiring.{u1} S (DivisionSemiring.toSemiring.{u1} S (Semifield.toDivisionSemiring.{u1} S (Field.toSemifield.{u1} S _inst_9))))) (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) S (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (LocalRing.ResidueField.field.{u2} R _inst_7 _inst_8))))) (Semiring.toNonAssocSemiring.{u1} S (DivisionSemiring.toSemiring.{u1} S (Semifield.toDivisionSemiring.{u1} S (Field.toSemifield.{u1} S _inst_9)))) (RingHom.instRingHomClassRingHom.{u2, u1} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) S (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (LocalRing.ResidueField.field.{u2} R _inst_7 _inst_8))))) (Semiring.toNonAssocSemiring.{u1} S (DivisionSemiring.toSemiring.{u1} S (Semifield.toDivisionSemiring.{u1} S (Field.toSemifield.{u1} S _inst_9)))))))) (LocalRing.ResidueField.lift.{u2, u1} R S _inst_7 _inst_8 _inst_9 f _inst_10) (FunLike.coe.{succ u2, succ u2, succ u2} (RingHom.{u2, u2} R (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_7))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (LocalRing.ResidueField.field.{u2} R _inst_7 _inst_8)))))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => LocalRing.ResidueField.{u2} R _inst_7 _inst_8) _x) (MulHomClass.toFunLike.{u2, u2, u2} (RingHom.{u2, u2} R (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_7))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (LocalRing.ResidueField.field.{u2} R _inst_7 _inst_8)))))) R (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_7))))) (NonUnitalNonAssocSemiring.toMul.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (LocalRing.ResidueField.field.{u2} R _inst_7 _inst_8))))))) (NonUnitalRingHomClass.toMulHomClass.{u2, u2, u2} (RingHom.{u2, u2} R (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_7))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (LocalRing.ResidueField.field.{u2} R _inst_7 _inst_8)))))) R (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_7)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (LocalRing.ResidueField.field.{u2} R _inst_7 _inst_8)))))) (RingHomClass.toNonUnitalRingHomClass.{u2, u2, u2} (RingHom.{u2, u2} R (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_7))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (LocalRing.ResidueField.field.{u2} R _inst_7 _inst_8)))))) R (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_7))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (LocalRing.ResidueField.field.{u2} R _inst_7 _inst_8))))) (RingHom.instRingHomClassRingHom.{u2, u2} R (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_7))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (LocalRing.ResidueField.field.{u2} R _inst_7 _inst_8))))))))) (LocalRing.residue.{u2} R _inst_7 _inst_8) x)) (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_7))) (Semiring.toNonAssocSemiring.{u1} S (DivisionSemiring.toSemiring.{u1} S (Semifield.toDivisionSemiring.{u1} S (Field.toSemifield.{u1} S _inst_9))))) 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_7))) (Semiring.toNonAssocSemiring.{u1} S (DivisionSemiring.toSemiring.{u1} S (Semifield.toDivisionSemiring.{u1} S (Field.toSemifield.{u1} S _inst_9))))) R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_7))))) (NonUnitalNonAssocSemiring.toMul.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (DivisionSemiring.toSemiring.{u1} S (Semifield.toDivisionSemiring.{u1} S (Field.toSemifield.{u1} S _inst_9)))))) (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_7))) (Semiring.toNonAssocSemiring.{u1} S (DivisionSemiring.toSemiring.{u1} S (Semifield.toDivisionSemiring.{u1} S (Field.toSemifield.{u1} S _inst_9))))) R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_7)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (DivisionSemiring.toSemiring.{u1} S (Semifield.toDivisionSemiring.{u1} S (Field.toSemifield.{u1} S _inst_9))))) (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_7))) (Semiring.toNonAssocSemiring.{u1} S (DivisionSemiring.toSemiring.{u1} S (Semifield.toDivisionSemiring.{u1} S (Field.toSemifield.{u1} S _inst_9))))) R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_7))) (Semiring.toNonAssocSemiring.{u1} S (DivisionSemiring.toSemiring.{u1} S (Semifield.toDivisionSemiring.{u1} S (Field.toSemifield.{u1} S _inst_9)))) (RingHom.instRingHomClassRingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_7))) (Semiring.toNonAssocSemiring.{u1} S (DivisionSemiring.toSemiring.{u1} S (Semifield.toDivisionSemiring.{u1} S (Field.toSemifield.{u1} S _inst_9)))))))) f x)
+<too large>
 Case conversion may be inaccurate. Consider using '#align local_ring.residue_field.lift_residue_apply LocalRing.ResidueField.lift_residue_applyₓ'. -/
 @[simp]
 theorem lift_residue_apply {R S : Type _} [CommRing R] [LocalRing R] [Field S] (f : R →+* S)
@@ -618,10 +609,7 @@ theorem map_comp_residue (f : R →+* S) [IsLocalRingHom f] :
 -/
 
 /- warning: local_ring.residue_field.map_residue -> LocalRing.ResidueField.map_residue is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : LocalRing.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))] [_inst_3 : CommRing.{u2} S] [_inst_4 : LocalRing.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_3))] (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_3)))) [_inst_7 : IsLocalRingHom.{u1, u2} R S (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_3)) f] (r : R), Eq.{succ u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (NonAssocRing.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.ring.{u1} R _inst_1 _inst_2))) (NonAssocRing.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Ring.toNonAssocRing.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.ring.{u2} S _inst_3 _inst_4)))) (fun (_x : RingHom.{u1, u2} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (NonAssocRing.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.ring.{u1} R _inst_1 _inst_2))) (NonAssocRing.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Ring.toNonAssocRing.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.ring.{u2} S _inst_3 _inst_4)))) => (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) -> (LocalRing.ResidueField.{u2} S _inst_3 _inst_4)) (RingHom.hasCoeToFun.{u1, u2} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (NonAssocRing.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.ring.{u1} R _inst_1 _inst_2))) (NonAssocRing.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Ring.toNonAssocRing.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.ring.{u2} S _inst_3 _inst_4)))) (LocalRing.ResidueField.map.{u1, u2} R S _inst_1 _inst_2 _inst_3 _inst_4 f _inst_7) (coeFn.{succ u1, succ u1} (RingHom.{u1, u1} R (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.ring.{u1} R _inst_1 _inst_2)))) (fun (_x : RingHom.{u1, u1} R (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.ring.{u1} R _inst_1 _inst_2)))) => R -> (LocalRing.ResidueField.{u1} R _inst_1 _inst_2)) (RingHom.hasCoeToFun.{u1, u1} R (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.ring.{u1} R _inst_1 _inst_2)))) (LocalRing.residue.{u1} R _inst_1 _inst_2) r)) (coeFn.{succ u2, succ u2} (RingHom.{u2, u2} S (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_3))) (NonAssocRing.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Ring.toNonAssocRing.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.ring.{u2} S _inst_3 _inst_4)))) (fun (_x : RingHom.{u2, u2} S (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_3))) (NonAssocRing.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Ring.toNonAssocRing.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.ring.{u2} S _inst_3 _inst_4)))) => S -> (LocalRing.ResidueField.{u2} S _inst_3 _inst_4)) (RingHom.hasCoeToFun.{u2, u2} S (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_3))) (NonAssocRing.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Ring.toNonAssocRing.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.ring.{u2} S _inst_3 _inst_4)))) (LocalRing.residue.{u2} S _inst_3 _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_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 (CommRing.toRing.{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 (CommRing.toRing.{u2} S _inst_3)))) f r))
-but is expected to have type
-  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : LocalRing.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))] [_inst_3 : CommRing.{u2} S] [_inst_4 : LocalRing.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_3))] (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_3)))) [_inst_7 : IsLocalRingHom.{u1, u2} R S (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_3)) f] (r : R), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LocalRing.ResidueField.{u1} R _inst_1 _inst_2) => LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (FunLike.coe.{succ u1, succ u1, succ u1} (RingHom.{u1, u1} R (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2)))))) R (fun (a : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => LocalRing.ResidueField.{u1} R _inst_1 _inst_2) a) (MulHomClass.toFunLike.{u1, u1, u1} (RingHom.{u1, u1} R (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2)))))) R (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (NonUnitalNonAssocSemiring.toMul.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))))) (NonUnitalRingHomClass.toMulHomClass.{u1, u1, u1} (RingHom.{u1, u1} R (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2)))))) R (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2)))))) (RingHomClass.toNonUnitalRingHomClass.{u1, u1, u1} (RingHom.{u1, u1} R (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2)))))) R (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))) (RingHom.instRingHomClassRingHom.{u1, u1} R (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))))))) (LocalRing.residue.{u1} R _inst_1 _inst_2) r)) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (RingHom.{u1, u2} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.field.{u2} S _inst_3 _inst_4)))))) (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (fun (_x : LocalRing.ResidueField.{u1} R _inst_1 _inst_2) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LocalRing.ResidueField.{u1} R _inst_1 _inst_2) => LocalRing.ResidueField.{u2} S _inst_3 _inst_4) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (RingHom.{u1, u2} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.field.{u2} S _inst_3 _inst_4)))))) (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (NonUnitalNonAssocSemiring.toMul.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))))) (NonUnitalNonAssocSemiring.toMul.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.field.{u2} S _inst_3 _inst_4))))))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.field.{u2} S _inst_3 _inst_4)))))) (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2)))))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.field.{u2} S _inst_3 _inst_4)))))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.field.{u2} S _inst_3 _inst_4)))))) (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.field.{u2} S _inst_3 _inst_4))))) (RingHom.instRingHomClassRingHom.{u1, u2} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.field.{u2} S _inst_3 _inst_4))))))))) (LocalRing.ResidueField.map.{u1, u2} R S _inst_1 _inst_2 _inst_3 _inst_4 f _inst_7) (FunLike.coe.{succ u1, succ u1, succ u1} (RingHom.{u1, u1} R (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2)))))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => LocalRing.ResidueField.{u1} R _inst_1 _inst_2) _x) (MulHomClass.toFunLike.{u1, u1, u1} (RingHom.{u1, u1} R (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2)))))) R (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (NonUnitalNonAssocSemiring.toMul.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))))) (NonUnitalRingHomClass.toMulHomClass.{u1, u1, u1} (RingHom.{u1, u1} R (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2)))))) R (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2)))))) (RingHomClass.toNonUnitalRingHomClass.{u1, u1, u1} (RingHom.{u1, u1} R (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2)))))) R (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))) (RingHom.instRingHomClassRingHom.{u1, u1} R (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))))))) (LocalRing.residue.{u1} R _inst_1 _inst_2) r)) (FunLike.coe.{succ u2, succ u2, succ u2} (RingHom.{u2, u2} S (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_3))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.field.{u2} S _inst_3 _inst_4)))))) S (fun (_x : S) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : S) => LocalRing.ResidueField.{u2} S _inst_3 _inst_4) _x) (MulHomClass.toFunLike.{u2, u2, u2} (RingHom.{u2, u2} S (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_3))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.field.{u2} S _inst_3 _inst_4)))))) S (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (NonUnitalNonAssocSemiring.toMul.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_3))))) (NonUnitalNonAssocSemiring.toMul.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.field.{u2} S _inst_3 _inst_4))))))) (NonUnitalRingHomClass.toMulHomClass.{u2, u2, u2} (RingHom.{u2, u2} S (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_3))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.field.{u2} S _inst_3 _inst_4)))))) S (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_3)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.field.{u2} S _inst_3 _inst_4)))))) (RingHomClass.toNonUnitalRingHomClass.{u2, u2, u2} (RingHom.{u2, u2} S (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_3))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.field.{u2} S _inst_3 _inst_4)))))) S (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_3))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.field.{u2} S _inst_3 _inst_4))))) (RingHom.instRingHomClassRingHom.{u2, u2} S (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_3))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.field.{u2} S _inst_3 _inst_4))))))))) (LocalRing.residue.{u2} S _inst_3 _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_3)))) 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_3)))) 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_3))))) (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_3)))) 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_3)))) (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_3)))) 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_3))) (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_3))))))) f r))
+<too large>
 Case conversion may be inaccurate. Consider using '#align local_ring.residue_field.map_residue LocalRing.ResidueField.map_residueₓ'. -/
 theorem map_residue (f : R →+* S) [IsLocalRingHom f] (r : R) :
     ResidueField.map f (residue R r) = residue S (f r) :=
@@ -629,20 +617,14 @@ theorem map_residue (f : R →+* S) [IsLocalRingHom f] (r : R) :
 #align local_ring.residue_field.map_residue LocalRing.ResidueField.map_residue
 
 /- warning: local_ring.residue_field.map_id_apply -> LocalRing.ResidueField.map_id_apply is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] [_inst_2 : LocalRing.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))] (x : LocalRing.ResidueField.{u1} R _inst_1 _inst_2), Eq.{succ u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (coeFn.{succ u1, succ u1} (RingHom.{u1, u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonAssocRing.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.ring.{u1} R _inst_1 _inst_2))) (NonAssocRing.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.ring.{u1} R _inst_1 _inst_2)))) (fun (_x : RingHom.{u1, u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonAssocRing.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.ring.{u1} R _inst_1 _inst_2))) (NonAssocRing.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.ring.{u1} R _inst_1 _inst_2)))) => (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) -> (LocalRing.ResidueField.{u1} R _inst_1 _inst_2)) (RingHom.hasCoeToFun.{u1, u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonAssocRing.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.ring.{u1} R _inst_1 _inst_2))) (NonAssocRing.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.ring.{u1} R _inst_1 _inst_2)))) (LocalRing.ResidueField.map.{u1, u1} R R _inst_1 _inst_2 _inst_1 _inst_2 (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (isLocalRingHom_id.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) x) x
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] [_inst_2 : LocalRing.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))] (x : LocalRing.ResidueField.{u1} R _inst_1 _inst_2), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LocalRing.ResidueField.{u1} R _inst_1 _inst_2) => LocalRing.ResidueField.{u1} R _inst_1 _inst_2) x) (FunLike.coe.{succ u1, succ u1, succ u1} (RingHom.{u1, u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2)))))) (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (fun (_x : LocalRing.ResidueField.{u1} R _inst_1 _inst_2) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LocalRing.ResidueField.{u1} R _inst_1 _inst_2) => LocalRing.ResidueField.{u1} R _inst_1 _inst_2) _x) (MulHomClass.toFunLike.{u1, u1, u1} (RingHom.{u1, u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2)))))) (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonUnitalNonAssocSemiring.toMul.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))))) (NonUnitalNonAssocSemiring.toMul.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))))) (NonUnitalRingHomClass.toMulHomClass.{u1, u1, u1} (RingHom.{u1, u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2)))))) (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2)))))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2)))))) (RingHomClass.toNonUnitalRingHomClass.{u1, u1, u1} (RingHom.{u1, u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2)))))) (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))) (RingHom.instRingHomClassRingHom.{u1, u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))))))) (LocalRing.ResidueField.map.{u1, u1} R R _inst_1 _inst_2 _inst_1 _inst_2 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (isLocalRingHom_id.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) x) x
+<too large>
 Case conversion may be inaccurate. Consider using '#align local_ring.residue_field.map_id_apply LocalRing.ResidueField.map_id_applyₓ'. -/
 theorem map_id_apply (x : ResidueField R) : map (RingHom.id R) x = x :=
   FunLike.congr_fun map_id x
 #align local_ring.residue_field.map_id_apply LocalRing.ResidueField.map_id_apply
 
 /- warning: local_ring.residue_field.map_map -> LocalRing.ResidueField.map_map is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} {T : Type.{u3}} [_inst_1 : CommRing.{u1} R] [_inst_2 : LocalRing.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))] [_inst_3 : CommRing.{u2} S] [_inst_4 : LocalRing.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_3))] [_inst_5 : CommRing.{u3} T] [_inst_6 : LocalRing.{u3} T (Ring.toSemiring.{u3} T (CommRing.toRing.{u3} T _inst_5))] (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_3)))) (g : RingHom.{u2, u3} S T (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_3))) (NonAssocRing.toNonAssocSemiring.{u3} T (Ring.toNonAssocRing.{u3} T (CommRing.toRing.{u3} T _inst_5)))) (x : LocalRing.ResidueField.{u1} R _inst_1 _inst_2) [_inst_7 : IsLocalRingHom.{u1, u2} R S (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_3)) f] [_inst_8 : IsLocalRingHom.{u2, u3} S T (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_3)) (Ring.toSemiring.{u3} T (CommRing.toRing.{u3} T _inst_5)) g], Eq.{succ u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (RingHom.{u2, u3} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (NonAssocRing.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Ring.toNonAssocRing.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.ring.{u2} S _inst_3 _inst_4))) (NonAssocRing.toNonAssocSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Ring.toNonAssocRing.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (LocalRing.ResidueField.ring.{u3} T _inst_5 _inst_6)))) (fun (_x : RingHom.{u2, u3} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (NonAssocRing.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Ring.toNonAssocRing.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.ring.{u2} S _inst_3 _inst_4))) (NonAssocRing.toNonAssocSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Ring.toNonAssocRing.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (LocalRing.ResidueField.ring.{u3} T _inst_5 _inst_6)))) => (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) -> (LocalRing.ResidueField.{u3} T _inst_5 _inst_6)) (RingHom.hasCoeToFun.{u2, u3} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (NonAssocRing.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Ring.toNonAssocRing.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.ring.{u2} S _inst_3 _inst_4))) (NonAssocRing.toNonAssocSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Ring.toNonAssocRing.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (LocalRing.ResidueField.ring.{u3} T _inst_5 _inst_6)))) (LocalRing.ResidueField.map.{u2, u3} S T _inst_3 _inst_4 _inst_5 _inst_6 g _inst_8) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (NonAssocRing.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.ring.{u1} R _inst_1 _inst_2))) (NonAssocRing.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Ring.toNonAssocRing.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.ring.{u2} S _inst_3 _inst_4)))) (fun (_x : RingHom.{u1, u2} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (NonAssocRing.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.ring.{u1} R _inst_1 _inst_2))) (NonAssocRing.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Ring.toNonAssocRing.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.ring.{u2} S _inst_3 _inst_4)))) => (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) -> (LocalRing.ResidueField.{u2} S _inst_3 _inst_4)) (RingHom.hasCoeToFun.{u1, u2} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (NonAssocRing.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.ring.{u1} R _inst_1 _inst_2))) (NonAssocRing.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Ring.toNonAssocRing.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.ring.{u2} S _inst_3 _inst_4)))) (LocalRing.ResidueField.map.{u1, u2} R S _inst_1 _inst_2 _inst_3 _inst_4 f _inst_7) x)) (coeFn.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (RingHom.{u1, u3} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (NonAssocRing.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.ring.{u1} R _inst_1 _inst_2))) (NonAssocRing.toNonAssocSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Ring.toNonAssocRing.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (LocalRing.ResidueField.ring.{u3} T _inst_5 _inst_6)))) (fun (_x : RingHom.{u1, u3} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (NonAssocRing.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.ring.{u1} R _inst_1 _inst_2))) (NonAssocRing.toNonAssocSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Ring.toNonAssocRing.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (LocalRing.ResidueField.ring.{u3} T _inst_5 _inst_6)))) => (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) -> (LocalRing.ResidueField.{u3} T _inst_5 _inst_6)) (RingHom.hasCoeToFun.{u1, u3} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (NonAssocRing.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.ring.{u1} R _inst_1 _inst_2))) (NonAssocRing.toNonAssocSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Ring.toNonAssocRing.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (LocalRing.ResidueField.ring.{u3} T _inst_5 _inst_6)))) (LocalRing.ResidueField.map.{u1, u3} R T _inst_1 _inst_2 _inst_5 _inst_6 (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_3))) (NonAssocRing.toNonAssocSemiring.{u3} T (Ring.toNonAssocRing.{u3} T (CommRing.toRing.{u3} T _inst_5))) g f) (isLocalRingHom_comp.{u1, u2, u3} R S T (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_3)) (Ring.toSemiring.{u3} T (CommRing.toRing.{u3} T _inst_5)) g f _inst_8 _inst_7)) x)
-but is expected to have type
-  forall {R : Type.{u1}} {S : Type.{u2}} {T : Type.{u3}} [_inst_1 : CommRing.{u1} R] [_inst_2 : LocalRing.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))] [_inst_3 : CommRing.{u2} S] [_inst_4 : LocalRing.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_3))] [_inst_5 : CommRing.{u3} T] [_inst_6 : LocalRing.{u3} T (CommSemiring.toSemiring.{u3} T (CommRing.toCommSemiring.{u3} T _inst_5))] (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_3)))) (g : RingHom.{u2, u3} S T (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_3))) (Semiring.toNonAssocSemiring.{u3} T (CommSemiring.toSemiring.{u3} T (CommRing.toCommSemiring.{u3} T _inst_5)))) (x : LocalRing.ResidueField.{u1} R _inst_1 _inst_2) [_inst_7 : IsLocalRingHom.{u1, u2} R S (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_3)) f] [_inst_8 : IsLocalRingHom.{u2, u3} S T (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_3)) (CommSemiring.toSemiring.{u3} T (CommRing.toCommSemiring.{u3} T _inst_5)) g], Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LocalRing.ResidueField.{u2} S _inst_3 _inst_4) => LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (RingHom.{u1, u2} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.field.{u2} S _inst_3 _inst_4)))))) (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (fun (a : LocalRing.ResidueField.{u1} R _inst_1 _inst_2) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LocalRing.ResidueField.{u1} R _inst_1 _inst_2) => LocalRing.ResidueField.{u2} S _inst_3 _inst_4) a) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (RingHom.{u1, u2} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.field.{u2} S _inst_3 _inst_4)))))) (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (NonUnitalNonAssocSemiring.toMul.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))))) (NonUnitalNonAssocSemiring.toMul.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.field.{u2} S _inst_3 _inst_4))))))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.field.{u2} S _inst_3 _inst_4)))))) (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2)))))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.field.{u2} S _inst_3 _inst_4)))))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.field.{u2} S _inst_3 _inst_4)))))) (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.field.{u2} S _inst_3 _inst_4))))) (RingHom.instRingHomClassRingHom.{u1, u2} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.field.{u2} S _inst_3 _inst_4))))))))) (LocalRing.ResidueField.map.{u1, u2} R S _inst_1 _inst_2 _inst_3 _inst_4 f _inst_7) x)) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (RingHom.{u2, u3} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.field.{u2} S _inst_3 _inst_4))))) (Semiring.toNonAssocSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (DivisionSemiring.toSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Semifield.toDivisionSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Field.toSemifield.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (LocalRing.ResidueField.field.{u3} T _inst_5 _inst_6)))))) (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (fun (_x : LocalRing.ResidueField.{u2} S _inst_3 _inst_4) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LocalRing.ResidueField.{u2} S _inst_3 _inst_4) => LocalRing.ResidueField.{u3} T _inst_5 _inst_6) _x) (MulHomClass.toFunLike.{max u2 u3, u2, u3} (RingHom.{u2, u3} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.field.{u2} S _inst_3 _inst_4))))) (Semiring.toNonAssocSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (DivisionSemiring.toSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Semifield.toDivisionSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Field.toSemifield.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (LocalRing.ResidueField.field.{u3} T _inst_5 _inst_6)))))) (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (NonUnitalNonAssocSemiring.toMul.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.field.{u2} S _inst_3 _inst_4))))))) (NonUnitalNonAssocSemiring.toMul.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Semiring.toNonAssocSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (DivisionSemiring.toSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Semifield.toDivisionSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Field.toSemifield.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (LocalRing.ResidueField.field.{u3} T _inst_5 _inst_6))))))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.field.{u2} S _inst_3 _inst_4))))) (Semiring.toNonAssocSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (DivisionSemiring.toSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Semifield.toDivisionSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Field.toSemifield.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (LocalRing.ResidueField.field.{u3} T _inst_5 _inst_6)))))) (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.field.{u2} S _inst_3 _inst_4)))))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Semiring.toNonAssocSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (DivisionSemiring.toSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Semifield.toDivisionSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Field.toSemifield.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (LocalRing.ResidueField.field.{u3} T _inst_5 _inst_6)))))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.field.{u2} S _inst_3 _inst_4))))) (Semiring.toNonAssocSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (DivisionSemiring.toSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Semifield.toDivisionSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Field.toSemifield.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (LocalRing.ResidueField.field.{u3} T _inst_5 _inst_6)))))) (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.field.{u2} S _inst_3 _inst_4))))) (Semiring.toNonAssocSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (DivisionSemiring.toSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Semifield.toDivisionSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Field.toSemifield.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (LocalRing.ResidueField.field.{u3} T _inst_5 _inst_6))))) (RingHom.instRingHomClassRingHom.{u2, u3} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.field.{u2} S _inst_3 _inst_4))))) (Semiring.toNonAssocSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (DivisionSemiring.toSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Semifield.toDivisionSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Field.toSemifield.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (LocalRing.ResidueField.field.{u3} T _inst_5 _inst_6))))))))) (LocalRing.ResidueField.map.{u2, u3} S T _inst_3 _inst_4 _inst_5 _inst_6 g _inst_8) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (RingHom.{u1, u2} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.field.{u2} S _inst_3 _inst_4)))))) (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (fun (_x : LocalRing.ResidueField.{u1} R _inst_1 _inst_2) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LocalRing.ResidueField.{u1} R _inst_1 _inst_2) => LocalRing.ResidueField.{u2} S _inst_3 _inst_4) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (RingHom.{u1, u2} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.field.{u2} S _inst_3 _inst_4)))))) (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (NonUnitalNonAssocSemiring.toMul.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))))) (NonUnitalNonAssocSemiring.toMul.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.field.{u2} S _inst_3 _inst_4))))))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.field.{u2} S _inst_3 _inst_4)))))) (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2)))))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.field.{u2} S _inst_3 _inst_4)))))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.field.{u2} S _inst_3 _inst_4)))))) (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.field.{u2} S _inst_3 _inst_4))))) (RingHom.instRingHomClassRingHom.{u1, u2} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.field.{u2} S _inst_3 _inst_4))))))))) (LocalRing.ResidueField.map.{u1, u2} R S _inst_1 _inst_2 _inst_3 _inst_4 f _inst_7) x)) (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (RingHom.{u1, u3} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))) (Semiring.toNonAssocSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (DivisionSemiring.toSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Semifield.toDivisionSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Field.toSemifield.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (LocalRing.ResidueField.field.{u3} T _inst_5 _inst_6)))))) (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (fun (_x : LocalRing.ResidueField.{u1} R _inst_1 _inst_2) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LocalRing.ResidueField.{u1} R _inst_1 _inst_2) => LocalRing.ResidueField.{u3} T _inst_5 _inst_6) _x) (MulHomClass.toFunLike.{max u1 u3, u1, u3} (RingHom.{u1, u3} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))) (Semiring.toNonAssocSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (DivisionSemiring.toSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Semifield.toDivisionSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Field.toSemifield.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (LocalRing.ResidueField.field.{u3} T _inst_5 _inst_6)))))) (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (NonUnitalNonAssocSemiring.toMul.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))))) (NonUnitalNonAssocSemiring.toMul.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Semiring.toNonAssocSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (DivisionSemiring.toSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Semifield.toDivisionSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Field.toSemifield.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (LocalRing.ResidueField.field.{u3} T _inst_5 _inst_6))))))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u3, u1, u3} (RingHom.{u1, u3} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))) (Semiring.toNonAssocSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (DivisionSemiring.toSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Semifield.toDivisionSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Field.toSemifield.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (LocalRing.ResidueField.field.{u3} T _inst_5 _inst_6)))))) (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2)))))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Semiring.toNonAssocSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (DivisionSemiring.toSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Semifield.toDivisionSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Field.toSemifield.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (LocalRing.ResidueField.field.{u3} T _inst_5 _inst_6)))))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u3, u1, u3} (RingHom.{u1, u3} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))) (Semiring.toNonAssocSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (DivisionSemiring.toSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Semifield.toDivisionSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Field.toSemifield.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (LocalRing.ResidueField.field.{u3} T _inst_5 _inst_6)))))) (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))) (Semiring.toNonAssocSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (DivisionSemiring.toSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Semifield.toDivisionSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Field.toSemifield.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (LocalRing.ResidueField.field.{u3} T _inst_5 _inst_6))))) (RingHom.instRingHomClassRingHom.{u1, u3} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))) (Semiring.toNonAssocSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (DivisionSemiring.toSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Semifield.toDivisionSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Field.toSemifield.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (LocalRing.ResidueField.field.{u3} T _inst_5 _inst_6))))))))) (LocalRing.ResidueField.map.{u1, u3} R T _inst_1 _inst_2 _inst_5 _inst_6 (RingHom.comp.{u1, u2, u3} R S T (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_3))) (Semiring.toNonAssocSemiring.{u3} T (CommSemiring.toSemiring.{u3} T (CommRing.toCommSemiring.{u3} T _inst_5))) g f) (isLocalRingHom_comp.{u1, u2, u3} R S T (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_3)) (CommSemiring.toSemiring.{u3} T (CommRing.toCommSemiring.{u3} T _inst_5)) g f _inst_8 _inst_7)) x)
+<too large>
 Case conversion may be inaccurate. Consider using '#align local_ring.residue_field.map_map LocalRing.ResidueField.map_mapₓ'. -/
 @[simp]
 theorem map_map (f : R →+* S) (g : S →+* T) (x : ResidueField R) [IsLocalRingHom f]
@@ -680,10 +662,7 @@ theorem mapEquiv.symm (f : R ≃+* S) : (mapEquiv f).symm = mapEquiv f.symm :=
 #align local_ring.residue_field.map_equiv.symm LocalRing.ResidueField.mapEquiv.symm
 
 /- warning: local_ring.residue_field.map_equiv_trans -> LocalRing.ResidueField.mapEquiv_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_2 : LocalRing.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))] [_inst_3 : CommRing.{u2} S] [_inst_4 : LocalRing.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_3))] [_inst_5 : CommRing.{u3} T] [_inst_6 : LocalRing.{u3} T (Ring.toSemiring.{u3} T (CommRing.toRing.{u3} T _inst_5))] (e₁ : RingEquiv.{u1, u2} R S (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Distrib.toHasMul.{u2} S (Ring.toDistrib.{u2} S (CommRing.toRing.{u2} S _inst_3))) (Distrib.toHasAdd.{u2} S (Ring.toDistrib.{u2} S (CommRing.toRing.{u2} S _inst_3)))) (e₂ : RingEquiv.{u2, u3} S T (Distrib.toHasMul.{u2} S (Ring.toDistrib.{u2} S (CommRing.toRing.{u2} S _inst_3))) (Distrib.toHasAdd.{u2} S (Ring.toDistrib.{u2} S (CommRing.toRing.{u2} S _inst_3))) (Distrib.toHasMul.{u3} T (Ring.toDistrib.{u3} T (CommRing.toRing.{u3} T _inst_5))) (Distrib.toHasAdd.{u3} T (Ring.toDistrib.{u3} T (CommRing.toRing.{u3} T _inst_5)))), Eq.{max (succ u1) (succ u3)} (RingEquiv.{u1, u3} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Distrib.toHasMul.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toDistrib.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.ring.{u1} R _inst_1 _inst_2))) (Distrib.toHasAdd.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toDistrib.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.ring.{u1} R _inst_1 _inst_2))) (Distrib.toHasMul.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Ring.toDistrib.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (LocalRing.ResidueField.ring.{u3} T _inst_5 _inst_6))) (Distrib.toHasAdd.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Ring.toDistrib.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (LocalRing.ResidueField.ring.{u3} T _inst_5 _inst_6)))) (LocalRing.ResidueField.mapEquiv.{u1, u3} R T _inst_1 _inst_2 _inst_5 _inst_6 (RingEquiv.trans.{u1, u2, u3} R S T (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Distrib.toHasMul.{u2} S (Ring.toDistrib.{u2} S (CommRing.toRing.{u2} S _inst_3))) (Distrib.toHasAdd.{u2} S (Ring.toDistrib.{u2} S (CommRing.toRing.{u2} S _inst_3))) (Distrib.toHasMul.{u3} T (Ring.toDistrib.{u3} T (CommRing.toRing.{u3} T _inst_5))) (Distrib.toHasAdd.{u3} T (Ring.toDistrib.{u3} T (CommRing.toRing.{u3} T _inst_5))) e₁ e₂)) (RingEquiv.trans.{u1, u2, u3} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Distrib.toHasMul.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toDistrib.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.ring.{u1} R _inst_1 _inst_2))) (Distrib.toHasAdd.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toDistrib.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.ring.{u1} R _inst_1 _inst_2))) (Distrib.toHasMul.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Ring.toDistrib.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.ring.{u2} S _inst_3 _inst_4))) (Distrib.toHasAdd.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Ring.toDistrib.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.ring.{u2} S _inst_3 _inst_4))) (Distrib.toHasMul.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Ring.toDistrib.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (LocalRing.ResidueField.ring.{u3} T _inst_5 _inst_6))) (Distrib.toHasAdd.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Ring.toDistrib.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (LocalRing.ResidueField.ring.{u3} T _inst_5 _inst_6))) (LocalRing.ResidueField.mapEquiv.{u1, u2} R S _inst_1 _inst_2 _inst_3 _inst_4 e₁) (LocalRing.ResidueField.mapEquiv.{u2, u3} S T _inst_3 _inst_4 _inst_5 _inst_6 e₂))
-but is expected to have type
-  forall {R : Type.{u1}} {S : Type.{u2}} {T : Type.{u3}} [_inst_1 : CommRing.{u1} R] [_inst_2 : LocalRing.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))] [_inst_3 : CommRing.{u2} S] [_inst_4 : LocalRing.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_3))] [_inst_5 : CommRing.{u3} T] [_inst_6 : LocalRing.{u3} T (CommSemiring.toSemiring.{u3} T (CommRing.toCommSemiring.{u3} T _inst_5))] (e₁ : RingEquiv.{u1, u2} R S (NonUnitalNonAssocRing.toMul.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (NonUnitalNonAssocRing.toMul.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_3)))) (Distrib.toAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (Distrib.toAdd.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_3))))))) (e₂ : RingEquiv.{u2, u3} S T (NonUnitalNonAssocRing.toMul.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_3)))) (NonUnitalNonAssocRing.toMul.{u3} T (NonAssocRing.toNonUnitalNonAssocRing.{u3} T (Ring.toNonAssocRing.{u3} T (CommRing.toRing.{u3} T _inst_5)))) (Distrib.toAdd.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_3)))))) (Distrib.toAdd.{u3} T (NonUnitalNonAssocSemiring.toDistrib.{u3} T (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} T (NonAssocRing.toNonUnitalNonAssocRing.{u3} T (Ring.toNonAssocRing.{u3} T (CommRing.toRing.{u3} T _inst_5))))))), Eq.{max (succ u1) (succ u3)} (RingEquiv.{u1, u3} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (NonUnitalNonAssocRing.toMul.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonAssocRing.toNonUnitalNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionRing.toRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toDivisionRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2)))))) (NonUnitalNonAssocRing.toMul.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (NonAssocRing.toNonUnitalNonAssocRing.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Ring.toNonAssocRing.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (DivisionRing.toRing.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Field.toDivisionRing.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (LocalRing.ResidueField.field.{u3} T _inst_5 _inst_6)))))) (Distrib.toAdd.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonUnitalNonAssocSemiring.toDistrib.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonAssocRing.toNonUnitalNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionRing.toRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toDivisionRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2)))))))) (Distrib.toAdd.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (NonUnitalNonAssocSemiring.toDistrib.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (NonAssocRing.toNonUnitalNonAssocRing.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Ring.toNonAssocRing.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (DivisionRing.toRing.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Field.toDivisionRing.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (LocalRing.ResidueField.field.{u3} T _inst_5 _inst_6))))))))) (LocalRing.ResidueField.mapEquiv.{u1, u3} R T _inst_1 _inst_2 _inst_5 _inst_6 (RingEquiv.trans.{u1, u2, u3} R S T (NonUnitalNonAssocRing.toMul.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (NonUnitalNonAssocRing.toMul.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_3)))) (Distrib.toAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (Distrib.toAdd.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_3)))))) (NonUnitalNonAssocRing.toMul.{u3} T (NonAssocRing.toNonUnitalNonAssocRing.{u3} T (Ring.toNonAssocRing.{u3} T (CommRing.toRing.{u3} T _inst_5)))) (Distrib.toAdd.{u3} T (NonUnitalNonAssocSemiring.toDistrib.{u3} T (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} T (NonAssocRing.toNonUnitalNonAssocRing.{u3} T (Ring.toNonAssocRing.{u3} T (CommRing.toRing.{u3} T _inst_5)))))) e₁ e₂)) (RingEquiv.trans.{u1, u2, u3} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (NonUnitalNonAssocRing.toMul.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonAssocRing.toNonUnitalNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionRing.toRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toDivisionRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2)))))) (NonUnitalNonAssocRing.toMul.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (NonAssocRing.toNonUnitalNonAssocRing.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Ring.toNonAssocRing.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (DivisionRing.toRing.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Field.toDivisionRing.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.field.{u2} S _inst_3 _inst_4)))))) (Distrib.toAdd.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonUnitalNonAssocSemiring.toDistrib.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonAssocRing.toNonUnitalNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionRing.toRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toDivisionRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2)))))))) (Distrib.toAdd.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (NonUnitalNonAssocSemiring.toDistrib.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (NonAssocRing.toNonUnitalNonAssocRing.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Ring.toNonAssocRing.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (DivisionRing.toRing.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Field.toDivisionRing.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.field.{u2} S _inst_3 _inst_4)))))))) (NonUnitalNonAssocRing.toMul.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (NonAssocRing.toNonUnitalNonAssocRing.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Ring.toNonAssocRing.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (DivisionRing.toRing.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Field.toDivisionRing.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (LocalRing.ResidueField.field.{u3} T _inst_5 _inst_6)))))) (Distrib.toAdd.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (NonUnitalNonAssocSemiring.toDistrib.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (NonAssocRing.toNonUnitalNonAssocRing.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Ring.toNonAssocRing.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (DivisionRing.toRing.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Field.toDivisionRing.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (LocalRing.ResidueField.field.{u3} T _inst_5 _inst_6)))))))) (LocalRing.ResidueField.mapEquiv.{u1, u2} R S _inst_1 _inst_2 _inst_3 _inst_4 e₁) (LocalRing.ResidueField.mapEquiv.{u2, u3} S T _inst_3 _inst_4 _inst_5 _inst_6 e₂))
+<too large>
 Case conversion may be inaccurate. Consider using '#align local_ring.residue_field.map_equiv_trans LocalRing.ResidueField.mapEquiv_transₓ'. -/
 @[simp]
 theorem mapEquiv_trans (e₁ : R ≃+* S) (e₂ : S ≃+* T) :
@@ -703,10 +682,7 @@ theorem mapEquiv_refl : mapEquiv (RingEquiv.refl R) = RingEquiv.refl _ :=
 #align local_ring.residue_field.map_equiv_refl LocalRing.ResidueField.mapEquiv_refl
 
 /- warning: local_ring.residue_field.map_aut -> LocalRing.ResidueField.mapAut is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] [_inst_2 : LocalRing.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))], MonoidHom.{u1, u1} (RingAut.{u1} R (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingAut.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Distrib.toHasMul.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toDistrib.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.ring.{u1} R _inst_1 _inst_2))) (Distrib.toHasAdd.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toDistrib.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.ring.{u1} R _inst_1 _inst_2)))) (Monoid.toMulOneClass.{u1} (RingAut.{u1} R (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (DivInvMonoid.toMonoid.{u1} (RingAut.{u1} R (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Group.toDivInvMonoid.{u1} (RingAut.{u1} R (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingAut.group.{u1} R (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) (Monoid.toMulOneClass.{u1} (RingAut.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Distrib.toHasMul.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toDistrib.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.ring.{u1} R _inst_1 _inst_2))) (Distrib.toHasAdd.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toDistrib.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.ring.{u1} R _inst_1 _inst_2)))) (DivInvMonoid.toMonoid.{u1} (RingAut.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Distrib.toHasMul.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toDistrib.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.ring.{u1} R _inst_1 _inst_2))) (Distrib.toHasAdd.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toDistrib.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.ring.{u1} R _inst_1 _inst_2)))) (Group.toDivInvMonoid.{u1} (RingAut.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Distrib.toHasMul.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toDistrib.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.ring.{u1} R _inst_1 _inst_2))) (Distrib.toHasAdd.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toDistrib.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.ring.{u1} R _inst_1 _inst_2)))) (RingAut.group.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Distrib.toHasMul.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toDistrib.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.ring.{u1} R _inst_1 _inst_2))) (Distrib.toHasAdd.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toDistrib.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.ring.{u1} R _inst_1 _inst_2)))))))
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] [_inst_2 : LocalRing.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))], MonoidHom.{u1, u1} (RingAut.{u1} R (NonUnitalNonAssocRing.toMul.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Distrib.toAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) (RingAut.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonUnitalNonAssocRing.toMul.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonAssocRing.toNonUnitalNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionRing.toRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toDivisionRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2)))))) (Distrib.toAdd.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonUnitalNonAssocSemiring.toDistrib.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonAssocRing.toNonUnitalNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionRing.toRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toDivisionRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))))))) (Monoid.toMulOneClass.{u1} (RingAut.{u1} R (NonUnitalNonAssocRing.toMul.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Distrib.toAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) (DivInvMonoid.toMonoid.{u1} (RingAut.{u1} R (NonUnitalNonAssocRing.toMul.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Distrib.toAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) (Group.toDivInvMonoid.{u1} (RingAut.{u1} R (NonUnitalNonAssocRing.toMul.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Distrib.toAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) (RingAut.instGroupRingAut.{u1} R (NonUnitalNonAssocRing.toMul.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Distrib.toAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))))))) (Monoid.toMulOneClass.{u1} (RingAut.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonUnitalNonAssocRing.toMul.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonAssocRing.toNonUnitalNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionRing.toRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toDivisionRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2)))))) (Distrib.toAdd.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonUnitalNonAssocSemiring.toDistrib.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonAssocRing.toNonUnitalNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionRing.toRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toDivisionRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))))))) (DivInvMonoid.toMonoid.{u1} (RingAut.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonUnitalNonAssocRing.toMul.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonAssocRing.toNonUnitalNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionRing.toRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toDivisionRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2)))))) (Distrib.toAdd.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonUnitalNonAssocSemiring.toDistrib.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonAssocRing.toNonUnitalNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionRing.toRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toDivisionRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))))))) (Group.toDivInvMonoid.{u1} (RingAut.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonUnitalNonAssocRing.toMul.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonAssocRing.toNonUnitalNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionRing.toRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toDivisionRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2)))))) (Distrib.toAdd.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonUnitalNonAssocSemiring.toDistrib.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonAssocRing.toNonUnitalNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionRing.toRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toDivisionRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))))))) (RingAut.instGroupRingAut.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonUnitalNonAssocRing.toMul.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonAssocRing.toNonUnitalNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionRing.toRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toDivisionRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2)))))) (Distrib.toAdd.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonUnitalNonAssocSemiring.toDistrib.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonAssocRing.toNonUnitalNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionRing.toRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toDivisionRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))))))))))
+<too large>
 Case conversion may be inaccurate. Consider using '#align local_ring.residue_field.map_aut LocalRing.ResidueField.mapAutₓ'. -/
 /-- The group homomorphism from `ring_aut R` to `ring_aut k` where `k`
 is the residue field of `R`. -/
@@ -727,10 +703,7 @@ instance : MulSemiringAction G (LocalRing.ResidueField R) :=
   MulSemiringAction.compHom _ <| mapAut.comp (MulSemiringAction.toRingAut G R)
 
 /- warning: local_ring.residue_field.residue_smul -> LocalRing.ResidueField.residue_smul is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] [_inst_2 : LocalRing.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))] (G : Type.{u2}) [_inst_7 : Group.{u2} G] [_inst_8 : MulSemiringAction.{u2, u1} G R (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_7)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))] (g : G) (r : R), Eq.{succ u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (coeFn.{succ u1, succ u1} (RingHom.{u1, u1} R (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.ring.{u1} R _inst_1 _inst_2)))) (fun (_x : RingHom.{u1, u1} R (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.ring.{u1} R _inst_1 _inst_2)))) => R -> (LocalRing.ResidueField.{u1} R _inst_1 _inst_2)) (RingHom.hasCoeToFun.{u1, u1} R (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.ring.{u1} R _inst_1 _inst_2)))) (LocalRing.residue.{u1} R _inst_1 _inst_2) (SMul.smul.{u2, u1} G R (SMulZeroClass.toHasSmul.{u2, u1} G R (AddZeroClass.toHasZero.{u1} R (AddMonoid.toAddZeroClass.{u1} R (AddMonoidWithOne.toAddMonoid.{u1} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} R (NonAssocSemiring.toAddCommMonoidWithOne.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))))) (DistribSMul.toSmulZeroClass.{u2, u1} G R (AddMonoid.toAddZeroClass.{u1} R (AddMonoidWithOne.toAddMonoid.{u1} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} R (NonAssocSemiring.toAddCommMonoidWithOne.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) (DistribMulAction.toDistribSMul.{u2, u1} G R (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_7)) (AddMonoidWithOne.toAddMonoid.{u1} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} R (NonAssocSemiring.toAddCommMonoidWithOne.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (MulSemiringAction.toDistribMulAction.{u2, u1} G R (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_7)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_8)))) g r)) (SMul.smul.{u2, u1} G (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (SMulZeroClass.toHasSmul.{u2, u1} G (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (AddZeroClass.toHasZero.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (AddMonoid.toAddZeroClass.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (AddMonoidWithOne.toAddMonoid.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonAssocSemiring.toAddCommMonoidWithOne.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.ring.{u1} R _inst_1 _inst_2)))))))) (DistribSMul.toSmulZeroClass.{u2, u1} G (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (AddMonoid.toAddZeroClass.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (AddMonoidWithOne.toAddMonoid.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonAssocSemiring.toAddCommMonoidWithOne.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.ring.{u1} R _inst_1 _inst_2))))))) (DistribMulAction.toDistribSMul.{u2, u1} G (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_7)) (AddMonoidWithOne.toAddMonoid.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonAssocSemiring.toAddCommMonoidWithOne.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.ring.{u1} R _inst_1 _inst_2)))))) (MulSemiringAction.toDistribMulAction.{u2, u1} G (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_7)) (Ring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.ring.{u1} R _inst_1 _inst_2)) (LocalRing.ResidueField.mulSemiringAction.{u1, u2} R _inst_1 _inst_2 G _inst_7 _inst_8))))) g (coeFn.{succ u1, succ u1} (RingHom.{u1, u1} R (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.ring.{u1} R _inst_1 _inst_2)))) (fun (_x : RingHom.{u1, u1} R (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.ring.{u1} R _inst_1 _inst_2)))) => R -> (LocalRing.ResidueField.{u1} R _inst_1 _inst_2)) (RingHom.hasCoeToFun.{u1, u1} R (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.ring.{u1} R _inst_1 _inst_2)))) (LocalRing.residue.{u1} R _inst_1 _inst_2) r))
-but is expected to have type
-  forall {R : Type.{u2}} [_inst_1 : CommRing.{u2} R] [_inst_2 : LocalRing.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))] (G : Type.{u1}) [_inst_7 : Group.{u1} G] [_inst_8 : MulSemiringAction.{u1, u2} G R (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_7)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))] (g : G) (r : R), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (HSMul.hSMul.{u1, u2, u2} G R R (instHSMul.{u1, u2} G R (SMulZeroClass.toSMul.{u1, u2} G R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (DistribSMul.toSMulZeroClass.{u1, u2} G R (AddMonoid.toAddZeroClass.{u2} R (AddMonoidWithOne.toAddMonoid.{u2} R (AddGroupWithOne.toAddMonoidWithOne.{u2} R (Ring.toAddGroupWithOne.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (DistribMulAction.toDistribSMul.{u1, u2} G R (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_7)) (AddMonoidWithOne.toAddMonoid.{u2} R (AddGroupWithOne.toAddMonoidWithOne.{u2} R (Ring.toAddGroupWithOne.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (MulSemiringAction.toDistribMulAction.{u1, u2} G R (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_7)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) _inst_8))))) g r)) (FunLike.coe.{succ u2, succ u2, succ u2} (RingHom.{u2, u2} R (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u2} R _inst_1 _inst_2)))))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => LocalRing.ResidueField.{u2} R _inst_1 _inst_2) _x) (MulHomClass.toFunLike.{u2, u2, u2} (RingHom.{u2, u2} R (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u2} R _inst_1 _inst_2)))))) R (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (NonUnitalNonAssocSemiring.toMul.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u2} R _inst_1 _inst_2))))))) (NonUnitalRingHomClass.toMulHomClass.{u2, u2, u2} (RingHom.{u2, u2} R (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u2} R _inst_1 _inst_2)))))) R (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u2} R _inst_1 _inst_2)))))) (RingHomClass.toNonUnitalRingHomClass.{u2, u2, u2} (RingHom.{u2, u2} R (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u2} R _inst_1 _inst_2)))))) R (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u2} R _inst_1 _inst_2))))) (RingHom.instRingHomClassRingHom.{u2, u2} R (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u2} R _inst_1 _inst_2))))))))) (LocalRing.residue.{u2} R _inst_1 _inst_2) (HSMul.hSMul.{u1, u2, u2} G R R (instHSMul.{u1, u2} G R (SMulZeroClass.toSMul.{u1, u2} G R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (DistribSMul.toSMulZeroClass.{u1, u2} G R (AddMonoid.toAddZeroClass.{u2} R (AddMonoidWithOne.toAddMonoid.{u2} R (AddGroupWithOne.toAddMonoidWithOne.{u2} R (Ring.toAddGroupWithOne.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (DistribMulAction.toDistribSMul.{u1, u2} G R (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_7)) (AddMonoidWithOne.toAddMonoid.{u2} R (AddGroupWithOne.toAddMonoidWithOne.{u2} R (Ring.toAddGroupWithOne.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (MulSemiringAction.toDistribMulAction.{u1, u2} G R (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_7)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) _inst_8))))) g r)) (HSMul.hSMul.{u1, u2, u2} G ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => LocalRing.ResidueField.{u2} R _inst_1 _inst_2) r) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => LocalRing.ResidueField.{u2} R _inst_1 _inst_2) r) (instHSMul.{u1, u2} G ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => LocalRing.ResidueField.{u2} R _inst_1 _inst_2) r) (SMulZeroClass.toSMul.{u1, u2} G ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => LocalRing.ResidueField.{u2} R _inst_1 _inst_2) r) (CommMonoidWithZero.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => LocalRing.ResidueField.{u2} R _inst_1 _inst_2) r) (CommGroupWithZero.toCommMonoidWithZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => LocalRing.ResidueField.{u2} R _inst_1 _inst_2) r) (Semifield.toCommGroupWithZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => LocalRing.ResidueField.{u2} R _inst_1 _inst_2) r) (Field.toSemifield.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => LocalRing.ResidueField.{u2} R _inst_1 _inst_2) r) (LocalRing.ResidueField.field.{u2} R _inst_1 _inst_2))))) (DistribSMul.toSMulZeroClass.{u1, u2} G ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => LocalRing.ResidueField.{u2} R _inst_1 _inst_2) r) (AddMonoid.toAddZeroClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => LocalRing.ResidueField.{u2} R _inst_1 _inst_2) r) (AddMonoidWithOne.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => LocalRing.ResidueField.{u2} R _inst_1 _inst_2) r) (AddGroupWithOne.toAddMonoidWithOne.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => LocalRing.ResidueField.{u2} R _inst_1 _inst_2) r) (Ring.toAddGroupWithOne.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => LocalRing.ResidueField.{u2} R _inst_1 _inst_2) r) (DivisionRing.toRing.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => LocalRing.ResidueField.{u2} R _inst_1 _inst_2) r) (Field.toDivisionRing.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => LocalRing.ResidueField.{u2} R _inst_1 _inst_2) r) (LocalRing.ResidueField.field.{u2} R _inst_1 _inst_2))))))) (DistribMulAction.toDistribSMul.{u1, u2} G ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => LocalRing.ResidueField.{u2} R _inst_1 _inst_2) r) (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_7)) (AddMonoidWithOne.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => LocalRing.ResidueField.{u2} R _inst_1 _inst_2) r) (AddGroupWithOne.toAddMonoidWithOne.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => LocalRing.ResidueField.{u2} R _inst_1 _inst_2) r) (Ring.toAddGroupWithOne.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => LocalRing.ResidueField.{u2} R _inst_1 _inst_2) r) (DivisionRing.toRing.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => LocalRing.ResidueField.{u2} R _inst_1 _inst_2) r) (Field.toDivisionRing.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => LocalRing.ResidueField.{u2} R _inst_1 _inst_2) r) (LocalRing.ResidueField.field.{u2} R _inst_1 _inst_2)))))) (MulSemiringAction.toDistribMulAction.{u1, u2} G ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => LocalRing.ResidueField.{u2} R _inst_1 _inst_2) r) (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_7)) (Ring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => LocalRing.ResidueField.{u2} R _inst_1 _inst_2) r) (DivisionRing.toRing.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => LocalRing.ResidueField.{u2} R _inst_1 _inst_2) r) (Field.toDivisionRing.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => LocalRing.ResidueField.{u2} R _inst_1 _inst_2) r) (LocalRing.ResidueField.field.{u2} R _inst_1 _inst_2)))) (LocalRing.ResidueField.instMulSemiringActionResidueFieldToMonoidToDivInvMonoidToSemiringToDivisionSemiringToSemifieldField.{u2, u1} R _inst_1 _inst_2 G _inst_7 _inst_8)))))) g (FunLike.coe.{succ u2, succ u2, succ u2} (RingHom.{u2, u2} R (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u2} R _inst_1 _inst_2)))))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => LocalRing.ResidueField.{u2} R _inst_1 _inst_2) _x) (MulHomClass.toFunLike.{u2, u2, u2} (RingHom.{u2, u2} R (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u2} R _inst_1 _inst_2)))))) R (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (NonUnitalNonAssocSemiring.toMul.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u2} R _inst_1 _inst_2))))))) (NonUnitalRingHomClass.toMulHomClass.{u2, u2, u2} (RingHom.{u2, u2} R (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u2} R _inst_1 _inst_2)))))) R (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u2} R _inst_1 _inst_2)))))) (RingHomClass.toNonUnitalRingHomClass.{u2, u2, u2} (RingHom.{u2, u2} R (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u2} R _inst_1 _inst_2)))))) R (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u2} R _inst_1 _inst_2))))) (RingHom.instRingHomClassRingHom.{u2, u2} R (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u2} R _inst_1 _inst_2))))))))) (LocalRing.residue.{u2} R _inst_1 _inst_2) r))
+<too large>
 Case conversion may be inaccurate. Consider using '#align local_ring.residue_field.residue_smul LocalRing.ResidueField.residue_smulₓ'. -/
 @[simp]
 theorem residue_smul (g : G) (r : R) : residue R (g • r) = g • residue R r :=
Diff
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Kenny Lau, Chris Hughes, Mario Carneiro
 
 ! This file was ported from Lean 3 source module ring_theory.ideal.local_ring
-! leanprover-community/mathlib commit ec1c7d810034d4202b0dd239112d1792be9f6fdc
+! leanprover-community/mathlib commit 33c67ae661dd8988516ff7f247b0be3018cdd952
 ! Please do not edit these lines, except to modify the commit id
 ! if you have ported upstream changes.
 -/
@@ -17,6 +17,9 @@ import Mathbin.Logic.Equiv.TransferInstance
 
 # Local rings
 
+> THIS FILE IS SYNCHRONIZED WITH MATHLIB4.
+> Any changes to this file require a corresponding PR to mathlib4.
+
 Define local rings as commutative rings having a unique maximal ideal.
 
 ## Main definitions
Diff
@@ -265,7 +265,7 @@ theorem isUnit_one_sub_self_of_mem_nonunits (a : R) (h : a ∈ nonunits R) : IsU
 lean 3 declaration is
   forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : LocalRing.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))] [_inst_3 : CommRing.{u2} S] [_inst_4 : Nontrivial.{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_3)))), (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_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 (CommRing.toRing.{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 (CommRing.toRing.{u2} S _inst_3)))) f)) -> (LocalRing.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_3)))
 but is expected to have type
-  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : LocalRing.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))] [_inst_3 : CommRing.{u2} S] [_inst_4 : Nontrivial.{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_3)))), (Function.Surjective.{succ u1, succ u2} R S (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_3)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_3)))) 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_3))))) (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_3)))) 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_3)))) (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_3)))) 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_3))) (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_3))))))) f)) -> (LocalRing.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_3)))
+  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : LocalRing.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))] [_inst_3 : CommRing.{u2} S] [_inst_4 : Nontrivial.{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_3)))), (Function.Surjective.{succ u1, succ u2} R S (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_3)))) 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_3)))) 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_3))))) (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_3)))) 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_3)))) (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_3)))) 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_3))) (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_3))))))) f)) -> (LocalRing.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_3)))
 Case conversion may be inaccurate. Consider using '#align local_ring.of_surjective' LocalRing.of_surjective'ₓ'. -/
 theorem of_surjective' [CommRing S] [Nontrivial S] (f : R →+* S) (hf : Function.Surjective f) :
     LocalRing S :=
@@ -319,7 +319,7 @@ instance isLocalRingHom_id (R : Type _) [Semiring R] : IsLocalRingHom (RingHom.i
 lean 3 declaration is
   forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] (f : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) [_inst_4 : IsLocalRingHom.{u1, u2} R S _inst_1 _inst_2 f] (a : R), Iff (IsUnit.{u2} S (MonoidWithZero.toMonoid.{u2} S (Semiring.toMonoidWithZero.{u2} S _inst_2)) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (fun (_x : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) => R -> S) (RingHom.hasCoeToFun.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) f a)) (IsUnit.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) a)
 but is expected to have type
-  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] (f : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) [_inst_4 : IsLocalRingHom.{u1, u2} R S _inst_1 _inst_2 f] (a : R), Iff (IsUnit.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) a) (MonoidWithZero.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) a) (Semiring.toMonoidWithZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) a) _inst_2)) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) R S (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2) (RingHom.instRingHomClassRingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2))))) f a)) (IsUnit.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) a)
+  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] (f : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) [_inst_4 : IsLocalRingHom.{u1, u2} R S _inst_1 _inst_2 f] (a : R), Iff (IsUnit.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) a) (MonoidWithZero.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) a) (Semiring.toMonoidWithZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) a) _inst_2)) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) R S (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2) (RingHom.instRingHomClassRingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2))))) f a)) (IsUnit.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) a)
 Case conversion may be inaccurate. Consider using '#align is_unit_map_iff isUnit_map_iffₓ'. -/
 @[simp]
 theorem isUnit_map_iff (f : R →+* S) [IsLocalRingHom f] (a) : IsUnit (f a) ↔ IsUnit a :=
@@ -330,7 +330,7 @@ theorem isUnit_map_iff (f : R →+* S) [IsLocalRingHom f] (a) : IsUnit (f a) ↔
 lean 3 declaration is
   forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] (f : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) [_inst_4 : IsLocalRingHom.{u1, u2} R S _inst_1 _inst_2 f] (a : R), Iff (Membership.Mem.{u2, u2} S (Set.{u2} S) (Set.hasMem.{u2} S) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (fun (_x : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) => R -> S) (RingHom.hasCoeToFun.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) f a) (nonunits.{u2} S (MonoidWithZero.toMonoid.{u2} S (Semiring.toMonoidWithZero.{u2} S _inst_2)))) (Membership.Mem.{u1, u1} R (Set.{u1} R) (Set.hasMem.{u1} R) a (nonunits.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))))
 but is expected to have type
-  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] (f : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) [_inst_4 : IsLocalRingHom.{u1, u2} R S _inst_1 _inst_2 f] (a : R), Iff (Membership.mem.{u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) a) (Set.{u2} S) (Set.instMembershipSet.{u2} S) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) R S (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2) (RingHom.instRingHomClassRingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2))))) f a) (nonunits.{u2} S (MonoidWithZero.toMonoid.{u2} S (Semiring.toMonoidWithZero.{u2} S _inst_2)))) (Membership.mem.{u1, u1} R (Set.{u1} R) (Set.instMembershipSet.{u1} R) a (nonunits.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))))
+  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] (f : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) [_inst_4 : IsLocalRingHom.{u1, u2} R S _inst_1 _inst_2 f] (a : R), Iff (Membership.mem.{u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) a) (Set.{u2} S) (Set.instMembershipSet.{u2} S) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) R S (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2) (RingHom.instRingHomClassRingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2))))) f a) (nonunits.{u2} S (MonoidWithZero.toMonoid.{u2} S (Semiring.toMonoidWithZero.{u2} S _inst_2)))) (Membership.mem.{u1, u1} R (Set.{u1} R) (Set.instMembershipSet.{u1} R) a (nonunits.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))))
 Case conversion may be inaccurate. Consider using '#align map_mem_nonunits_iff map_mem_nonunits_iffₓ'. -/
 @[simp]
 theorem map_mem_nonunits_iff (f : R →+* S) [IsLocalRingHom f] (a) :
@@ -361,7 +361,7 @@ instance isLocalRingHom_equiv (f : R ≃+* S) : IsLocalRingHom (f : R →+* S)
 lean 3 declaration is
   forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] (f : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) [_inst_4 : IsLocalRingHom.{u1, u2} R S _inst_1 _inst_2 f] (a : R), (IsUnit.{u2} S (MonoidWithZero.toMonoid.{u2} S (Semiring.toMonoidWithZero.{u2} S _inst_2)) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (fun (_x : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) => R -> S) (RingHom.hasCoeToFun.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) f a)) -> (IsUnit.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) a)
 but is expected to have type
-  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] (f : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) [_inst_4 : IsLocalRingHom.{u1, u2} R S _inst_1 _inst_2 f] (a : R), (IsUnit.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) a) (MonoidWithZero.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) a) (Semiring.toMonoidWithZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) a) _inst_2)) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) R S (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2) (RingHom.instRingHomClassRingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2))))) f a)) -> (IsUnit.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) a)
+  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] (f : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) [_inst_4 : IsLocalRingHom.{u1, u2} R S _inst_1 _inst_2 f] (a : R), (IsUnit.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) a) (MonoidWithZero.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) a) (Semiring.toMonoidWithZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) a) _inst_2)) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) R S (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2) (RingHom.instRingHomClassRingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2))))) f a)) -> (IsUnit.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) a)
 Case conversion may be inaccurate. Consider using '#align is_unit_of_map_unit isUnit_of_map_unitₓ'. -/
 @[simp]
 theorem isUnit_of_map_unit (f : R →+* S) [IsLocalRingHom f] (a) (h : IsUnit (f a)) : IsUnit a :=
@@ -372,7 +372,7 @@ theorem isUnit_of_map_unit (f : R →+* S) [IsLocalRingHom f] (a) (h : IsUnit (f
 lean 3 declaration is
   forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] (f : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) [h : IsLocalRingHom.{u1, u2} R S _inst_1 _inst_2 f] {x : R}, (Irreducible.{u2} S (MonoidWithZero.toMonoid.{u2} S (Semiring.toMonoidWithZero.{u2} S _inst_2)) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (fun (_x : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) => R -> S) (RingHom.hasCoeToFun.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) f x)) -> (Irreducible.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) x)
 but is expected to have type
-  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] (f : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) [h : IsLocalRingHom.{u1, u2} R S _inst_1 _inst_2 f] {x : R}, (Irreducible.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) x) (MonoidWithZero.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) x) (Semiring.toMonoidWithZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) x) _inst_2)) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) R S (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2) (RingHom.instRingHomClassRingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2))))) f x)) -> (Irreducible.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) x)
+  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] (f : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) [h : IsLocalRingHom.{u1, u2} R S _inst_1 _inst_2 f] {x : R}, (Irreducible.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) x) (MonoidWithZero.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) x) (Semiring.toMonoidWithZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) x) _inst_2)) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) R S (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2) (RingHom.instRingHomClassRingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2))))) f x)) -> (Irreducible.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) x)
 Case conversion may be inaccurate. Consider using '#align of_irreducible_map of_irreducible_mapₓ'. -/
 theorem of_irreducible_map (f : R →+* S) [h : IsLocalRingHom f] {x} (hfx : Irreducible (f x)) :
     Irreducible x :=
@@ -417,7 +417,7 @@ variable [CommSemiring R] [LocalRing R] [CommSemiring S] [LocalRing S]
 lean 3 declaration is
   forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : LocalRing.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)] [_inst_3 : CommSemiring.{u2} S] [_inst_4 : LocalRing.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)] (f : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) [_inst_5 : IsLocalRingHom.{u1, u2} R S (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} S _inst_3) f] (a : R), (Membership.Mem.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SetLike.hasMem.{u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) R (Submodule.setLike.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) a (LocalRing.maximalIdeal.{u1} R _inst_1 _inst_2)) -> (Membership.Mem.{u2, u2} S (Ideal.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)) (SetLike.hasMem.{u2, u2} (Ideal.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)) S (Submodule.setLike.{u2, u2} S S (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)))) (Semiring.toModule.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) (fun (_x : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) => R -> S) (RingHom.hasCoeToFun.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) f a) (LocalRing.maximalIdeal.{u2} S _inst_3 _inst_4))
 but is expected to have type
-  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : LocalRing.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)] [_inst_3 : CommSemiring.{u2} S] [_inst_4 : LocalRing.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)] (f : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) [_inst_5 : IsLocalRingHom.{u1, u2} R S (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} S _inst_3) f] (a : R), (Membership.mem.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SetLike.instMembership.{u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) R (Submodule.setLike.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) a (LocalRing.maximalIdeal.{u1} R _inst_1 _inst_2)) -> (Membership.mem.{u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) a) (Ideal.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)) (SetLike.instMembership.{u2, u2} (Ideal.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)) S (Submodule.setLike.{u2, u2} S S (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)))) (Semiring.toModule.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)))) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) R S (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)) (RingHom.instRingHomClassRingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)))))) f a) (LocalRing.maximalIdeal.{u2} S _inst_3 _inst_4))
+  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : LocalRing.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)] [_inst_3 : CommSemiring.{u2} S] [_inst_4 : LocalRing.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)] (f : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) [_inst_5 : IsLocalRingHom.{u1, u2} R S (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} S _inst_3) f] (a : R), (Membership.mem.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SetLike.instMembership.{u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) R (Submodule.setLike.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) a (LocalRing.maximalIdeal.{u1} R _inst_1 _inst_2)) -> (Membership.mem.{u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) a) (Ideal.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)) (SetLike.instMembership.{u2, u2} (Ideal.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)) S (Submodule.setLike.{u2, u2} S S (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)))) (Semiring.toModule.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)))) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) R S (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)) (RingHom.instRingHomClassRingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)))))) f a) (LocalRing.maximalIdeal.{u2} S _inst_3 _inst_4))
 Case conversion may be inaccurate. Consider using '#align map_nonunit map_nonunitₓ'. -/
 /--
 The image of the maximal ideal of the source is contained within the maximal ideal of the target.
@@ -438,7 +438,7 @@ variable [CommSemiring R] [LocalRing R] [CommSemiring S] [LocalRing S]
 lean 3 declaration is
   forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : LocalRing.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)] [_inst_3 : CommSemiring.{u2} S] [_inst_4 : LocalRing.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)] (f : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))), List.TFAE (List.cons.{0} Prop (IsLocalRingHom.{u1, u2} R S (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} S _inst_3) f) (List.cons.{0} Prop (HasSubset.Subset.{u2} (Set.{u2} S) (Set.hasSubset.{u2} S) (Set.image.{u1, 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 _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) (fun (_x : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) => R -> S) (RingHom.hasCoeToFun.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) f) (Submodule.carrier.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (LocalRing.maximalIdeal.{u1} R _inst_1 _inst_2))) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Ideal.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)) (Set.{u2} S) (HasLiftT.mk.{succ u2, succ u2} (Ideal.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)) (Set.{u2} S) (CoeTCₓ.coe.{succ u2, succ u2} (Ideal.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)) (Set.{u2} S) (SetLike.Set.hasCoeT.{u2, u2} (Ideal.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)) S (Submodule.setLike.{u2, u2} S S (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)))) (Semiring.toModule.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)))))) (LocalRing.maximalIdeal.{u2} S _inst_3 _inst_4))) (List.cons.{0} Prop (LE.le.{u2} (Ideal.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)) (Preorder.toHasLe.{u2} (Ideal.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)) (PartialOrder.toPreorder.{u2} (Ideal.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Ideal.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Ideal.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)) (Submodule.completeLattice.{u2, u2} S S (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)))) (Semiring.toModule.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))))))) (Ideal.map.{u1, u2, max u1 u2} R S (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} S _inst_3) (RingHom.ringHomClass.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) f (LocalRing.maximalIdeal.{u1} R _inst_1 _inst_2)) (LocalRing.maximalIdeal.{u2} S _inst_3 _inst_4)) (List.cons.{0} Prop (LE.le.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Preorder.toHasLe.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.completeLattice.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))) (LocalRing.maximalIdeal.{u1} R _inst_1 _inst_2) (Ideal.comap.{u1, u2, max u1 u2} R S (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} S _inst_3) (RingHom.ringHomClass.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) f (LocalRing.maximalIdeal.{u2} S _inst_3 _inst_4))) (List.cons.{0} Prop (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.comap.{u1, u2, max u1 u2} R S (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} S _inst_3) (RingHom.ringHomClass.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) f (LocalRing.maximalIdeal.{u2} S _inst_3 _inst_4)) (LocalRing.maximalIdeal.{u1} R _inst_1 _inst_2)) (List.nil.{0} Prop))))))
 but is expected to have type
-  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : LocalRing.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)] [_inst_3 : CommSemiring.{u2} S] [_inst_4 : LocalRing.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)] (f : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))), List.TFAE (List.cons.{0} Prop (IsLocalRingHom.{u1, u2} R S (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} S _inst_3) f) (List.cons.{0} Prop (HasSubset.Subset.{u2} (Set.{u2} S) (Set.instHasSubsetSet.{u2} S) (Set.image.{u1, u2} R S (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) R S (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)) (RingHom.instRingHomClassRingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)))))) f) (SetLike.coe.{u1, u1} (AddSubmonoid.{u1} R (AddMonoid.toAddZeroClass.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))) R (AddSubmonoid.instSetLikeAddSubmonoid.{u1} R (AddMonoid.toAddZeroClass.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))) (Submodule.toAddSubmonoid.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (LocalRing.maximalIdeal.{u1} R _inst_1 _inst_2)))) (SetLike.coe.{u2, u2} (Ideal.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)) S (Submodule.setLike.{u2, u2} S S (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)))) (Semiring.toModule.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) (LocalRing.maximalIdeal.{u2} S _inst_3 _inst_4))) (List.cons.{0} Prop (LE.le.{u2} (Ideal.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)) (Preorder.toLE.{u2} (Ideal.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)) (PartialOrder.toPreorder.{u2} (Ideal.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)) (Submodule.completeLattice.{u2, u2} S S (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)))) (Semiring.toModule.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))))))) (Ideal.map.{u1, u2, max u1 u2} R S (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} S _inst_3) (RingHom.instRingHomClassRingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) f (LocalRing.maximalIdeal.{u1} R _inst_1 _inst_2)) (LocalRing.maximalIdeal.{u2} S _inst_3 _inst_4)) (List.cons.{0} Prop (LE.le.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Preorder.toLE.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.completeLattice.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))) (LocalRing.maximalIdeal.{u1} R _inst_1 _inst_2) (Ideal.comap.{u1, u2, max u1 u2} R S (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} S _inst_3) (RingHom.instRingHomClassRingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) f (LocalRing.maximalIdeal.{u2} S _inst_3 _inst_4))) (List.cons.{0} Prop (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.comap.{u1, u2, max u1 u2} R S (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} S _inst_3) (RingHom.instRingHomClassRingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) f (LocalRing.maximalIdeal.{u2} S _inst_3 _inst_4)) (LocalRing.maximalIdeal.{u1} R _inst_1 _inst_2)) (List.nil.{0} Prop))))))
+  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : LocalRing.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)] [_inst_3 : CommSemiring.{u2} S] [_inst_4 : LocalRing.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)] (f : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))), List.TFAE (List.cons.{0} Prop (IsLocalRingHom.{u1, u2} R S (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} S _inst_3) f) (List.cons.{0} Prop (HasSubset.Subset.{u2} (Set.{u2} S) (Set.instHasSubsetSet.{u2} S) (Set.image.{u1, u2} R S (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) R S (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)) (RingHom.instRingHomClassRingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)))))) f) (SetLike.coe.{u1, u1} (AddSubmonoid.{u1} R (AddMonoid.toAddZeroClass.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))) R (AddSubmonoid.instSetLikeAddSubmonoid.{u1} R (AddMonoid.toAddZeroClass.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))) (Submodule.toAddSubmonoid.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (LocalRing.maximalIdeal.{u1} R _inst_1 _inst_2)))) (SetLike.coe.{u2, u2} (Ideal.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)) S (Submodule.setLike.{u2, u2} S S (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)))) (Semiring.toModule.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) (LocalRing.maximalIdeal.{u2} S _inst_3 _inst_4))) (List.cons.{0} Prop (LE.le.{u2} (Ideal.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)) (Preorder.toLE.{u2} (Ideal.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)) (PartialOrder.toPreorder.{u2} (Ideal.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)) (Submodule.completeLattice.{u2, u2} S S (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)))) (Semiring.toModule.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))))))) (Ideal.map.{u1, u2, max u1 u2} R S (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} S _inst_3) (RingHom.instRingHomClassRingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) f (LocalRing.maximalIdeal.{u1} R _inst_1 _inst_2)) (LocalRing.maximalIdeal.{u2} S _inst_3 _inst_4)) (List.cons.{0} Prop (LE.le.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Preorder.toLE.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.completeLattice.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))) (LocalRing.maximalIdeal.{u1} R _inst_1 _inst_2) (Ideal.comap.{u1, u2, max u1 u2} R S (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} S _inst_3) (RingHom.instRingHomClassRingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) f (LocalRing.maximalIdeal.{u2} S _inst_3 _inst_4))) (List.cons.{0} Prop (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.comap.{u1, u2, max u1 u2} R S (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} S _inst_3) (RingHom.instRingHomClassRingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) f (LocalRing.maximalIdeal.{u2} S _inst_3 _inst_4)) (LocalRing.maximalIdeal.{u1} R _inst_1 _inst_2)) (List.nil.{0} Prop))))))
 Case conversion may be inaccurate. Consider using '#align local_ring.local_hom_tfae LocalRing.local_hom_TFAEₓ'. -/
 /-- A ring homomorphism between local rings is a local ring hom iff it reflects units,
 i.e. any preimage of a unit is still a unit. https://stacks.math.columbia.edu/tag/07BJ
@@ -466,7 +466,7 @@ end
 lean 3 declaration is
   forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : LocalRing.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)] [_inst_3 : CommSemiring.{u2} S] [_inst_4 : Nontrivial.{u2} S] (f : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) [_inst_5 : IsLocalRingHom.{u1, u2} R S (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} S _inst_3) f], (Function.Surjective.{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 _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) (fun (_x : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) => R -> S) (RingHom.hasCoeToFun.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) f)) -> (LocalRing.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))
 but is expected to have type
-  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : LocalRing.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)] [_inst_3 : CommSemiring.{u2} S] [_inst_4 : Nontrivial.{u2} S] (f : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) [_inst_5 : IsLocalRingHom.{u1, u2} R S (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} S _inst_3) f], (Function.Surjective.{succ u1, succ u2} R S (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) R S (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)) (RingHom.instRingHomClassRingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)))))) f)) -> (LocalRing.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))
+  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : LocalRing.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)] [_inst_3 : CommSemiring.{u2} S] [_inst_4 : Nontrivial.{u2} S] (f : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) [_inst_5 : IsLocalRingHom.{u1, u2} R S (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} S _inst_3) f], (Function.Surjective.{succ u1, succ u2} R S (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) R S (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)) (RingHom.instRingHomClassRingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)))))) f)) -> (LocalRing.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))
 Case conversion may be inaccurate. Consider using '#align local_ring.of_surjective LocalRing.of_surjectiveₓ'. -/
 theorem of_surjective [CommSemiring R] [LocalRing R] [CommSemiring S] [Nontrivial S] (f : R →+* S)
     [IsLocalRingHom f] (hf : Function.Surjective f) : LocalRing S :=
@@ -485,7 +485,7 @@ theorem of_surjective [CommSemiring R] [LocalRing R] [CommSemiring S] [Nontrivia
 lean 3 declaration is
   forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : CommRing.{u2} S] (f : RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))), (Function.Surjective.{succ u1, succ u2} R S (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) (fun (_x : RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) => R -> S) (RingHom.hasCoeToFun.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) f)) -> (IsLocalRingHom.{u1, u2} R S (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) f) -> (Function.Surjective.{succ u1, succ u2} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Units.{u2} S (Ring.toMonoid.{u2} S (CommRing.toRing.{u2} S _inst_2))) (coeFn.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (MonoidHom.{u1, u2} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Units.{u2} S (Ring.toMonoid.{u2} S (CommRing.toRing.{u2} S _inst_2))) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Units.mulOneClass.{u2} S (Ring.toMonoid.{u2} S (CommRing.toRing.{u2} S _inst_2)))) (fun (_x : MonoidHom.{u1, u2} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Units.{u2} S (Ring.toMonoid.{u2} S (CommRing.toRing.{u2} S _inst_2))) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Units.mulOneClass.{u2} S (Ring.toMonoid.{u2} S (CommRing.toRing.{u2} S _inst_2)))) => (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) -> (Units.{u2} S (Ring.toMonoid.{u2} S (CommRing.toRing.{u2} S _inst_2)))) (MonoidHom.hasCoeToFun.{u1, u2} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Units.{u2} S (Ring.toMonoid.{u2} S (CommRing.toRing.{u2} S _inst_2))) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Units.mulOneClass.{u2} S (Ring.toMonoid.{u2} S (CommRing.toRing.{u2} S _inst_2)))) (Units.map.{u1, u2} R S (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toMonoid.{u2} S (CommRing.toRing.{u2} S _inst_2)) (RingHom.toMonoidHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2))) f))))
 but is expected to have type
-  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : CommRing.{u2} S] (f : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))), (Function.Surjective.{succ u1, succ u2} R S (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) R S (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (NonUnitalNonAssocSemiring.toMul.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (RingHom.instRingHomClassRingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))))) f)) -> (IsLocalRingHom.{u1, u2} R S (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) f) -> (Function.Surjective.{succ u1, succ u2} (Units.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Units.{u2} S (MonoidWithZero.toMonoid.{u2} S (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (MonoidHom.{u1, u2} (Units.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Units.{u2} S (MonoidWithZero.toMonoid.{u2} S (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (Units.instMulOneClassUnits.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Units.instMulOneClassUnits.{u2} S (MonoidWithZero.toMonoid.{u2} S (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))))) (Units.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (_x : Units.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : Units.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) => Units.{u2} S (MonoidWithZero.toMonoid.{u2} S (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (MonoidHom.{u1, u2} (Units.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Units.{u2} S (MonoidWithZero.toMonoid.{u2} S (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (Units.instMulOneClassUnits.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Units.instMulOneClassUnits.{u2} S (MonoidWithZero.toMonoid.{u2} S (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))))) (Units.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Units.{u2} S (MonoidWithZero.toMonoid.{u2} S (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (MulOneClass.toMul.{u1} (Units.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Units.instMulOneClassUnits.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (MulOneClass.toMul.{u2} (Units.{u2} S (MonoidWithZero.toMonoid.{u2} S (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (Units.instMulOneClassUnits.{u2} S (MonoidWithZero.toMonoid.{u2} S (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u1, u2} (MonoidHom.{u1, u2} (Units.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Units.{u2} S (MonoidWithZero.toMonoid.{u2} S (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (Units.instMulOneClassUnits.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Units.instMulOneClassUnits.{u2} S (MonoidWithZero.toMonoid.{u2} S (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))))) (Units.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Units.{u2} S (MonoidWithZero.toMonoid.{u2} S (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (Units.instMulOneClassUnits.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Units.instMulOneClassUnits.{u2} S (MonoidWithZero.toMonoid.{u2} S (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (MonoidHom.monoidHomClass.{u1, u2} (Units.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Units.{u2} S (MonoidWithZero.toMonoid.{u2} S (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (Units.instMulOneClassUnits.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Units.instMulOneClassUnits.{u2} S (MonoidWithZero.toMonoid.{u2} S (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))))))) (Units.map.{u1, u2} R S (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (MonoidWithZero.toMonoid.{u2} S (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (RingHom.toMonoidHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) f))))
+  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : CommRing.{u2} S] (f : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))), (Function.Surjective.{succ u1, succ u2} R S (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) R S (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (NonUnitalNonAssocSemiring.toMul.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (RingHom.instRingHomClassRingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))))) f)) -> (IsLocalRingHom.{u1, u2} R S (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) f) -> (Function.Surjective.{succ u1, succ u2} (Units.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Units.{u2} S (MonoidWithZero.toMonoid.{u2} S (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (MonoidHom.{u1, u2} (Units.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Units.{u2} S (MonoidWithZero.toMonoid.{u2} S (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (Units.instMulOneClassUnits.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Units.instMulOneClassUnits.{u2} S (MonoidWithZero.toMonoid.{u2} S (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))))) (Units.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (_x : Units.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Units.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) => Units.{u2} S (MonoidWithZero.toMonoid.{u2} S (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (MonoidHom.{u1, u2} (Units.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Units.{u2} S (MonoidWithZero.toMonoid.{u2} S (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (Units.instMulOneClassUnits.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Units.instMulOneClassUnits.{u2} S (MonoidWithZero.toMonoid.{u2} S (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))))) (Units.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Units.{u2} S (MonoidWithZero.toMonoid.{u2} S (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (MulOneClass.toMul.{u1} (Units.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Units.instMulOneClassUnits.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (MulOneClass.toMul.{u2} (Units.{u2} S (MonoidWithZero.toMonoid.{u2} S (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (Units.instMulOneClassUnits.{u2} S (MonoidWithZero.toMonoid.{u2} S (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u1, u2} (MonoidHom.{u1, u2} (Units.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Units.{u2} S (MonoidWithZero.toMonoid.{u2} S (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (Units.instMulOneClassUnits.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Units.instMulOneClassUnits.{u2} S (MonoidWithZero.toMonoid.{u2} S (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))))) (Units.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Units.{u2} S (MonoidWithZero.toMonoid.{u2} S (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (Units.instMulOneClassUnits.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Units.instMulOneClassUnits.{u2} S (MonoidWithZero.toMonoid.{u2} S (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (MonoidHom.monoidHomClass.{u1, u2} (Units.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Units.{u2} S (MonoidWithZero.toMonoid.{u2} S (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (Units.instMulOneClassUnits.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Units.instMulOneClassUnits.{u2} S (MonoidWithZero.toMonoid.{u2} S (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))))))) (Units.map.{u1, u2} R S (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (MonoidWithZero.toMonoid.{u2} S (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (RingHom.toMonoidHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) f))))
 Case conversion may be inaccurate. Consider using '#align local_ring.surjective_units_map_of_local_ring_hom LocalRing.surjective_units_map_of_local_ringHomₓ'. -/
 /-- If `f : R →+* S` is a surjective local ring hom, then the induced units map is surjective. -/
 theorem surjective_units_map_of_local_ringHom [CommRing R] [CommRing S] (f : R →+* S)
@@ -570,7 +570,7 @@ theorem lift_comp_residue {R S : Type _} [CommRing R] [LocalRing R] [Field S] (f
 lean 3 declaration is
   forall {R : Type.{u1}} {S : Type.{u2}} [_inst_7 : CommRing.{u1} R] [_inst_8 : LocalRing.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_7))] [_inst_9 : Field.{u2} S] (f : RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_7))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (DivisionRing.toRing.{u2} S (Field.toDivisionRing.{u2} S _inst_9))))) [_inst_10 : IsLocalRingHom.{u1, u2} R S (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_7)) (Ring.toSemiring.{u2} S (DivisionRing.toRing.{u2} S (Field.toDivisionRing.{u2} S _inst_9))) f] (x : R), Eq.{succ u2} S (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} (LocalRing.ResidueField.{u1} R _inst_7 _inst_8) S (NonAssocRing.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_7 _inst_8) (Ring.toNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_7 _inst_8) (LocalRing.ResidueField.ring.{u1} R _inst_7 _inst_8))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (DivisionRing.toRing.{u2} S (Field.toDivisionRing.{u2} S _inst_9))))) (fun (_x : RingHom.{u1, u2} (LocalRing.ResidueField.{u1} R _inst_7 _inst_8) S (NonAssocRing.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_7 _inst_8) (Ring.toNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_7 _inst_8) (LocalRing.ResidueField.ring.{u1} R _inst_7 _inst_8))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (DivisionRing.toRing.{u2} S (Field.toDivisionRing.{u2} S _inst_9))))) => (LocalRing.ResidueField.{u1} R _inst_7 _inst_8) -> S) (RingHom.hasCoeToFun.{u1, u2} (LocalRing.ResidueField.{u1} R _inst_7 _inst_8) S (NonAssocRing.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_7 _inst_8) (Ring.toNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_7 _inst_8) (LocalRing.ResidueField.ring.{u1} R _inst_7 _inst_8))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (DivisionRing.toRing.{u2} S (Field.toDivisionRing.{u2} S _inst_9))))) (LocalRing.ResidueField.lift.{u1, u2} R S _inst_7 _inst_8 _inst_9 f _inst_10) (coeFn.{succ u1, succ u1} (RingHom.{u1, u1} R (LocalRing.ResidueField.{u1} R _inst_7 _inst_8) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_7))) (NonAssocRing.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_7 _inst_8) (Ring.toNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_7 _inst_8) (LocalRing.ResidueField.ring.{u1} R _inst_7 _inst_8)))) (fun (_x : RingHom.{u1, u1} R (LocalRing.ResidueField.{u1} R _inst_7 _inst_8) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_7))) (NonAssocRing.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_7 _inst_8) (Ring.toNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_7 _inst_8) (LocalRing.ResidueField.ring.{u1} R _inst_7 _inst_8)))) => R -> (LocalRing.ResidueField.{u1} R _inst_7 _inst_8)) (RingHom.hasCoeToFun.{u1, u1} R (LocalRing.ResidueField.{u1} R _inst_7 _inst_8) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_7))) (NonAssocRing.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_7 _inst_8) (Ring.toNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_7 _inst_8) (LocalRing.ResidueField.ring.{u1} R _inst_7 _inst_8)))) (LocalRing.residue.{u1} R _inst_7 _inst_8) x)) (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_7))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (DivisionRing.toRing.{u2} S (Field.toDivisionRing.{u2} S _inst_9))))) (fun (_x : RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_7))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (DivisionRing.toRing.{u2} S (Field.toDivisionRing.{u2} S _inst_9))))) => R -> S) (RingHom.hasCoeToFun.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_7))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (DivisionRing.toRing.{u2} S (Field.toDivisionRing.{u2} S _inst_9))))) f x)
 but is expected to have type
-  forall {R : Type.{u2}} {S : Type.{u1}} [_inst_7 : CommRing.{u2} R] [_inst_8 : LocalRing.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_7))] [_inst_9 : Field.{u1} S] (f : RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_7))) (Semiring.toNonAssocSemiring.{u1} S (DivisionSemiring.toSemiring.{u1} S (Semifield.toDivisionSemiring.{u1} S (Field.toSemifield.{u1} S _inst_9))))) [_inst_10 : IsLocalRingHom.{u2, u1} R S (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_7)) (DivisionSemiring.toSemiring.{u1} S (Semifield.toDivisionSemiring.{u1} S (Field.toSemifield.{u1} S _inst_9))) f] (x : R), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LocalRing.ResidueField.{u2} R _inst_7 _inst_8) => S) (FunLike.coe.{succ u2, succ u2, succ u2} (RingHom.{u2, u2} R (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_7))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (LocalRing.ResidueField.field.{u2} R _inst_7 _inst_8)))))) R (fun (a : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => LocalRing.ResidueField.{u2} R _inst_7 _inst_8) a) (MulHomClass.toFunLike.{u2, u2, u2} (RingHom.{u2, u2} R (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_7))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (LocalRing.ResidueField.field.{u2} R _inst_7 _inst_8)))))) R (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_7))))) (NonUnitalNonAssocSemiring.toMul.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (LocalRing.ResidueField.field.{u2} R _inst_7 _inst_8))))))) (NonUnitalRingHomClass.toMulHomClass.{u2, u2, u2} (RingHom.{u2, u2} R (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_7))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (LocalRing.ResidueField.field.{u2} R _inst_7 _inst_8)))))) R (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_7)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (LocalRing.ResidueField.field.{u2} R _inst_7 _inst_8)))))) (RingHomClass.toNonUnitalRingHomClass.{u2, u2, u2} (RingHom.{u2, u2} R (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_7))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (LocalRing.ResidueField.field.{u2} R _inst_7 _inst_8)))))) R (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_7))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (LocalRing.ResidueField.field.{u2} R _inst_7 _inst_8))))) (RingHom.instRingHomClassRingHom.{u2, u2} R (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_7))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (LocalRing.ResidueField.field.{u2} R _inst_7 _inst_8))))))))) (LocalRing.residue.{u2} R _inst_7 _inst_8) x)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (RingHom.{u2, u1} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) S (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (LocalRing.ResidueField.field.{u2} R _inst_7 _inst_8))))) (Semiring.toNonAssocSemiring.{u1} S (DivisionSemiring.toSemiring.{u1} S (Semifield.toDivisionSemiring.{u1} S (Field.toSemifield.{u1} S _inst_9))))) (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (fun (_x : LocalRing.ResidueField.{u2} R _inst_7 _inst_8) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LocalRing.ResidueField.{u2} R _inst_7 _inst_8) => S) _x) (MulHomClass.toFunLike.{max u2 u1, u2, u1} (RingHom.{u2, u1} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) S (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (LocalRing.ResidueField.field.{u2} R _inst_7 _inst_8))))) (Semiring.toNonAssocSemiring.{u1} S (DivisionSemiring.toSemiring.{u1} S (Semifield.toDivisionSemiring.{u1} S (Field.toSemifield.{u1} S _inst_9))))) (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) S (NonUnitalNonAssocSemiring.toMul.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (LocalRing.ResidueField.field.{u2} R _inst_7 _inst_8))))))) (NonUnitalNonAssocSemiring.toMul.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (DivisionSemiring.toSemiring.{u1} S (Semifield.toDivisionSemiring.{u1} S (Field.toSemifield.{u1} S _inst_9)))))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u1, u2, u1} (RingHom.{u2, u1} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) S (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (LocalRing.ResidueField.field.{u2} R _inst_7 _inst_8))))) (Semiring.toNonAssocSemiring.{u1} S (DivisionSemiring.toSemiring.{u1} S (Semifield.toDivisionSemiring.{u1} S (Field.toSemifield.{u1} S _inst_9))))) (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (LocalRing.ResidueField.field.{u2} R _inst_7 _inst_8)))))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (DivisionSemiring.toSemiring.{u1} S (Semifield.toDivisionSemiring.{u1} S (Field.toSemifield.{u1} S _inst_9))))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u1, u2, u1} (RingHom.{u2, u1} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) S (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (LocalRing.ResidueField.field.{u2} R _inst_7 _inst_8))))) (Semiring.toNonAssocSemiring.{u1} S (DivisionSemiring.toSemiring.{u1} S (Semifield.toDivisionSemiring.{u1} S (Field.toSemifield.{u1} S _inst_9))))) (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) S (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (LocalRing.ResidueField.field.{u2} R _inst_7 _inst_8))))) (Semiring.toNonAssocSemiring.{u1} S (DivisionSemiring.toSemiring.{u1} S (Semifield.toDivisionSemiring.{u1} S (Field.toSemifield.{u1} S _inst_9)))) (RingHom.instRingHomClassRingHom.{u2, u1} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) S (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (LocalRing.ResidueField.field.{u2} R _inst_7 _inst_8))))) (Semiring.toNonAssocSemiring.{u1} S (DivisionSemiring.toSemiring.{u1} S (Semifield.toDivisionSemiring.{u1} S (Field.toSemifield.{u1} S _inst_9)))))))) (LocalRing.ResidueField.lift.{u2, u1} R S _inst_7 _inst_8 _inst_9 f _inst_10) (FunLike.coe.{succ u2, succ u2, succ u2} (RingHom.{u2, u2} R (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_7))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (LocalRing.ResidueField.field.{u2} R _inst_7 _inst_8)))))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => LocalRing.ResidueField.{u2} R _inst_7 _inst_8) _x) (MulHomClass.toFunLike.{u2, u2, u2} (RingHom.{u2, u2} R (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_7))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (LocalRing.ResidueField.field.{u2} R _inst_7 _inst_8)))))) R (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_7))))) (NonUnitalNonAssocSemiring.toMul.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (LocalRing.ResidueField.field.{u2} R _inst_7 _inst_8))))))) (NonUnitalRingHomClass.toMulHomClass.{u2, u2, u2} (RingHom.{u2, u2} R (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_7))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (LocalRing.ResidueField.field.{u2} R _inst_7 _inst_8)))))) R (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_7)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (LocalRing.ResidueField.field.{u2} R _inst_7 _inst_8)))))) (RingHomClass.toNonUnitalRingHomClass.{u2, u2, u2} (RingHom.{u2, u2} R (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_7))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (LocalRing.ResidueField.field.{u2} R _inst_7 _inst_8)))))) R (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_7))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (LocalRing.ResidueField.field.{u2} R _inst_7 _inst_8))))) (RingHom.instRingHomClassRingHom.{u2, u2} R (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_7))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (LocalRing.ResidueField.field.{u2} R _inst_7 _inst_8))))))))) (LocalRing.residue.{u2} R _inst_7 _inst_8) x)) (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_7))) (Semiring.toNonAssocSemiring.{u1} S (DivisionSemiring.toSemiring.{u1} S (Semifield.toDivisionSemiring.{u1} S (Field.toSemifield.{u1} S _inst_9))))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : 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_7))) (Semiring.toNonAssocSemiring.{u1} S (DivisionSemiring.toSemiring.{u1} S (Semifield.toDivisionSemiring.{u1} S (Field.toSemifield.{u1} S _inst_9))))) R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_7))))) (NonUnitalNonAssocSemiring.toMul.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (DivisionSemiring.toSemiring.{u1} S (Semifield.toDivisionSemiring.{u1} S (Field.toSemifield.{u1} S _inst_9)))))) (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_7))) (Semiring.toNonAssocSemiring.{u1} S (DivisionSemiring.toSemiring.{u1} S (Semifield.toDivisionSemiring.{u1} S (Field.toSemifield.{u1} S _inst_9))))) R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_7)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (DivisionSemiring.toSemiring.{u1} S (Semifield.toDivisionSemiring.{u1} S (Field.toSemifield.{u1} S _inst_9))))) (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_7))) (Semiring.toNonAssocSemiring.{u1} S (DivisionSemiring.toSemiring.{u1} S (Semifield.toDivisionSemiring.{u1} S (Field.toSemifield.{u1} S _inst_9))))) R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_7))) (Semiring.toNonAssocSemiring.{u1} S (DivisionSemiring.toSemiring.{u1} S (Semifield.toDivisionSemiring.{u1} S (Field.toSemifield.{u1} S _inst_9)))) (RingHom.instRingHomClassRingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_7))) (Semiring.toNonAssocSemiring.{u1} S (DivisionSemiring.toSemiring.{u1} S (Semifield.toDivisionSemiring.{u1} S (Field.toSemifield.{u1} S _inst_9)))))))) f x)
+  forall {R : Type.{u2}} {S : Type.{u1}} [_inst_7 : CommRing.{u2} R] [_inst_8 : LocalRing.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_7))] [_inst_9 : Field.{u1} S] (f : RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_7))) (Semiring.toNonAssocSemiring.{u1} S (DivisionSemiring.toSemiring.{u1} S (Semifield.toDivisionSemiring.{u1} S (Field.toSemifield.{u1} S _inst_9))))) [_inst_10 : IsLocalRingHom.{u2, u1} R S (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_7)) (DivisionSemiring.toSemiring.{u1} S (Semifield.toDivisionSemiring.{u1} S (Field.toSemifield.{u1} S _inst_9))) f] (x : R), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LocalRing.ResidueField.{u2} R _inst_7 _inst_8) => S) (FunLike.coe.{succ u2, succ u2, succ u2} (RingHom.{u2, u2} R (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_7))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (LocalRing.ResidueField.field.{u2} R _inst_7 _inst_8)))))) R (fun (a : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => LocalRing.ResidueField.{u2} R _inst_7 _inst_8) a) (MulHomClass.toFunLike.{u2, u2, u2} (RingHom.{u2, u2} R (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_7))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (LocalRing.ResidueField.field.{u2} R _inst_7 _inst_8)))))) R (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_7))))) (NonUnitalNonAssocSemiring.toMul.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (LocalRing.ResidueField.field.{u2} R _inst_7 _inst_8))))))) (NonUnitalRingHomClass.toMulHomClass.{u2, u2, u2} (RingHom.{u2, u2} R (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_7))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (LocalRing.ResidueField.field.{u2} R _inst_7 _inst_8)))))) R (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_7)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (LocalRing.ResidueField.field.{u2} R _inst_7 _inst_8)))))) (RingHomClass.toNonUnitalRingHomClass.{u2, u2, u2} (RingHom.{u2, u2} R (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_7))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (LocalRing.ResidueField.field.{u2} R _inst_7 _inst_8)))))) R (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_7))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (LocalRing.ResidueField.field.{u2} R _inst_7 _inst_8))))) (RingHom.instRingHomClassRingHom.{u2, u2} R (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_7))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (LocalRing.ResidueField.field.{u2} R _inst_7 _inst_8))))))))) (LocalRing.residue.{u2} R _inst_7 _inst_8) x)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (RingHom.{u2, u1} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) S (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (LocalRing.ResidueField.field.{u2} R _inst_7 _inst_8))))) (Semiring.toNonAssocSemiring.{u1} S (DivisionSemiring.toSemiring.{u1} S (Semifield.toDivisionSemiring.{u1} S (Field.toSemifield.{u1} S _inst_9))))) (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (fun (_x : LocalRing.ResidueField.{u2} R _inst_7 _inst_8) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LocalRing.ResidueField.{u2} R _inst_7 _inst_8) => S) _x) (MulHomClass.toFunLike.{max u2 u1, u2, u1} (RingHom.{u2, u1} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) S (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (LocalRing.ResidueField.field.{u2} R _inst_7 _inst_8))))) (Semiring.toNonAssocSemiring.{u1} S (DivisionSemiring.toSemiring.{u1} S (Semifield.toDivisionSemiring.{u1} S (Field.toSemifield.{u1} S _inst_9))))) (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) S (NonUnitalNonAssocSemiring.toMul.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (LocalRing.ResidueField.field.{u2} R _inst_7 _inst_8))))))) (NonUnitalNonAssocSemiring.toMul.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (DivisionSemiring.toSemiring.{u1} S (Semifield.toDivisionSemiring.{u1} S (Field.toSemifield.{u1} S _inst_9)))))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u1, u2, u1} (RingHom.{u2, u1} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) S (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (LocalRing.ResidueField.field.{u2} R _inst_7 _inst_8))))) (Semiring.toNonAssocSemiring.{u1} S (DivisionSemiring.toSemiring.{u1} S (Semifield.toDivisionSemiring.{u1} S (Field.toSemifield.{u1} S _inst_9))))) (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (LocalRing.ResidueField.field.{u2} R _inst_7 _inst_8)))))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (DivisionSemiring.toSemiring.{u1} S (Semifield.toDivisionSemiring.{u1} S (Field.toSemifield.{u1} S _inst_9))))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u1, u2, u1} (RingHom.{u2, u1} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) S (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (LocalRing.ResidueField.field.{u2} R _inst_7 _inst_8))))) (Semiring.toNonAssocSemiring.{u1} S (DivisionSemiring.toSemiring.{u1} S (Semifield.toDivisionSemiring.{u1} S (Field.toSemifield.{u1} S _inst_9))))) (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) S (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (LocalRing.ResidueField.field.{u2} R _inst_7 _inst_8))))) (Semiring.toNonAssocSemiring.{u1} S (DivisionSemiring.toSemiring.{u1} S (Semifield.toDivisionSemiring.{u1} S (Field.toSemifield.{u1} S _inst_9)))) (RingHom.instRingHomClassRingHom.{u2, u1} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) S (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (LocalRing.ResidueField.field.{u2} R _inst_7 _inst_8))))) (Semiring.toNonAssocSemiring.{u1} S (DivisionSemiring.toSemiring.{u1} S (Semifield.toDivisionSemiring.{u1} S (Field.toSemifield.{u1} S _inst_9)))))))) (LocalRing.ResidueField.lift.{u2, u1} R S _inst_7 _inst_8 _inst_9 f _inst_10) (FunLike.coe.{succ u2, succ u2, succ u2} (RingHom.{u2, u2} R (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_7))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (LocalRing.ResidueField.field.{u2} R _inst_7 _inst_8)))))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => LocalRing.ResidueField.{u2} R _inst_7 _inst_8) _x) (MulHomClass.toFunLike.{u2, u2, u2} (RingHom.{u2, u2} R (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_7))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (LocalRing.ResidueField.field.{u2} R _inst_7 _inst_8)))))) R (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_7))))) (NonUnitalNonAssocSemiring.toMul.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (LocalRing.ResidueField.field.{u2} R _inst_7 _inst_8))))))) (NonUnitalRingHomClass.toMulHomClass.{u2, u2, u2} (RingHom.{u2, u2} R (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_7))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (LocalRing.ResidueField.field.{u2} R _inst_7 _inst_8)))))) R (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_7)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (LocalRing.ResidueField.field.{u2} R _inst_7 _inst_8)))))) (RingHomClass.toNonUnitalRingHomClass.{u2, u2, u2} (RingHom.{u2, u2} R (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_7))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (LocalRing.ResidueField.field.{u2} R _inst_7 _inst_8)))))) R (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_7))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (LocalRing.ResidueField.field.{u2} R _inst_7 _inst_8))))) (RingHom.instRingHomClassRingHom.{u2, u2} R (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_7))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (LocalRing.ResidueField.field.{u2} R _inst_7 _inst_8))))))))) (LocalRing.residue.{u2} R _inst_7 _inst_8) x)) (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_7))) (Semiring.toNonAssocSemiring.{u1} S (DivisionSemiring.toSemiring.{u1} S (Semifield.toDivisionSemiring.{u1} S (Field.toSemifield.{u1} S _inst_9))))) 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_7))) (Semiring.toNonAssocSemiring.{u1} S (DivisionSemiring.toSemiring.{u1} S (Semifield.toDivisionSemiring.{u1} S (Field.toSemifield.{u1} S _inst_9))))) R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_7))))) (NonUnitalNonAssocSemiring.toMul.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (DivisionSemiring.toSemiring.{u1} S (Semifield.toDivisionSemiring.{u1} S (Field.toSemifield.{u1} S _inst_9)))))) (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_7))) (Semiring.toNonAssocSemiring.{u1} S (DivisionSemiring.toSemiring.{u1} S (Semifield.toDivisionSemiring.{u1} S (Field.toSemifield.{u1} S _inst_9))))) R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_7)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (DivisionSemiring.toSemiring.{u1} S (Semifield.toDivisionSemiring.{u1} S (Field.toSemifield.{u1} S _inst_9))))) (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_7))) (Semiring.toNonAssocSemiring.{u1} S (DivisionSemiring.toSemiring.{u1} S (Semifield.toDivisionSemiring.{u1} S (Field.toSemifield.{u1} S _inst_9))))) R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_7))) (Semiring.toNonAssocSemiring.{u1} S (DivisionSemiring.toSemiring.{u1} S (Semifield.toDivisionSemiring.{u1} S (Field.toSemifield.{u1} S _inst_9)))) (RingHom.instRingHomClassRingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_7))) (Semiring.toNonAssocSemiring.{u1} S (DivisionSemiring.toSemiring.{u1} S (Semifield.toDivisionSemiring.{u1} S (Field.toSemifield.{u1} S _inst_9)))))))) f x)
 Case conversion may be inaccurate. Consider using '#align local_ring.residue_field.lift_residue_apply LocalRing.ResidueField.lift_residue_applyₓ'. -/
 @[simp]
 theorem lift_residue_apply {R S : Type _} [CommRing R] [LocalRing R] [Field S] (f : R →+* S)
@@ -618,7 +618,7 @@ theorem map_comp_residue (f : R →+* S) [IsLocalRingHom f] :
 lean 3 declaration is
   forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : LocalRing.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))] [_inst_3 : CommRing.{u2} S] [_inst_4 : LocalRing.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_3))] (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_3)))) [_inst_7 : IsLocalRingHom.{u1, u2} R S (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_3)) f] (r : R), Eq.{succ u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (NonAssocRing.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.ring.{u1} R _inst_1 _inst_2))) (NonAssocRing.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Ring.toNonAssocRing.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.ring.{u2} S _inst_3 _inst_4)))) (fun (_x : RingHom.{u1, u2} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (NonAssocRing.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.ring.{u1} R _inst_1 _inst_2))) (NonAssocRing.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Ring.toNonAssocRing.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.ring.{u2} S _inst_3 _inst_4)))) => (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) -> (LocalRing.ResidueField.{u2} S _inst_3 _inst_4)) (RingHom.hasCoeToFun.{u1, u2} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (NonAssocRing.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.ring.{u1} R _inst_1 _inst_2))) (NonAssocRing.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Ring.toNonAssocRing.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.ring.{u2} S _inst_3 _inst_4)))) (LocalRing.ResidueField.map.{u1, u2} R S _inst_1 _inst_2 _inst_3 _inst_4 f _inst_7) (coeFn.{succ u1, succ u1} (RingHom.{u1, u1} R (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.ring.{u1} R _inst_1 _inst_2)))) (fun (_x : RingHom.{u1, u1} R (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.ring.{u1} R _inst_1 _inst_2)))) => R -> (LocalRing.ResidueField.{u1} R _inst_1 _inst_2)) (RingHom.hasCoeToFun.{u1, u1} R (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.ring.{u1} R _inst_1 _inst_2)))) (LocalRing.residue.{u1} R _inst_1 _inst_2) r)) (coeFn.{succ u2, succ u2} (RingHom.{u2, u2} S (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_3))) (NonAssocRing.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Ring.toNonAssocRing.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.ring.{u2} S _inst_3 _inst_4)))) (fun (_x : RingHom.{u2, u2} S (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_3))) (NonAssocRing.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Ring.toNonAssocRing.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.ring.{u2} S _inst_3 _inst_4)))) => S -> (LocalRing.ResidueField.{u2} S _inst_3 _inst_4)) (RingHom.hasCoeToFun.{u2, u2} S (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_3))) (NonAssocRing.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Ring.toNonAssocRing.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.ring.{u2} S _inst_3 _inst_4)))) (LocalRing.residue.{u2} S _inst_3 _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_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 (CommRing.toRing.{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 (CommRing.toRing.{u2} S _inst_3)))) f r))
 but is expected to have type
-  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : LocalRing.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))] [_inst_3 : CommRing.{u2} S] [_inst_4 : LocalRing.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_3))] (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_3)))) [_inst_7 : IsLocalRingHom.{u1, u2} R S (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_3)) f] (r : R), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LocalRing.ResidueField.{u1} R _inst_1 _inst_2) => LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (FunLike.coe.{succ u1, succ u1, succ u1} (RingHom.{u1, u1} R (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2)))))) R (fun (a : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => LocalRing.ResidueField.{u1} R _inst_1 _inst_2) a) (MulHomClass.toFunLike.{u1, u1, u1} (RingHom.{u1, u1} R (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2)))))) R (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (NonUnitalNonAssocSemiring.toMul.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))))) (NonUnitalRingHomClass.toMulHomClass.{u1, u1, u1} (RingHom.{u1, u1} R (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2)))))) R (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2)))))) (RingHomClass.toNonUnitalRingHomClass.{u1, u1, u1} (RingHom.{u1, u1} R (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2)))))) R (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))) (RingHom.instRingHomClassRingHom.{u1, u1} R (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))))))) (LocalRing.residue.{u1} R _inst_1 _inst_2) r)) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (RingHom.{u1, u2} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.field.{u2} S _inst_3 _inst_4)))))) (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (fun (_x : LocalRing.ResidueField.{u1} R _inst_1 _inst_2) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LocalRing.ResidueField.{u1} R _inst_1 _inst_2) => LocalRing.ResidueField.{u2} S _inst_3 _inst_4) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (RingHom.{u1, u2} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.field.{u2} S _inst_3 _inst_4)))))) (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (NonUnitalNonAssocSemiring.toMul.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))))) (NonUnitalNonAssocSemiring.toMul.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.field.{u2} S _inst_3 _inst_4))))))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.field.{u2} S _inst_3 _inst_4)))))) (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2)))))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.field.{u2} S _inst_3 _inst_4)))))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.field.{u2} S _inst_3 _inst_4)))))) (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.field.{u2} S _inst_3 _inst_4))))) (RingHom.instRingHomClassRingHom.{u1, u2} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.field.{u2} S _inst_3 _inst_4))))))))) (LocalRing.ResidueField.map.{u1, u2} R S _inst_1 _inst_2 _inst_3 _inst_4 f _inst_7) (FunLike.coe.{succ u1, succ u1, succ u1} (RingHom.{u1, u1} R (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2)))))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => LocalRing.ResidueField.{u1} R _inst_1 _inst_2) _x) (MulHomClass.toFunLike.{u1, u1, u1} (RingHom.{u1, u1} R (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2)))))) R (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (NonUnitalNonAssocSemiring.toMul.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))))) (NonUnitalRingHomClass.toMulHomClass.{u1, u1, u1} (RingHom.{u1, u1} R (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2)))))) R (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2)))))) (RingHomClass.toNonUnitalRingHomClass.{u1, u1, u1} (RingHom.{u1, u1} R (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2)))))) R (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))) (RingHom.instRingHomClassRingHom.{u1, u1} R (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))))))) (LocalRing.residue.{u1} R _inst_1 _inst_2) r)) (FunLike.coe.{succ u2, succ u2, succ u2} (RingHom.{u2, u2} S (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_3))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.field.{u2} S _inst_3 _inst_4)))))) S (fun (_x : S) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : S) => LocalRing.ResidueField.{u2} S _inst_3 _inst_4) _x) (MulHomClass.toFunLike.{u2, u2, u2} (RingHom.{u2, u2} S (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_3))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.field.{u2} S _inst_3 _inst_4)))))) S (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (NonUnitalNonAssocSemiring.toMul.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_3))))) (NonUnitalNonAssocSemiring.toMul.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.field.{u2} S _inst_3 _inst_4))))))) (NonUnitalRingHomClass.toMulHomClass.{u2, u2, u2} (RingHom.{u2, u2} S (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_3))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.field.{u2} S _inst_3 _inst_4)))))) S (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_3)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.field.{u2} S _inst_3 _inst_4)))))) (RingHomClass.toNonUnitalRingHomClass.{u2, u2, u2} (RingHom.{u2, u2} S (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_3))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.field.{u2} S _inst_3 _inst_4)))))) S (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_3))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.field.{u2} S _inst_3 _inst_4))))) (RingHom.instRingHomClassRingHom.{u2, u2} S (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_3))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.field.{u2} S _inst_3 _inst_4))))))))) (LocalRing.residue.{u2} S _inst_3 _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_3)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_3)))) 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_3))))) (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_3)))) 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_3)))) (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_3)))) 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_3))) (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_3))))))) f r))
+  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : LocalRing.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))] [_inst_3 : CommRing.{u2} S] [_inst_4 : LocalRing.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_3))] (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_3)))) [_inst_7 : IsLocalRingHom.{u1, u2} R S (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_3)) f] (r : R), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LocalRing.ResidueField.{u1} R _inst_1 _inst_2) => LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (FunLike.coe.{succ u1, succ u1, succ u1} (RingHom.{u1, u1} R (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2)))))) R (fun (a : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => LocalRing.ResidueField.{u1} R _inst_1 _inst_2) a) (MulHomClass.toFunLike.{u1, u1, u1} (RingHom.{u1, u1} R (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2)))))) R (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (NonUnitalNonAssocSemiring.toMul.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))))) (NonUnitalRingHomClass.toMulHomClass.{u1, u1, u1} (RingHom.{u1, u1} R (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2)))))) R (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2)))))) (RingHomClass.toNonUnitalRingHomClass.{u1, u1, u1} (RingHom.{u1, u1} R (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2)))))) R (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))) (RingHom.instRingHomClassRingHom.{u1, u1} R (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))))))) (LocalRing.residue.{u1} R _inst_1 _inst_2) r)) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (RingHom.{u1, u2} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.field.{u2} S _inst_3 _inst_4)))))) (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (fun (_x : LocalRing.ResidueField.{u1} R _inst_1 _inst_2) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LocalRing.ResidueField.{u1} R _inst_1 _inst_2) => LocalRing.ResidueField.{u2} S _inst_3 _inst_4) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (RingHom.{u1, u2} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.field.{u2} S _inst_3 _inst_4)))))) (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (NonUnitalNonAssocSemiring.toMul.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))))) (NonUnitalNonAssocSemiring.toMul.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.field.{u2} S _inst_3 _inst_4))))))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.field.{u2} S _inst_3 _inst_4)))))) (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2)))))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.field.{u2} S _inst_3 _inst_4)))))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.field.{u2} S _inst_3 _inst_4)))))) (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.field.{u2} S _inst_3 _inst_4))))) (RingHom.instRingHomClassRingHom.{u1, u2} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.field.{u2} S _inst_3 _inst_4))))))))) (LocalRing.ResidueField.map.{u1, u2} R S _inst_1 _inst_2 _inst_3 _inst_4 f _inst_7) (FunLike.coe.{succ u1, succ u1, succ u1} (RingHom.{u1, u1} R (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2)))))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => LocalRing.ResidueField.{u1} R _inst_1 _inst_2) _x) (MulHomClass.toFunLike.{u1, u1, u1} (RingHom.{u1, u1} R (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2)))))) R (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (NonUnitalNonAssocSemiring.toMul.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))))) (NonUnitalRingHomClass.toMulHomClass.{u1, u1, u1} (RingHom.{u1, u1} R (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2)))))) R (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2)))))) (RingHomClass.toNonUnitalRingHomClass.{u1, u1, u1} (RingHom.{u1, u1} R (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2)))))) R (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))) (RingHom.instRingHomClassRingHom.{u1, u1} R (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))))))) (LocalRing.residue.{u1} R _inst_1 _inst_2) r)) (FunLike.coe.{succ u2, succ u2, succ u2} (RingHom.{u2, u2} S (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_3))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.field.{u2} S _inst_3 _inst_4)))))) S (fun (_x : S) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : S) => LocalRing.ResidueField.{u2} S _inst_3 _inst_4) _x) (MulHomClass.toFunLike.{u2, u2, u2} (RingHom.{u2, u2} S (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_3))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.field.{u2} S _inst_3 _inst_4)))))) S (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (NonUnitalNonAssocSemiring.toMul.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_3))))) (NonUnitalNonAssocSemiring.toMul.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.field.{u2} S _inst_3 _inst_4))))))) (NonUnitalRingHomClass.toMulHomClass.{u2, u2, u2} (RingHom.{u2, u2} S (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_3))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.field.{u2} S _inst_3 _inst_4)))))) S (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_3)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.field.{u2} S _inst_3 _inst_4)))))) (RingHomClass.toNonUnitalRingHomClass.{u2, u2, u2} (RingHom.{u2, u2} S (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_3))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.field.{u2} S _inst_3 _inst_4)))))) S (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_3))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.field.{u2} S _inst_3 _inst_4))))) (RingHom.instRingHomClassRingHom.{u2, u2} S (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_3))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.field.{u2} S _inst_3 _inst_4))))))))) (LocalRing.residue.{u2} S _inst_3 _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_3)))) 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_3)))) 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_3))))) (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_3)))) 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_3)))) (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_3)))) 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_3))) (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_3))))))) f r))
 Case conversion may be inaccurate. Consider using '#align local_ring.residue_field.map_residue LocalRing.ResidueField.map_residueₓ'. -/
 theorem map_residue (f : R →+* S) [IsLocalRingHom f] (r : R) :
     ResidueField.map f (residue R r) = residue S (f r) :=
@@ -629,7 +629,7 @@ theorem map_residue (f : R →+* S) [IsLocalRingHom f] (r : R) :
 lean 3 declaration is
   forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] [_inst_2 : LocalRing.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))] (x : LocalRing.ResidueField.{u1} R _inst_1 _inst_2), Eq.{succ u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (coeFn.{succ u1, succ u1} (RingHom.{u1, u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonAssocRing.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.ring.{u1} R _inst_1 _inst_2))) (NonAssocRing.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.ring.{u1} R _inst_1 _inst_2)))) (fun (_x : RingHom.{u1, u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonAssocRing.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.ring.{u1} R _inst_1 _inst_2))) (NonAssocRing.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.ring.{u1} R _inst_1 _inst_2)))) => (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) -> (LocalRing.ResidueField.{u1} R _inst_1 _inst_2)) (RingHom.hasCoeToFun.{u1, u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonAssocRing.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.ring.{u1} R _inst_1 _inst_2))) (NonAssocRing.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.ring.{u1} R _inst_1 _inst_2)))) (LocalRing.ResidueField.map.{u1, u1} R R _inst_1 _inst_2 _inst_1 _inst_2 (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (isLocalRingHom_id.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) x) x
 but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] [_inst_2 : LocalRing.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))] (x : LocalRing.ResidueField.{u1} R _inst_1 _inst_2), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LocalRing.ResidueField.{u1} R _inst_1 _inst_2) => LocalRing.ResidueField.{u1} R _inst_1 _inst_2) x) (FunLike.coe.{succ u1, succ u1, succ u1} (RingHom.{u1, u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2)))))) (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (fun (_x : LocalRing.ResidueField.{u1} R _inst_1 _inst_2) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LocalRing.ResidueField.{u1} R _inst_1 _inst_2) => LocalRing.ResidueField.{u1} R _inst_1 _inst_2) _x) (MulHomClass.toFunLike.{u1, u1, u1} (RingHom.{u1, u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2)))))) (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonUnitalNonAssocSemiring.toMul.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))))) (NonUnitalNonAssocSemiring.toMul.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))))) (NonUnitalRingHomClass.toMulHomClass.{u1, u1, u1} (RingHom.{u1, u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2)))))) (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2)))))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2)))))) (RingHomClass.toNonUnitalRingHomClass.{u1, u1, u1} (RingHom.{u1, u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2)))))) (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))) (RingHom.instRingHomClassRingHom.{u1, u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))))))) (LocalRing.ResidueField.map.{u1, u1} R R _inst_1 _inst_2 _inst_1 _inst_2 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (isLocalRingHom_id.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) x) x
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] [_inst_2 : LocalRing.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))] (x : LocalRing.ResidueField.{u1} R _inst_1 _inst_2), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LocalRing.ResidueField.{u1} R _inst_1 _inst_2) => LocalRing.ResidueField.{u1} R _inst_1 _inst_2) x) (FunLike.coe.{succ u1, succ u1, succ u1} (RingHom.{u1, u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2)))))) (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (fun (_x : LocalRing.ResidueField.{u1} R _inst_1 _inst_2) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LocalRing.ResidueField.{u1} R _inst_1 _inst_2) => LocalRing.ResidueField.{u1} R _inst_1 _inst_2) _x) (MulHomClass.toFunLike.{u1, u1, u1} (RingHom.{u1, u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2)))))) (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonUnitalNonAssocSemiring.toMul.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))))) (NonUnitalNonAssocSemiring.toMul.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))))) (NonUnitalRingHomClass.toMulHomClass.{u1, u1, u1} (RingHom.{u1, u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2)))))) (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2)))))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2)))))) (RingHomClass.toNonUnitalRingHomClass.{u1, u1, u1} (RingHom.{u1, u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2)))))) (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))) (RingHom.instRingHomClassRingHom.{u1, u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))))))) (LocalRing.ResidueField.map.{u1, u1} R R _inst_1 _inst_2 _inst_1 _inst_2 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (isLocalRingHom_id.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) x) x
 Case conversion may be inaccurate. Consider using '#align local_ring.residue_field.map_id_apply LocalRing.ResidueField.map_id_applyₓ'. -/
 theorem map_id_apply (x : ResidueField R) : map (RingHom.id R) x = x :=
   FunLike.congr_fun map_id x
@@ -639,7 +639,7 @@ theorem map_id_apply (x : ResidueField R) : map (RingHom.id R) x = x :=
 lean 3 declaration is
   forall {R : Type.{u1}} {S : Type.{u2}} {T : Type.{u3}} [_inst_1 : CommRing.{u1} R] [_inst_2 : LocalRing.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))] [_inst_3 : CommRing.{u2} S] [_inst_4 : LocalRing.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_3))] [_inst_5 : CommRing.{u3} T] [_inst_6 : LocalRing.{u3} T (Ring.toSemiring.{u3} T (CommRing.toRing.{u3} T _inst_5))] (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_3)))) (g : RingHom.{u2, u3} S T (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_3))) (NonAssocRing.toNonAssocSemiring.{u3} T (Ring.toNonAssocRing.{u3} T (CommRing.toRing.{u3} T _inst_5)))) (x : LocalRing.ResidueField.{u1} R _inst_1 _inst_2) [_inst_7 : IsLocalRingHom.{u1, u2} R S (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_3)) f] [_inst_8 : IsLocalRingHom.{u2, u3} S T (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_3)) (Ring.toSemiring.{u3} T (CommRing.toRing.{u3} T _inst_5)) g], Eq.{succ u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (RingHom.{u2, u3} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (NonAssocRing.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Ring.toNonAssocRing.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.ring.{u2} S _inst_3 _inst_4))) (NonAssocRing.toNonAssocSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Ring.toNonAssocRing.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (LocalRing.ResidueField.ring.{u3} T _inst_5 _inst_6)))) (fun (_x : RingHom.{u2, u3} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (NonAssocRing.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Ring.toNonAssocRing.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.ring.{u2} S _inst_3 _inst_4))) (NonAssocRing.toNonAssocSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Ring.toNonAssocRing.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (LocalRing.ResidueField.ring.{u3} T _inst_5 _inst_6)))) => (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) -> (LocalRing.ResidueField.{u3} T _inst_5 _inst_6)) (RingHom.hasCoeToFun.{u2, u3} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (NonAssocRing.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Ring.toNonAssocRing.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.ring.{u2} S _inst_3 _inst_4))) (NonAssocRing.toNonAssocSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Ring.toNonAssocRing.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (LocalRing.ResidueField.ring.{u3} T _inst_5 _inst_6)))) (LocalRing.ResidueField.map.{u2, u3} S T _inst_3 _inst_4 _inst_5 _inst_6 g _inst_8) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (NonAssocRing.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.ring.{u1} R _inst_1 _inst_2))) (NonAssocRing.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Ring.toNonAssocRing.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.ring.{u2} S _inst_3 _inst_4)))) (fun (_x : RingHom.{u1, u2} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (NonAssocRing.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.ring.{u1} R _inst_1 _inst_2))) (NonAssocRing.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Ring.toNonAssocRing.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.ring.{u2} S _inst_3 _inst_4)))) => (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) -> (LocalRing.ResidueField.{u2} S _inst_3 _inst_4)) (RingHom.hasCoeToFun.{u1, u2} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (NonAssocRing.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.ring.{u1} R _inst_1 _inst_2))) (NonAssocRing.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Ring.toNonAssocRing.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.ring.{u2} S _inst_3 _inst_4)))) (LocalRing.ResidueField.map.{u1, u2} R S _inst_1 _inst_2 _inst_3 _inst_4 f _inst_7) x)) (coeFn.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (RingHom.{u1, u3} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (NonAssocRing.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.ring.{u1} R _inst_1 _inst_2))) (NonAssocRing.toNonAssocSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Ring.toNonAssocRing.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (LocalRing.ResidueField.ring.{u3} T _inst_5 _inst_6)))) (fun (_x : RingHom.{u1, u3} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (NonAssocRing.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.ring.{u1} R _inst_1 _inst_2))) (NonAssocRing.toNonAssocSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Ring.toNonAssocRing.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (LocalRing.ResidueField.ring.{u3} T _inst_5 _inst_6)))) => (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) -> (LocalRing.ResidueField.{u3} T _inst_5 _inst_6)) (RingHom.hasCoeToFun.{u1, u3} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (NonAssocRing.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.ring.{u1} R _inst_1 _inst_2))) (NonAssocRing.toNonAssocSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Ring.toNonAssocRing.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (LocalRing.ResidueField.ring.{u3} T _inst_5 _inst_6)))) (LocalRing.ResidueField.map.{u1, u3} R T _inst_1 _inst_2 _inst_5 _inst_6 (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_3))) (NonAssocRing.toNonAssocSemiring.{u3} T (Ring.toNonAssocRing.{u3} T (CommRing.toRing.{u3} T _inst_5))) g f) (isLocalRingHom_comp.{u1, u2, u3} R S T (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_3)) (Ring.toSemiring.{u3} T (CommRing.toRing.{u3} T _inst_5)) g f _inst_8 _inst_7)) x)
 but is expected to have type
-  forall {R : Type.{u1}} {S : Type.{u2}} {T : Type.{u3}} [_inst_1 : CommRing.{u1} R] [_inst_2 : LocalRing.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))] [_inst_3 : CommRing.{u2} S] [_inst_4 : LocalRing.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_3))] [_inst_5 : CommRing.{u3} T] [_inst_6 : LocalRing.{u3} T (CommSemiring.toSemiring.{u3} T (CommRing.toCommSemiring.{u3} T _inst_5))] (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_3)))) (g : RingHom.{u2, u3} S T (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_3))) (Semiring.toNonAssocSemiring.{u3} T (CommSemiring.toSemiring.{u3} T (CommRing.toCommSemiring.{u3} T _inst_5)))) (x : LocalRing.ResidueField.{u1} R _inst_1 _inst_2) [_inst_7 : IsLocalRingHom.{u1, u2} R S (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_3)) f] [_inst_8 : IsLocalRingHom.{u2, u3} S T (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_3)) (CommSemiring.toSemiring.{u3} T (CommRing.toCommSemiring.{u3} T _inst_5)) g], Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LocalRing.ResidueField.{u2} S _inst_3 _inst_4) => LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (RingHom.{u1, u2} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.field.{u2} S _inst_3 _inst_4)))))) (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (fun (a : LocalRing.ResidueField.{u1} R _inst_1 _inst_2) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LocalRing.ResidueField.{u1} R _inst_1 _inst_2) => LocalRing.ResidueField.{u2} S _inst_3 _inst_4) a) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (RingHom.{u1, u2} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.field.{u2} S _inst_3 _inst_4)))))) (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (NonUnitalNonAssocSemiring.toMul.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))))) (NonUnitalNonAssocSemiring.toMul.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.field.{u2} S _inst_3 _inst_4))))))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.field.{u2} S _inst_3 _inst_4)))))) (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2)))))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.field.{u2} S _inst_3 _inst_4)))))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.field.{u2} S _inst_3 _inst_4)))))) (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.field.{u2} S _inst_3 _inst_4))))) (RingHom.instRingHomClassRingHom.{u1, u2} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.field.{u2} S _inst_3 _inst_4))))))))) (LocalRing.ResidueField.map.{u1, u2} R S _inst_1 _inst_2 _inst_3 _inst_4 f _inst_7) x)) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (RingHom.{u2, u3} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.field.{u2} S _inst_3 _inst_4))))) (Semiring.toNonAssocSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (DivisionSemiring.toSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Semifield.toDivisionSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Field.toSemifield.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (LocalRing.ResidueField.field.{u3} T _inst_5 _inst_6)))))) (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (fun (_x : LocalRing.ResidueField.{u2} S _inst_3 _inst_4) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LocalRing.ResidueField.{u2} S _inst_3 _inst_4) => LocalRing.ResidueField.{u3} T _inst_5 _inst_6) _x) (MulHomClass.toFunLike.{max u2 u3, u2, u3} (RingHom.{u2, u3} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.field.{u2} S _inst_3 _inst_4))))) (Semiring.toNonAssocSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (DivisionSemiring.toSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Semifield.toDivisionSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Field.toSemifield.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (LocalRing.ResidueField.field.{u3} T _inst_5 _inst_6)))))) (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (NonUnitalNonAssocSemiring.toMul.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.field.{u2} S _inst_3 _inst_4))))))) (NonUnitalNonAssocSemiring.toMul.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Semiring.toNonAssocSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (DivisionSemiring.toSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Semifield.toDivisionSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Field.toSemifield.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (LocalRing.ResidueField.field.{u3} T _inst_5 _inst_6))))))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.field.{u2} S _inst_3 _inst_4))))) (Semiring.toNonAssocSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (DivisionSemiring.toSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Semifield.toDivisionSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Field.toSemifield.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (LocalRing.ResidueField.field.{u3} T _inst_5 _inst_6)))))) (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.field.{u2} S _inst_3 _inst_4)))))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Semiring.toNonAssocSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (DivisionSemiring.toSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Semifield.toDivisionSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Field.toSemifield.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (LocalRing.ResidueField.field.{u3} T _inst_5 _inst_6)))))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.field.{u2} S _inst_3 _inst_4))))) (Semiring.toNonAssocSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (DivisionSemiring.toSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Semifield.toDivisionSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Field.toSemifield.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (LocalRing.ResidueField.field.{u3} T _inst_5 _inst_6)))))) (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.field.{u2} S _inst_3 _inst_4))))) (Semiring.toNonAssocSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (DivisionSemiring.toSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Semifield.toDivisionSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Field.toSemifield.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (LocalRing.ResidueField.field.{u3} T _inst_5 _inst_6))))) (RingHom.instRingHomClassRingHom.{u2, u3} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.field.{u2} S _inst_3 _inst_4))))) (Semiring.toNonAssocSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (DivisionSemiring.toSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Semifield.toDivisionSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Field.toSemifield.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (LocalRing.ResidueField.field.{u3} T _inst_5 _inst_6))))))))) (LocalRing.ResidueField.map.{u2, u3} S T _inst_3 _inst_4 _inst_5 _inst_6 g _inst_8) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (RingHom.{u1, u2} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.field.{u2} S _inst_3 _inst_4)))))) (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (fun (_x : LocalRing.ResidueField.{u1} R _inst_1 _inst_2) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LocalRing.ResidueField.{u1} R _inst_1 _inst_2) => LocalRing.ResidueField.{u2} S _inst_3 _inst_4) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (RingHom.{u1, u2} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.field.{u2} S _inst_3 _inst_4)))))) (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (NonUnitalNonAssocSemiring.toMul.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))))) (NonUnitalNonAssocSemiring.toMul.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.field.{u2} S _inst_3 _inst_4))))))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.field.{u2} S _inst_3 _inst_4)))))) (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2)))))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.field.{u2} S _inst_3 _inst_4)))))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.field.{u2} S _inst_3 _inst_4)))))) (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.field.{u2} S _inst_3 _inst_4))))) (RingHom.instRingHomClassRingHom.{u1, u2} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.field.{u2} S _inst_3 _inst_4))))))))) (LocalRing.ResidueField.map.{u1, u2} R S _inst_1 _inst_2 _inst_3 _inst_4 f _inst_7) x)) (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (RingHom.{u1, u3} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))) (Semiring.toNonAssocSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (DivisionSemiring.toSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Semifield.toDivisionSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Field.toSemifield.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (LocalRing.ResidueField.field.{u3} T _inst_5 _inst_6)))))) (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (fun (_x : LocalRing.ResidueField.{u1} R _inst_1 _inst_2) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LocalRing.ResidueField.{u1} R _inst_1 _inst_2) => LocalRing.ResidueField.{u3} T _inst_5 _inst_6) _x) (MulHomClass.toFunLike.{max u1 u3, u1, u3} (RingHom.{u1, u3} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))) (Semiring.toNonAssocSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (DivisionSemiring.toSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Semifield.toDivisionSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Field.toSemifield.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (LocalRing.ResidueField.field.{u3} T _inst_5 _inst_6)))))) (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (NonUnitalNonAssocSemiring.toMul.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))))) (NonUnitalNonAssocSemiring.toMul.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Semiring.toNonAssocSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (DivisionSemiring.toSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Semifield.toDivisionSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Field.toSemifield.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (LocalRing.ResidueField.field.{u3} T _inst_5 _inst_6))))))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u3, u1, u3} (RingHom.{u1, u3} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))) (Semiring.toNonAssocSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (DivisionSemiring.toSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Semifield.toDivisionSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Field.toSemifield.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (LocalRing.ResidueField.field.{u3} T _inst_5 _inst_6)))))) (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2)))))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Semiring.toNonAssocSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (DivisionSemiring.toSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Semifield.toDivisionSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Field.toSemifield.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (LocalRing.ResidueField.field.{u3} T _inst_5 _inst_6)))))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u3, u1, u3} (RingHom.{u1, u3} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))) (Semiring.toNonAssocSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (DivisionSemiring.toSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Semifield.toDivisionSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Field.toSemifield.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (LocalRing.ResidueField.field.{u3} T _inst_5 _inst_6)))))) (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))) (Semiring.toNonAssocSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (DivisionSemiring.toSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Semifield.toDivisionSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Field.toSemifield.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (LocalRing.ResidueField.field.{u3} T _inst_5 _inst_6))))) (RingHom.instRingHomClassRingHom.{u1, u3} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))) (Semiring.toNonAssocSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (DivisionSemiring.toSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Semifield.toDivisionSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Field.toSemifield.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (LocalRing.ResidueField.field.{u3} T _inst_5 _inst_6))))))))) (LocalRing.ResidueField.map.{u1, u3} R T _inst_1 _inst_2 _inst_5 _inst_6 (RingHom.comp.{u1, u2, u3} R S T (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_3))) (Semiring.toNonAssocSemiring.{u3} T (CommSemiring.toSemiring.{u3} T (CommRing.toCommSemiring.{u3} T _inst_5))) g f) (isLocalRingHom_comp.{u1, u2, u3} R S T (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_3)) (CommSemiring.toSemiring.{u3} T (CommRing.toCommSemiring.{u3} T _inst_5)) g f _inst_8 _inst_7)) x)
+  forall {R : Type.{u1}} {S : Type.{u2}} {T : Type.{u3}} [_inst_1 : CommRing.{u1} R] [_inst_2 : LocalRing.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))] [_inst_3 : CommRing.{u2} S] [_inst_4 : LocalRing.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_3))] [_inst_5 : CommRing.{u3} T] [_inst_6 : LocalRing.{u3} T (CommSemiring.toSemiring.{u3} T (CommRing.toCommSemiring.{u3} T _inst_5))] (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_3)))) (g : RingHom.{u2, u3} S T (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_3))) (Semiring.toNonAssocSemiring.{u3} T (CommSemiring.toSemiring.{u3} T (CommRing.toCommSemiring.{u3} T _inst_5)))) (x : LocalRing.ResidueField.{u1} R _inst_1 _inst_2) [_inst_7 : IsLocalRingHom.{u1, u2} R S (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_3)) f] [_inst_8 : IsLocalRingHom.{u2, u3} S T (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_3)) (CommSemiring.toSemiring.{u3} T (CommRing.toCommSemiring.{u3} T _inst_5)) g], Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LocalRing.ResidueField.{u2} S _inst_3 _inst_4) => LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (RingHom.{u1, u2} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.field.{u2} S _inst_3 _inst_4)))))) (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (fun (a : LocalRing.ResidueField.{u1} R _inst_1 _inst_2) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LocalRing.ResidueField.{u1} R _inst_1 _inst_2) => LocalRing.ResidueField.{u2} S _inst_3 _inst_4) a) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (RingHom.{u1, u2} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.field.{u2} S _inst_3 _inst_4)))))) (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (NonUnitalNonAssocSemiring.toMul.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))))) (NonUnitalNonAssocSemiring.toMul.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.field.{u2} S _inst_3 _inst_4))))))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.field.{u2} S _inst_3 _inst_4)))))) (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2)))))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.field.{u2} S _inst_3 _inst_4)))))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.field.{u2} S _inst_3 _inst_4)))))) (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.field.{u2} S _inst_3 _inst_4))))) (RingHom.instRingHomClassRingHom.{u1, u2} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.field.{u2} S _inst_3 _inst_4))))))))) (LocalRing.ResidueField.map.{u1, u2} R S _inst_1 _inst_2 _inst_3 _inst_4 f _inst_7) x)) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (RingHom.{u2, u3} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.field.{u2} S _inst_3 _inst_4))))) (Semiring.toNonAssocSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (DivisionSemiring.toSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Semifield.toDivisionSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Field.toSemifield.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (LocalRing.ResidueField.field.{u3} T _inst_5 _inst_6)))))) (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (fun (_x : LocalRing.ResidueField.{u2} S _inst_3 _inst_4) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LocalRing.ResidueField.{u2} S _inst_3 _inst_4) => LocalRing.ResidueField.{u3} T _inst_5 _inst_6) _x) (MulHomClass.toFunLike.{max u2 u3, u2, u3} (RingHom.{u2, u3} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.field.{u2} S _inst_3 _inst_4))))) (Semiring.toNonAssocSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (DivisionSemiring.toSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Semifield.toDivisionSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Field.toSemifield.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (LocalRing.ResidueField.field.{u3} T _inst_5 _inst_6)))))) (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (NonUnitalNonAssocSemiring.toMul.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.field.{u2} S _inst_3 _inst_4))))))) (NonUnitalNonAssocSemiring.toMul.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Semiring.toNonAssocSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (DivisionSemiring.toSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Semifield.toDivisionSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Field.toSemifield.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (LocalRing.ResidueField.field.{u3} T _inst_5 _inst_6))))))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.field.{u2} S _inst_3 _inst_4))))) (Semiring.toNonAssocSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (DivisionSemiring.toSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Semifield.toDivisionSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Field.toSemifield.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (LocalRing.ResidueField.field.{u3} T _inst_5 _inst_6)))))) (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.field.{u2} S _inst_3 _inst_4)))))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Semiring.toNonAssocSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (DivisionSemiring.toSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Semifield.toDivisionSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Field.toSemifield.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (LocalRing.ResidueField.field.{u3} T _inst_5 _inst_6)))))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.field.{u2} S _inst_3 _inst_4))))) (Semiring.toNonAssocSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (DivisionSemiring.toSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Semifield.toDivisionSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Field.toSemifield.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (LocalRing.ResidueField.field.{u3} T _inst_5 _inst_6)))))) (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.field.{u2} S _inst_3 _inst_4))))) (Semiring.toNonAssocSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (DivisionSemiring.toSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Semifield.toDivisionSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Field.toSemifield.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (LocalRing.ResidueField.field.{u3} T _inst_5 _inst_6))))) (RingHom.instRingHomClassRingHom.{u2, u3} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.field.{u2} S _inst_3 _inst_4))))) (Semiring.toNonAssocSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (DivisionSemiring.toSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Semifield.toDivisionSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Field.toSemifield.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (LocalRing.ResidueField.field.{u3} T _inst_5 _inst_6))))))))) (LocalRing.ResidueField.map.{u2, u3} S T _inst_3 _inst_4 _inst_5 _inst_6 g _inst_8) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (RingHom.{u1, u2} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.field.{u2} S _inst_3 _inst_4)))))) (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (fun (_x : LocalRing.ResidueField.{u1} R _inst_1 _inst_2) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LocalRing.ResidueField.{u1} R _inst_1 _inst_2) => LocalRing.ResidueField.{u2} S _inst_3 _inst_4) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (RingHom.{u1, u2} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.field.{u2} S _inst_3 _inst_4)))))) (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (NonUnitalNonAssocSemiring.toMul.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))))) (NonUnitalNonAssocSemiring.toMul.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.field.{u2} S _inst_3 _inst_4))))))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.field.{u2} S _inst_3 _inst_4)))))) (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2)))))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.field.{u2} S _inst_3 _inst_4)))))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.field.{u2} S _inst_3 _inst_4)))))) (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.field.{u2} S _inst_3 _inst_4))))) (RingHom.instRingHomClassRingHom.{u1, u2} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.field.{u2} S _inst_3 _inst_4))))))))) (LocalRing.ResidueField.map.{u1, u2} R S _inst_1 _inst_2 _inst_3 _inst_4 f _inst_7) x)) (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (RingHom.{u1, u3} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))) (Semiring.toNonAssocSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (DivisionSemiring.toSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Semifield.toDivisionSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Field.toSemifield.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (LocalRing.ResidueField.field.{u3} T _inst_5 _inst_6)))))) (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (fun (_x : LocalRing.ResidueField.{u1} R _inst_1 _inst_2) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : LocalRing.ResidueField.{u1} R _inst_1 _inst_2) => LocalRing.ResidueField.{u3} T _inst_5 _inst_6) _x) (MulHomClass.toFunLike.{max u1 u3, u1, u3} (RingHom.{u1, u3} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))) (Semiring.toNonAssocSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (DivisionSemiring.toSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Semifield.toDivisionSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Field.toSemifield.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (LocalRing.ResidueField.field.{u3} T _inst_5 _inst_6)))))) (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (NonUnitalNonAssocSemiring.toMul.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))))) (NonUnitalNonAssocSemiring.toMul.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Semiring.toNonAssocSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (DivisionSemiring.toSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Semifield.toDivisionSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Field.toSemifield.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (LocalRing.ResidueField.field.{u3} T _inst_5 _inst_6))))))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u3, u1, u3} (RingHom.{u1, u3} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))) (Semiring.toNonAssocSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (DivisionSemiring.toSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Semifield.toDivisionSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Field.toSemifield.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (LocalRing.ResidueField.field.{u3} T _inst_5 _inst_6)))))) (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2)))))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Semiring.toNonAssocSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (DivisionSemiring.toSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Semifield.toDivisionSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Field.toSemifield.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (LocalRing.ResidueField.field.{u3} T _inst_5 _inst_6)))))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u3, u1, u3} (RingHom.{u1, u3} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))) (Semiring.toNonAssocSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (DivisionSemiring.toSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Semifield.toDivisionSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Field.toSemifield.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (LocalRing.ResidueField.field.{u3} T _inst_5 _inst_6)))))) (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))) (Semiring.toNonAssocSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (DivisionSemiring.toSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Semifield.toDivisionSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Field.toSemifield.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (LocalRing.ResidueField.field.{u3} T _inst_5 _inst_6))))) (RingHom.instRingHomClassRingHom.{u1, u3} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))) (Semiring.toNonAssocSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (DivisionSemiring.toSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Semifield.toDivisionSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Field.toSemifield.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (LocalRing.ResidueField.field.{u3} T _inst_5 _inst_6))))))))) (LocalRing.ResidueField.map.{u1, u3} R T _inst_1 _inst_2 _inst_5 _inst_6 (RingHom.comp.{u1, u2, u3} R S T (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_3))) (Semiring.toNonAssocSemiring.{u3} T (CommSemiring.toSemiring.{u3} T (CommRing.toCommSemiring.{u3} T _inst_5))) g f) (isLocalRingHom_comp.{u1, u2, u3} R S T (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_3)) (CommSemiring.toSemiring.{u3} T (CommRing.toCommSemiring.{u3} T _inst_5)) g f _inst_8 _inst_7)) x)
 Case conversion may be inaccurate. Consider using '#align local_ring.residue_field.map_map LocalRing.ResidueField.map_mapₓ'. -/
 @[simp]
 theorem map_map (f : R →+* S) (g : S →+* T) (x : ResidueField R) [IsLocalRingHom f]
@@ -727,7 +727,7 @@ instance : MulSemiringAction G (LocalRing.ResidueField R) :=
 lean 3 declaration is
   forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] [_inst_2 : LocalRing.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))] (G : Type.{u2}) [_inst_7 : Group.{u2} G] [_inst_8 : MulSemiringAction.{u2, u1} G R (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_7)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))] (g : G) (r : R), Eq.{succ u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (coeFn.{succ u1, succ u1} (RingHom.{u1, u1} R (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.ring.{u1} R _inst_1 _inst_2)))) (fun (_x : RingHom.{u1, u1} R (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.ring.{u1} R _inst_1 _inst_2)))) => R -> (LocalRing.ResidueField.{u1} R _inst_1 _inst_2)) (RingHom.hasCoeToFun.{u1, u1} R (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.ring.{u1} R _inst_1 _inst_2)))) (LocalRing.residue.{u1} R _inst_1 _inst_2) (SMul.smul.{u2, u1} G R (SMulZeroClass.toHasSmul.{u2, u1} G R (AddZeroClass.toHasZero.{u1} R (AddMonoid.toAddZeroClass.{u1} R (AddMonoidWithOne.toAddMonoid.{u1} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} R (NonAssocSemiring.toAddCommMonoidWithOne.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))))) (DistribSMul.toSmulZeroClass.{u2, u1} G R (AddMonoid.toAddZeroClass.{u1} R (AddMonoidWithOne.toAddMonoid.{u1} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} R (NonAssocSemiring.toAddCommMonoidWithOne.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) (DistribMulAction.toDistribSMul.{u2, u1} G R (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_7)) (AddMonoidWithOne.toAddMonoid.{u1} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} R (NonAssocSemiring.toAddCommMonoidWithOne.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (MulSemiringAction.toDistribMulAction.{u2, u1} G R (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_7)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_8)))) g r)) (SMul.smul.{u2, u1} G (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (SMulZeroClass.toHasSmul.{u2, u1} G (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (AddZeroClass.toHasZero.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (AddMonoid.toAddZeroClass.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (AddMonoidWithOne.toAddMonoid.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonAssocSemiring.toAddCommMonoidWithOne.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.ring.{u1} R _inst_1 _inst_2)))))))) (DistribSMul.toSmulZeroClass.{u2, u1} G (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (AddMonoid.toAddZeroClass.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (AddMonoidWithOne.toAddMonoid.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonAssocSemiring.toAddCommMonoidWithOne.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.ring.{u1} R _inst_1 _inst_2))))))) (DistribMulAction.toDistribSMul.{u2, u1} G (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_7)) (AddMonoidWithOne.toAddMonoid.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonAssocSemiring.toAddCommMonoidWithOne.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.ring.{u1} R _inst_1 _inst_2)))))) (MulSemiringAction.toDistribMulAction.{u2, u1} G (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_7)) (Ring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.ring.{u1} R _inst_1 _inst_2)) (LocalRing.ResidueField.mulSemiringAction.{u1, u2} R _inst_1 _inst_2 G _inst_7 _inst_8))))) g (coeFn.{succ u1, succ u1} (RingHom.{u1, u1} R (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.ring.{u1} R _inst_1 _inst_2)))) (fun (_x : RingHom.{u1, u1} R (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.ring.{u1} R _inst_1 _inst_2)))) => R -> (LocalRing.ResidueField.{u1} R _inst_1 _inst_2)) (RingHom.hasCoeToFun.{u1, u1} R (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.ring.{u1} R _inst_1 _inst_2)))) (LocalRing.residue.{u1} R _inst_1 _inst_2) r))
 but is expected to have type
-  forall {R : Type.{u2}} [_inst_1 : CommRing.{u2} R] [_inst_2 : LocalRing.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))] (G : Type.{u1}) [_inst_7 : Group.{u1} G] [_inst_8 : MulSemiringAction.{u1, u2} G R (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_7)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))] (g : G) (r : R), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (HSMul.hSMul.{u1, u2, u2} G R R (instHSMul.{u1, u2} G R (SMulZeroClass.toSMul.{u1, u2} G R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (DistribSMul.toSMulZeroClass.{u1, u2} G R (AddMonoid.toAddZeroClass.{u2} R (AddMonoidWithOne.toAddMonoid.{u2} R (AddGroupWithOne.toAddMonoidWithOne.{u2} R (Ring.toAddGroupWithOne.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (DistribMulAction.toDistribSMul.{u1, u2} G R (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_7)) (AddMonoidWithOne.toAddMonoid.{u2} R (AddGroupWithOne.toAddMonoidWithOne.{u2} R (Ring.toAddGroupWithOne.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (MulSemiringAction.toDistribMulAction.{u1, u2} G R (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_7)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) _inst_8))))) g r)) (FunLike.coe.{succ u2, succ u2, succ u2} (RingHom.{u2, u2} R (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u2} R _inst_1 _inst_2)))))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => LocalRing.ResidueField.{u2} R _inst_1 _inst_2) _x) (MulHomClass.toFunLike.{u2, u2, u2} (RingHom.{u2, u2} R (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u2} R _inst_1 _inst_2)))))) R (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (NonUnitalNonAssocSemiring.toMul.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u2} R _inst_1 _inst_2))))))) (NonUnitalRingHomClass.toMulHomClass.{u2, u2, u2} (RingHom.{u2, u2} R (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u2} R _inst_1 _inst_2)))))) R (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u2} R _inst_1 _inst_2)))))) (RingHomClass.toNonUnitalRingHomClass.{u2, u2, u2} (RingHom.{u2, u2} R (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u2} R _inst_1 _inst_2)))))) R (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u2} R _inst_1 _inst_2))))) (RingHom.instRingHomClassRingHom.{u2, u2} R (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u2} R _inst_1 _inst_2))))))))) (LocalRing.residue.{u2} R _inst_1 _inst_2) (HSMul.hSMul.{u1, u2, u2} G R R (instHSMul.{u1, u2} G R (SMulZeroClass.toSMul.{u1, u2} G R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (DistribSMul.toSMulZeroClass.{u1, u2} G R (AddMonoid.toAddZeroClass.{u2} R (AddMonoidWithOne.toAddMonoid.{u2} R (AddGroupWithOne.toAddMonoidWithOne.{u2} R (Ring.toAddGroupWithOne.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (DistribMulAction.toDistribSMul.{u1, u2} G R (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_7)) (AddMonoidWithOne.toAddMonoid.{u2} R (AddGroupWithOne.toAddMonoidWithOne.{u2} R (Ring.toAddGroupWithOne.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (MulSemiringAction.toDistribMulAction.{u1, u2} G R (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_7)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) _inst_8))))) g r)) (HSMul.hSMul.{u1, u2, u2} G ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => LocalRing.ResidueField.{u2} R _inst_1 _inst_2) r) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => LocalRing.ResidueField.{u2} R _inst_1 _inst_2) r) (instHSMul.{u1, u2} G ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => LocalRing.ResidueField.{u2} R _inst_1 _inst_2) r) (SMulZeroClass.toSMul.{u1, u2} G ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => LocalRing.ResidueField.{u2} R _inst_1 _inst_2) r) (CommMonoidWithZero.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => LocalRing.ResidueField.{u2} R _inst_1 _inst_2) r) (CommGroupWithZero.toCommMonoidWithZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => LocalRing.ResidueField.{u2} R _inst_1 _inst_2) r) (Semifield.toCommGroupWithZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => LocalRing.ResidueField.{u2} R _inst_1 _inst_2) r) (Field.toSemifield.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => LocalRing.ResidueField.{u2} R _inst_1 _inst_2) r) (LocalRing.ResidueField.field.{u2} R _inst_1 _inst_2))))) (DistribSMul.toSMulZeroClass.{u1, u2} G ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => LocalRing.ResidueField.{u2} R _inst_1 _inst_2) r) (AddMonoid.toAddZeroClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => LocalRing.ResidueField.{u2} R _inst_1 _inst_2) r) (AddMonoidWithOne.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => LocalRing.ResidueField.{u2} R _inst_1 _inst_2) r) (AddGroupWithOne.toAddMonoidWithOne.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => LocalRing.ResidueField.{u2} R _inst_1 _inst_2) r) (Ring.toAddGroupWithOne.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => LocalRing.ResidueField.{u2} R _inst_1 _inst_2) r) (DivisionRing.toRing.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => LocalRing.ResidueField.{u2} R _inst_1 _inst_2) r) (Field.toDivisionRing.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => LocalRing.ResidueField.{u2} R _inst_1 _inst_2) r) (LocalRing.ResidueField.field.{u2} R _inst_1 _inst_2))))))) (DistribMulAction.toDistribSMul.{u1, u2} G ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => LocalRing.ResidueField.{u2} R _inst_1 _inst_2) r) (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_7)) (AddMonoidWithOne.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => LocalRing.ResidueField.{u2} R _inst_1 _inst_2) r) (AddGroupWithOne.toAddMonoidWithOne.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => LocalRing.ResidueField.{u2} R _inst_1 _inst_2) r) (Ring.toAddGroupWithOne.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => LocalRing.ResidueField.{u2} R _inst_1 _inst_2) r) (DivisionRing.toRing.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => LocalRing.ResidueField.{u2} R _inst_1 _inst_2) r) (Field.toDivisionRing.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => LocalRing.ResidueField.{u2} R _inst_1 _inst_2) r) (LocalRing.ResidueField.field.{u2} R _inst_1 _inst_2)))))) (MulSemiringAction.toDistribMulAction.{u1, u2} G ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => LocalRing.ResidueField.{u2} R _inst_1 _inst_2) r) (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_7)) (Ring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => LocalRing.ResidueField.{u2} R _inst_1 _inst_2) r) (DivisionRing.toRing.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => LocalRing.ResidueField.{u2} R _inst_1 _inst_2) r) (Field.toDivisionRing.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => LocalRing.ResidueField.{u2} R _inst_1 _inst_2) r) (LocalRing.ResidueField.field.{u2} R _inst_1 _inst_2)))) (LocalRing.ResidueField.instMulSemiringActionResidueFieldToMonoidToDivInvMonoidToSemiringToDivisionSemiringToSemifieldField.{u2, u1} R _inst_1 _inst_2 G _inst_7 _inst_8)))))) g (FunLike.coe.{succ u2, succ u2, succ u2} (RingHom.{u2, u2} R (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u2} R _inst_1 _inst_2)))))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => LocalRing.ResidueField.{u2} R _inst_1 _inst_2) _x) (MulHomClass.toFunLike.{u2, u2, u2} (RingHom.{u2, u2} R (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u2} R _inst_1 _inst_2)))))) R (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (NonUnitalNonAssocSemiring.toMul.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u2} R _inst_1 _inst_2))))))) (NonUnitalRingHomClass.toMulHomClass.{u2, u2, u2} (RingHom.{u2, u2} R (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u2} R _inst_1 _inst_2)))))) R (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u2} R _inst_1 _inst_2)))))) (RingHomClass.toNonUnitalRingHomClass.{u2, u2, u2} (RingHom.{u2, u2} R (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u2} R _inst_1 _inst_2)))))) R (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u2} R _inst_1 _inst_2))))) (RingHom.instRingHomClassRingHom.{u2, u2} R (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u2} R _inst_1 _inst_2))))))))) (LocalRing.residue.{u2} R _inst_1 _inst_2) r))
+  forall {R : Type.{u2}} [_inst_1 : CommRing.{u2} R] [_inst_2 : LocalRing.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))] (G : Type.{u1}) [_inst_7 : Group.{u1} G] [_inst_8 : MulSemiringAction.{u1, u2} G R (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_7)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))] (g : G) (r : R), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (HSMul.hSMul.{u1, u2, u2} G R R (instHSMul.{u1, u2} G R (SMulZeroClass.toSMul.{u1, u2} G R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (DistribSMul.toSMulZeroClass.{u1, u2} G R (AddMonoid.toAddZeroClass.{u2} R (AddMonoidWithOne.toAddMonoid.{u2} R (AddGroupWithOne.toAddMonoidWithOne.{u2} R (Ring.toAddGroupWithOne.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (DistribMulAction.toDistribSMul.{u1, u2} G R (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_7)) (AddMonoidWithOne.toAddMonoid.{u2} R (AddGroupWithOne.toAddMonoidWithOne.{u2} R (Ring.toAddGroupWithOne.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (MulSemiringAction.toDistribMulAction.{u1, u2} G R (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_7)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) _inst_8))))) g r)) (FunLike.coe.{succ u2, succ u2, succ u2} (RingHom.{u2, u2} R (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u2} R _inst_1 _inst_2)))))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => LocalRing.ResidueField.{u2} R _inst_1 _inst_2) _x) (MulHomClass.toFunLike.{u2, u2, u2} (RingHom.{u2, u2} R (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u2} R _inst_1 _inst_2)))))) R (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (NonUnitalNonAssocSemiring.toMul.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u2} R _inst_1 _inst_2))))))) (NonUnitalRingHomClass.toMulHomClass.{u2, u2, u2} (RingHom.{u2, u2} R (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u2} R _inst_1 _inst_2)))))) R (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u2} R _inst_1 _inst_2)))))) (RingHomClass.toNonUnitalRingHomClass.{u2, u2, u2} (RingHom.{u2, u2} R (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u2} R _inst_1 _inst_2)))))) R (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u2} R _inst_1 _inst_2))))) (RingHom.instRingHomClassRingHom.{u2, u2} R (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u2} R _inst_1 _inst_2))))))))) (LocalRing.residue.{u2} R _inst_1 _inst_2) (HSMul.hSMul.{u1, u2, u2} G R R (instHSMul.{u1, u2} G R (SMulZeroClass.toSMul.{u1, u2} G R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (DistribSMul.toSMulZeroClass.{u1, u2} G R (AddMonoid.toAddZeroClass.{u2} R (AddMonoidWithOne.toAddMonoid.{u2} R (AddGroupWithOne.toAddMonoidWithOne.{u2} R (Ring.toAddGroupWithOne.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (DistribMulAction.toDistribSMul.{u1, u2} G R (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_7)) (AddMonoidWithOne.toAddMonoid.{u2} R (AddGroupWithOne.toAddMonoidWithOne.{u2} R (Ring.toAddGroupWithOne.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (MulSemiringAction.toDistribMulAction.{u1, u2} G R (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_7)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) _inst_8))))) g r)) (HSMul.hSMul.{u1, u2, u2} G ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => LocalRing.ResidueField.{u2} R _inst_1 _inst_2) r) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => LocalRing.ResidueField.{u2} R _inst_1 _inst_2) r) (instHSMul.{u1, u2} G ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => LocalRing.ResidueField.{u2} R _inst_1 _inst_2) r) (SMulZeroClass.toSMul.{u1, u2} G ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => LocalRing.ResidueField.{u2} R _inst_1 _inst_2) r) (CommMonoidWithZero.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => LocalRing.ResidueField.{u2} R _inst_1 _inst_2) r) (CommGroupWithZero.toCommMonoidWithZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => LocalRing.ResidueField.{u2} R _inst_1 _inst_2) r) (Semifield.toCommGroupWithZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => LocalRing.ResidueField.{u2} R _inst_1 _inst_2) r) (Field.toSemifield.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => LocalRing.ResidueField.{u2} R _inst_1 _inst_2) r) (LocalRing.ResidueField.field.{u2} R _inst_1 _inst_2))))) (DistribSMul.toSMulZeroClass.{u1, u2} G ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => LocalRing.ResidueField.{u2} R _inst_1 _inst_2) r) (AddMonoid.toAddZeroClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => LocalRing.ResidueField.{u2} R _inst_1 _inst_2) r) (AddMonoidWithOne.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => LocalRing.ResidueField.{u2} R _inst_1 _inst_2) r) (AddGroupWithOne.toAddMonoidWithOne.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => LocalRing.ResidueField.{u2} R _inst_1 _inst_2) r) (Ring.toAddGroupWithOne.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => LocalRing.ResidueField.{u2} R _inst_1 _inst_2) r) (DivisionRing.toRing.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => LocalRing.ResidueField.{u2} R _inst_1 _inst_2) r) (Field.toDivisionRing.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => LocalRing.ResidueField.{u2} R _inst_1 _inst_2) r) (LocalRing.ResidueField.field.{u2} R _inst_1 _inst_2))))))) (DistribMulAction.toDistribSMul.{u1, u2} G ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => LocalRing.ResidueField.{u2} R _inst_1 _inst_2) r) (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_7)) (AddMonoidWithOne.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => LocalRing.ResidueField.{u2} R _inst_1 _inst_2) r) (AddGroupWithOne.toAddMonoidWithOne.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => LocalRing.ResidueField.{u2} R _inst_1 _inst_2) r) (Ring.toAddGroupWithOne.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => LocalRing.ResidueField.{u2} R _inst_1 _inst_2) r) (DivisionRing.toRing.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => LocalRing.ResidueField.{u2} R _inst_1 _inst_2) r) (Field.toDivisionRing.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => LocalRing.ResidueField.{u2} R _inst_1 _inst_2) r) (LocalRing.ResidueField.field.{u2} R _inst_1 _inst_2)))))) (MulSemiringAction.toDistribMulAction.{u1, u2} G ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => LocalRing.ResidueField.{u2} R _inst_1 _inst_2) r) (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_7)) (Ring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => LocalRing.ResidueField.{u2} R _inst_1 _inst_2) r) (DivisionRing.toRing.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => LocalRing.ResidueField.{u2} R _inst_1 _inst_2) r) (Field.toDivisionRing.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => LocalRing.ResidueField.{u2} R _inst_1 _inst_2) r) (LocalRing.ResidueField.field.{u2} R _inst_1 _inst_2)))) (LocalRing.ResidueField.instMulSemiringActionResidueFieldToMonoidToDivInvMonoidToSemiringToDivisionSemiringToSemifieldField.{u2, u1} R _inst_1 _inst_2 G _inst_7 _inst_8)))))) g (FunLike.coe.{succ u2, succ u2, succ u2} (RingHom.{u2, u2} R (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u2} R _inst_1 _inst_2)))))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => LocalRing.ResidueField.{u2} R _inst_1 _inst_2) _x) (MulHomClass.toFunLike.{u2, u2, u2} (RingHom.{u2, u2} R (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u2} R _inst_1 _inst_2)))))) R (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (NonUnitalNonAssocSemiring.toMul.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u2} R _inst_1 _inst_2))))))) (NonUnitalRingHomClass.toMulHomClass.{u2, u2, u2} (RingHom.{u2, u2} R (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u2} R _inst_1 _inst_2)))))) R (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u2} R _inst_1 _inst_2)))))) (RingHomClass.toNonUnitalRingHomClass.{u2, u2, u2} (RingHom.{u2, u2} R (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u2} R _inst_1 _inst_2)))))) R (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u2} R _inst_1 _inst_2))))) (RingHom.instRingHomClassRingHom.{u2, u2} R (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u2} R _inst_1 _inst_2))))))))) (LocalRing.residue.{u2} R _inst_1 _inst_2) r))
 Case conversion may be inaccurate. Consider using '#align local_ring.residue_field.residue_smul LocalRing.ResidueField.residue_smulₓ'. -/
 @[simp]
 theorem residue_smul (g : G) (r : R) : residue R (g • r) = g • residue R r :=
@@ -742,7 +742,7 @@ end ResidueField
 lean 3 declaration is
   forall {R : Type.{u1}} {K : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : LocalRing.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))] [_inst_7 : Field.{u2} K] (φ : RingHom.{u1, u2} R K (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} K (Ring.toNonAssocRing.{u2} K (DivisionRing.toRing.{u2} K (Field.toDivisionRing.{u2} K _inst_7))))), (Function.Surjective.{succ u1, succ u2} R K (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R K (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} K (Ring.toNonAssocRing.{u2} K (DivisionRing.toRing.{u2} K (Field.toDivisionRing.{u2} K _inst_7))))) (fun (_x : RingHom.{u1, u2} R K (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} K (Ring.toNonAssocRing.{u2} K (DivisionRing.toRing.{u2} K (Field.toDivisionRing.{u2} K _inst_7))))) => R -> K) (RingHom.hasCoeToFun.{u1, u2} R K (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} K (Ring.toNonAssocRing.{u2} K (DivisionRing.toRing.{u2} K (Field.toDivisionRing.{u2} K _inst_7))))) φ)) -> (Eq.{succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHom.ker.{u1, u2, max u1 u2} R K (RingHom.{u1, u2} R K (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} K (Ring.toNonAssocRing.{u2} K (DivisionRing.toRing.{u2} K (Field.toDivisionRing.{u2} K _inst_7))))) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u2} K (DivisionRing.toRing.{u2} K (Field.toDivisionRing.{u2} K _inst_7))) (RingHom.ringHomClass.{u1, u2} R K (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} K (Ring.toNonAssocRing.{u2} K (DivisionRing.toRing.{u2} K (Field.toDivisionRing.{u2} K _inst_7))))) φ) (LocalRing.maximalIdeal.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1) _inst_2))
 but is expected to have type
-  forall {R : Type.{u1}} {K : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : LocalRing.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))] [_inst_7 : Field.{u2} K] (φ : RingHom.{u1, u2} R K (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (Semifield.toDivisionSemiring.{u2} K (Field.toSemifield.{u2} K _inst_7))))), (Function.Surjective.{succ u1, succ u2} R K (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (RingHom.{u1, u2} R K (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (Semifield.toDivisionSemiring.{u2} K (Field.toSemifield.{u2} K _inst_7))))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => K) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (RingHom.{u1, u2} R K (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (Semifield.toDivisionSemiring.{u2} K (Field.toSemifield.{u2} K _inst_7))))) R K (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} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} K (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (Semifield.toDivisionSemiring.{u2} K (Field.toSemifield.{u2} K _inst_7)))))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R K (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (Semifield.toDivisionSemiring.{u2} K (Field.toSemifield.{u2} K _inst_7))))) R K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} K (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (Semifield.toDivisionSemiring.{u2} K (Field.toSemifield.{u2} K _inst_7))))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R K (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (Semifield.toDivisionSemiring.{u2} K (Field.toSemifield.{u2} K _inst_7))))) R K (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (Semifield.toDivisionSemiring.{u2} K (Field.toSemifield.{u2} K _inst_7)))) (RingHom.instRingHomClassRingHom.{u1, u2} R K (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (Semifield.toDivisionSemiring.{u2} K (Field.toSemifield.{u2} K _inst_7)))))))) φ)) -> (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHom.ker.{u1, u2, max u1 u2} R K (RingHom.{u1, u2} R K (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (Semifield.toDivisionSemiring.{u2} K (Field.toSemifield.{u2} K _inst_7))))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (DivisionSemiring.toSemiring.{u2} K (Semifield.toDivisionSemiring.{u2} K (Field.toSemifield.{u2} K _inst_7))) (RingHom.instRingHomClassRingHom.{u1, u2} R K (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (Semifield.toDivisionSemiring.{u2} K (Field.toSemifield.{u2} K _inst_7))))) φ) (LocalRing.maximalIdeal.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1) _inst_2))
+  forall {R : Type.{u1}} {K : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : LocalRing.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))] [_inst_7 : Field.{u2} K] (φ : RingHom.{u1, u2} R K (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (Semifield.toDivisionSemiring.{u2} K (Field.toSemifield.{u2} K _inst_7))))), (Function.Surjective.{succ u1, succ u2} R K (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (RingHom.{u1, u2} R K (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (Semifield.toDivisionSemiring.{u2} K (Field.toSemifield.{u2} K _inst_7))))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => K) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (RingHom.{u1, u2} R K (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (Semifield.toDivisionSemiring.{u2} K (Field.toSemifield.{u2} K _inst_7))))) R K (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} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} K (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (Semifield.toDivisionSemiring.{u2} K (Field.toSemifield.{u2} K _inst_7)))))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R K (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (Semifield.toDivisionSemiring.{u2} K (Field.toSemifield.{u2} K _inst_7))))) R K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} K (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (Semifield.toDivisionSemiring.{u2} K (Field.toSemifield.{u2} K _inst_7))))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R K (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (Semifield.toDivisionSemiring.{u2} K (Field.toSemifield.{u2} K _inst_7))))) R K (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (Semifield.toDivisionSemiring.{u2} K (Field.toSemifield.{u2} K _inst_7)))) (RingHom.instRingHomClassRingHom.{u1, u2} R K (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (Semifield.toDivisionSemiring.{u2} K (Field.toSemifield.{u2} K _inst_7)))))))) φ)) -> (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHom.ker.{u1, u2, max u1 u2} R K (RingHom.{u1, u2} R K (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (Semifield.toDivisionSemiring.{u2} K (Field.toSemifield.{u2} K _inst_7))))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (DivisionSemiring.toSemiring.{u2} K (Semifield.toDivisionSemiring.{u2} K (Field.toSemifield.{u2} K _inst_7))) (RingHom.instRingHomClassRingHom.{u1, u2} R K (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (Semifield.toDivisionSemiring.{u2} K (Field.toSemifield.{u2} K _inst_7))))) φ) (LocalRing.maximalIdeal.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1) _inst_2))
 Case conversion may be inaccurate. Consider using '#align local_ring.ker_eq_maximal_ideal LocalRing.ker_eq_maximalIdealₓ'. -/
 theorem ker_eq_maximalIdeal [Field K] (φ : R →+* K) (hφ : Function.Surjective φ) :
     φ.ker = maximalIdeal R :=
Diff
@@ -38,12 +38,14 @@ universe u v w u'
 
 variable {R : Type u} {S : Type v} {T : Type w} {K : Type u'}
 
+#print LocalRing /-
 /-- A semiring is local if it is nontrivial and `a` or `b` is a unit whenever `a + b = 1`.
 Note that `local_ring` is a predicate. -/
 class LocalRing (R : Type u) [Semiring R] extends Nontrivial R : Prop where
   of_is_unit_or_is_unit_of_add_one ::
   isUnit_or_isUnit_of_add_one {a b : R} (h : a + b = 1) : IsUnit a ∨ IsUnit b
 #align local_ring LocalRing
+-/
 
 section CommSemiring
 
@@ -51,17 +53,30 @@ variable [CommSemiring R]
 
 namespace LocalRing
 
+/- warning: local_ring.of_is_unit_or_is_unit_of_is_unit_add -> LocalRing.of_isUnit_or_isUnit_of_isUnit_add is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Nontrivial.{u1} R], (forall (a : R) (b : R), (IsUnit.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (HAdd.hAdd.{u1, u1, u1} R R R (instHAdd.{u1} R (Distrib.toHasAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) a b)) -> (Or (IsUnit.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) a) (IsUnit.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) b))) -> (LocalRing.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))
+but is expected to have type
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Nontrivial.{u1} R], (forall (a : R) (b : R), (IsUnit.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (HAdd.hAdd.{u1, u1, u1} R R R (instHAdd.{u1} R (Distrib.toAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) a b)) -> (Or (IsUnit.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) a) (IsUnit.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) b))) -> (LocalRing.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))
+Case conversion may be inaccurate. Consider using '#align local_ring.of_is_unit_or_is_unit_of_is_unit_add LocalRing.of_isUnit_or_isUnit_of_isUnit_addₓ'. -/
 theorem of_isUnit_or_isUnit_of_isUnit_add [Nontrivial R]
     (h : ∀ a b : R, IsUnit (a + b) → IsUnit a ∨ IsUnit b) : LocalRing R :=
   ⟨fun a b hab => h a b <| hab.symm ▸ isUnit_one⟩
 #align local_ring.of_is_unit_or_is_unit_of_is_unit_add LocalRing.of_isUnit_or_isUnit_of_isUnit_add
 
+/- warning: local_ring.of_nonunits_add -> LocalRing.of_nonunits_add is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Nontrivial.{u1} R], (forall (a : R) (b : R), (Membership.Mem.{u1, u1} R (Set.{u1} R) (Set.hasMem.{u1} R) a (nonunits.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) -> (Membership.Mem.{u1, u1} R (Set.{u1} R) (Set.hasMem.{u1} R) b (nonunits.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) -> (Membership.Mem.{u1, u1} R (Set.{u1} R) (Set.hasMem.{u1} R) (HAdd.hAdd.{u1, u1, u1} R R R (instHAdd.{u1} R (Distrib.toHasAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) a b) (nonunits.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) -> (LocalRing.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))
+but is expected to have type
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Nontrivial.{u1} R], (forall (a : R) (b : R), (Membership.mem.{u1, u1} R (Set.{u1} R) (Set.instMembershipSet.{u1} R) a (nonunits.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) -> (Membership.mem.{u1, u1} R (Set.{u1} R) (Set.instMembershipSet.{u1} R) b (nonunits.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) -> (Membership.mem.{u1, u1} R (Set.{u1} R) (Set.instMembershipSet.{u1} R) (HAdd.hAdd.{u1, u1, u1} R R R (instHAdd.{u1} R (Distrib.toAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) a b) (nonunits.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) -> (LocalRing.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))
+Case conversion may be inaccurate. Consider using '#align local_ring.of_nonunits_add LocalRing.of_nonunits_addₓ'. -/
 /-- A semiring is local if it is nontrivial and the set of nonunits is closed under the addition. -/
 theorem of_nonunits_add [Nontrivial R]
     (h : ∀ a b : R, a ∈ nonunits R → b ∈ nonunits R → a + b ∈ nonunits R) : LocalRing R :=
   ⟨fun a b hab => or_iff_not_and_not.2 fun H => h a b H.1 H.2 <| hab.symm ▸ isUnit_one⟩
 #align local_ring.of_nonunits_add LocalRing.of_nonunits_add
 
+#print LocalRing.of_unique_max_ideal /-
 /-- A semiring is local if it has a unique maximal ideal. -/
 theorem of_unique_max_ideal (h : ∃! I : Ideal R, I.IsMaximal) : LocalRing R :=
   @of_nonunits_add _ _
@@ -76,7 +91,14 @@ theorem of_unique_max_ideal (h : ∃! I : Ideal R, I.IsMaximal) : LocalRing R :=
     have ymemI : y ∈ I := Iuniq Iy Iymax ▸ Hy
     Imax.1.1 <| I.eq_top_of_isUnit_mem (I.add_mem xmemI ymemI) H
 #align local_ring.of_unique_max_ideal LocalRing.of_unique_max_ideal
+-/
 
+/- warning: local_ring.of_unique_nonzero_prime -> LocalRing.of_unique_nonzero_prime is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R], (ExistsUnique.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (fun (P : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) => And (Ne.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) P (Bot.bot.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.hasBot.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Ideal.IsPrime.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) P))) -> (LocalRing.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))
+but is expected to have type
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R], (ExistsUnique.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (fun (P : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) => And (Ne.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) P (Bot.bot.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.instBotSubmodule.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Ideal.IsPrime.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) P))) -> (LocalRing.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))
+Case conversion may be inaccurate. Consider using '#align local_ring.of_unique_nonzero_prime LocalRing.of_unique_nonzero_primeₓ'. -/
 theorem of_unique_nonzero_prime (h : ∃! P : Ideal R, P ≠ ⊥ ∧ Ideal.IsPrime P) : LocalRing R :=
   of_unique_max_ideal
     (by
@@ -90,6 +112,12 @@ theorem of_unique_nonzero_prime (h : ∃! P : Ideal R, P ≠ ⊥ ∧ Ideal.IsPri
 
 variable [LocalRing R]
 
+/- warning: local_ring.is_unit_or_is_unit_of_is_unit_add -> LocalRing.isUnit_or_isUnit_of_isUnit_add is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : LocalRing.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)] {a : R} {b : R}, (IsUnit.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (HAdd.hAdd.{u1, u1, u1} R R R (instHAdd.{u1} R (Distrib.toHasAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) a b)) -> (Or (IsUnit.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) a) (IsUnit.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) b))
+but is expected to have type
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : LocalRing.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)] {a : R} {b : R}, (IsUnit.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (HAdd.hAdd.{u1, u1, u1} R R R (instHAdd.{u1} R (Distrib.toAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) a b)) -> (Or (IsUnit.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) a) (IsUnit.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) b))
+Case conversion may be inaccurate. Consider using '#align local_ring.is_unit_or_is_unit_of_is_unit_add LocalRing.isUnit_or_isUnit_of_isUnit_addₓ'. -/
 theorem isUnit_or_isUnit_of_isUnit_add {a b : R} (h : IsUnit (a + b)) : IsUnit a ∨ IsUnit b :=
   by
   rcases h with ⟨u, hu⟩
@@ -97,12 +125,19 @@ theorem isUnit_or_isUnit_of_isUnit_add {a b : R} (h : IsUnit (a + b)) : IsUnit a
   apply Or.imp _ _ (is_unit_or_is_unit_of_add_one hu) <;> exact isUnit_of_mul_isUnit_right
 #align local_ring.is_unit_or_is_unit_of_is_unit_add LocalRing.isUnit_or_isUnit_of_isUnit_add
 
+/- warning: local_ring.nonunits_add -> LocalRing.nonunits_add is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : LocalRing.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)] {a : R} {b : R}, (Membership.Mem.{u1, u1} R (Set.{u1} R) (Set.hasMem.{u1} R) a (nonunits.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) -> (Membership.Mem.{u1, u1} R (Set.{u1} R) (Set.hasMem.{u1} R) b (nonunits.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) -> (Membership.Mem.{u1, u1} R (Set.{u1} R) (Set.hasMem.{u1} R) (HAdd.hAdd.{u1, u1, u1} R R R (instHAdd.{u1} R (Distrib.toHasAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) a b) (nonunits.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))
+but is expected to have type
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : LocalRing.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)] {a : R} {b : R}, (Membership.mem.{u1, u1} R (Set.{u1} R) (Set.instMembershipSet.{u1} R) a (nonunits.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) -> (Membership.mem.{u1, u1} R (Set.{u1} R) (Set.instMembershipSet.{u1} R) b (nonunits.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) -> (Membership.mem.{u1, u1} R (Set.{u1} R) (Set.instMembershipSet.{u1} R) (HAdd.hAdd.{u1, u1, u1} R R R (instHAdd.{u1} R (Distrib.toAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) a b) (nonunits.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))
+Case conversion may be inaccurate. Consider using '#align local_ring.nonunits_add LocalRing.nonunits_addₓ'. -/
 theorem nonunits_add {a b : R} (ha : a ∈ nonunits R) (hb : b ∈ nonunits R) : a + b ∈ nonunits R :=
   fun H => not_or_of_not ha hb (isUnit_or_isUnit_of_isUnit_add H)
 #align local_ring.nonunits_add LocalRing.nonunits_add
 
 variable (R)
 
+#print LocalRing.maximalIdeal /-
 /-- The ideal of elements that are not units. -/
 def maximalIdeal : Ideal R where
   carrier := nonunits R
@@ -110,7 +145,9 @@ def maximalIdeal : Ideal R where
   add_mem' x y hx hy := nonunits_add hx hy
   smul_mem' a x := mul_mem_nonunits_right
 #align local_ring.maximal_ideal LocalRing.maximalIdeal
+-/
 
+#print LocalRing.maximalIdeal.isMaximal /-
 instance maximalIdeal.isMaximal : (maximalIdeal R).IsMaximal :=
   by
   rw [Ideal.isMaximal_iff]
@@ -123,29 +160,48 @@ instance maximalIdeal.isMaximal : (maximalIdeal R).IsMaximal :=
     rcases hx with ⟨u, rfl⟩
     simpa using I.mul_mem_left (↑u⁻¹) H
 #align local_ring.maximal_ideal.is_maximal LocalRing.maximalIdeal.isMaximal
+-/
 
+#print LocalRing.maximal_ideal_unique /-
 theorem maximal_ideal_unique : ∃! I : Ideal R, I.IsMaximal :=
   ⟨maximalIdeal R, maximalIdeal.isMaximal R, fun I hI =>
     hI.eq_of_le (maximalIdeal.isMaximal R).1.1 fun x hx => hI.1.1 ∘ I.eq_top_of_isUnit_mem hx⟩
 #align local_ring.maximal_ideal_unique LocalRing.maximal_ideal_unique
+-/
 
 variable {R}
 
+#print LocalRing.eq_maximalIdeal /-
 theorem eq_maximalIdeal {I : Ideal R} (hI : I.IsMaximal) : I = maximalIdeal R :=
   ExistsUnique.unique (maximal_ideal_unique R) hI <| maximalIdeal.isMaximal R
 #align local_ring.eq_maximal_ideal LocalRing.eq_maximalIdeal
+-/
 
+/- warning: local_ring.le_maximal_ideal -> LocalRing.le_maximalIdeal is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : LocalRing.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)] {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)}, (Ne.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) J (Top.top.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.hasTop.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) -> (LE.le.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Preorder.toHasLe.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.completeLattice.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))) J (LocalRing.maximalIdeal.{u1} R _inst_1 _inst_2))
+but is expected to have type
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : LocalRing.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)] {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)}, (Ne.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) J (Top.top.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.instTopSubmodule.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) -> (LE.le.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Preorder.toLE.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.completeLattice.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))) J (LocalRing.maximalIdeal.{u1} R _inst_1 _inst_2))
+Case conversion may be inaccurate. Consider using '#align local_ring.le_maximal_ideal LocalRing.le_maximalIdealₓ'. -/
 theorem le_maximalIdeal {J : Ideal R} (hJ : J ≠ ⊤) : J ≤ maximalIdeal R :=
   by
   rcases Ideal.exists_le_maximal J hJ with ⟨M, hM1, hM2⟩
   rwa [← eq_maximal_ideal hM1]
 #align local_ring.le_maximal_ideal LocalRing.le_maximalIdeal
 
+#print LocalRing.mem_maximalIdeal /-
 @[simp]
 theorem mem_maximalIdeal (x) : x ∈ maximalIdeal R ↔ x ∈ nonunits R :=
   Iff.rfl
 #align local_ring.mem_maximal_ideal LocalRing.mem_maximalIdeal
+-/
 
+/- warning: local_ring.is_field_iff_maximal_ideal_eq -> LocalRing.isField_iff_maximalIdeal_eq is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : LocalRing.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)], Iff (IsField.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (LocalRing.maximalIdeal.{u1} R _inst_1 _inst_2) (Bot.bot.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.hasBot.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))
+but is expected to have type
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : LocalRing.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)], Iff (IsField.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (LocalRing.maximalIdeal.{u1} R _inst_1 _inst_2) (Bot.bot.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.instBotSubmodule.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))
+Case conversion may be inaccurate. Consider using '#align local_ring.is_field_iff_maximal_ideal_eq LocalRing.isField_iff_maximalIdeal_eqₓ'. -/
 theorem isField_iff_maximalIdeal_eq : IsField R ↔ maximalIdeal R = ⊥ :=
   not_iff_not.mp
     ⟨Ring.ne_bot_of_isMaximal_of_not_isField inferInstance, fun h =>
@@ -162,6 +218,12 @@ variable [CommRing R]
 
 namespace LocalRing
 
+/- warning: local_ring.of_is_unit_or_is_unit_one_sub_self -> LocalRing.of_isUnit_or_isUnit_one_sub_self is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] [_inst_2 : Nontrivial.{u1} R], (forall (a : R), Or (IsUnit.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)) a) (IsUnit.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)) (HSub.hSub.{u1, u1, u1} R R R (instHSub.{u1} R (SubNegMonoid.toHasSub.{u1} R (AddGroup.toSubNegMonoid.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) (OfNat.ofNat.{u1} R 1 (OfNat.mk.{u1} R 1 (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddGroupWithOne.toAddMonoidWithOne.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (CommRing.toRing.{u1} R _inst_1)))))))) a))) -> (LocalRing.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))
+but is expected to have type
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] [_inst_2 : Nontrivial.{u1} R], (forall (a : R), Or (IsUnit.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) a) (IsUnit.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (HSub.hSub.{u1, u1, u1} R R R (instHSub.{u1} R (Ring.toSub.{u1} R (CommRing.toRing.{u1} R _inst_1))) (OfNat.ofNat.{u1} R 1 (One.toOfNat1.{u1} R (Semiring.toOne.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) a))) -> (LocalRing.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))
+Case conversion may be inaccurate. Consider using '#align local_ring.of_is_unit_or_is_unit_one_sub_self LocalRing.of_isUnit_or_isUnit_one_sub_selfₓ'. -/
 theorem of_isUnit_or_isUnit_one_sub_self [Nontrivial R] (h : ∀ a : R, IsUnit a ∨ IsUnit (1 - a)) :
     LocalRing R :=
   ⟨fun a b hab => add_sub_cancel' a b ▸ hab.symm ▸ h a⟩
@@ -169,18 +231,42 @@ theorem of_isUnit_or_isUnit_one_sub_self [Nontrivial R] (h : ∀ a : R, IsUnit a
 
 variable [LocalRing R]
 
+/- warning: local_ring.is_unit_or_is_unit_one_sub_self -> LocalRing.isUnit_or_isUnit_one_sub_self is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] [_inst_2 : LocalRing.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))] (a : R), Or (IsUnit.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)) a) (IsUnit.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)) (HSub.hSub.{u1, u1, u1} R R R (instHSub.{u1} R (SubNegMonoid.toHasSub.{u1} R (AddGroup.toSubNegMonoid.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) (OfNat.ofNat.{u1} R 1 (OfNat.mk.{u1} R 1 (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddGroupWithOne.toAddMonoidWithOne.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (CommRing.toRing.{u1} R _inst_1)))))))) a))
+but is expected to have type
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] [_inst_2 : LocalRing.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))] (a : R), Or (IsUnit.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) a) (IsUnit.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (HSub.hSub.{u1, u1, u1} R R R (instHSub.{u1} R (Ring.toSub.{u1} R (CommRing.toRing.{u1} R _inst_1))) (OfNat.ofNat.{u1} R 1 (One.toOfNat1.{u1} R (Semiring.toOne.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) a))
+Case conversion may be inaccurate. Consider using '#align local_ring.is_unit_or_is_unit_one_sub_self LocalRing.isUnit_or_isUnit_one_sub_selfₓ'. -/
 theorem isUnit_or_isUnit_one_sub_self (a : R) : IsUnit a ∨ IsUnit (1 - a) :=
   isUnit_or_isUnit_of_isUnit_add <| (add_sub_cancel'_right a 1).symm ▸ isUnit_one
 #align local_ring.is_unit_or_is_unit_one_sub_self LocalRing.isUnit_or_isUnit_one_sub_self
 
+/- warning: local_ring.is_unit_of_mem_nonunits_one_sub_self -> LocalRing.isUnit_of_mem_nonunits_one_sub_self is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] [_inst_2 : LocalRing.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))] (a : R), (Membership.Mem.{u1, u1} R (Set.{u1} R) (Set.hasMem.{u1} R) (HSub.hSub.{u1, u1, u1} R R R (instHSub.{u1} R (SubNegMonoid.toHasSub.{u1} R (AddGroup.toSubNegMonoid.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) (OfNat.ofNat.{u1} R 1 (OfNat.mk.{u1} R 1 (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddGroupWithOne.toAddMonoidWithOne.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (CommRing.toRing.{u1} R _inst_1)))))))) a) (nonunits.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))) -> (IsUnit.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)) a)
+but is expected to have type
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] [_inst_2 : LocalRing.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))] (a : R), (Membership.mem.{u1, u1} R (Set.{u1} R) (Set.instMembershipSet.{u1} R) (HSub.hSub.{u1, u1, u1} R R R (instHSub.{u1} R (Ring.toSub.{u1} R (CommRing.toRing.{u1} R _inst_1))) (OfNat.ofNat.{u1} R 1 (One.toOfNat1.{u1} R (Semiring.toOne.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) a) (nonunits.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) -> (IsUnit.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) a)
+Case conversion may be inaccurate. Consider using '#align local_ring.is_unit_of_mem_nonunits_one_sub_self LocalRing.isUnit_of_mem_nonunits_one_sub_selfₓ'. -/
 theorem isUnit_of_mem_nonunits_one_sub_self (a : R) (h : 1 - a ∈ nonunits R) : IsUnit a :=
   or_iff_not_imp_right.1 (isUnit_or_isUnit_one_sub_self a) h
 #align local_ring.is_unit_of_mem_nonunits_one_sub_self LocalRing.isUnit_of_mem_nonunits_one_sub_self
 
+/- warning: local_ring.is_unit_one_sub_self_of_mem_nonunits -> LocalRing.isUnit_one_sub_self_of_mem_nonunits is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] [_inst_2 : LocalRing.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))] (a : R), (Membership.Mem.{u1, u1} R (Set.{u1} R) (Set.hasMem.{u1} R) a (nonunits.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)))) -> (IsUnit.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)) (HSub.hSub.{u1, u1, u1} R R R (instHSub.{u1} R (SubNegMonoid.toHasSub.{u1} R (AddGroup.toSubNegMonoid.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) (OfNat.ofNat.{u1} R 1 (OfNat.mk.{u1} R 1 (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddGroupWithOne.toAddMonoidWithOne.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (CommRing.toRing.{u1} R _inst_1)))))))) a))
+but is expected to have type
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] [_inst_2 : LocalRing.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))] (a : R), (Membership.mem.{u1, u1} R (Set.{u1} R) (Set.instMembershipSet.{u1} R) a (nonunits.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) -> (IsUnit.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (HSub.hSub.{u1, u1, u1} R R R (instHSub.{u1} R (Ring.toSub.{u1} R (CommRing.toRing.{u1} R _inst_1))) (OfNat.ofNat.{u1} R 1 (One.toOfNat1.{u1} R (Semiring.toOne.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) a))
+Case conversion may be inaccurate. Consider using '#align local_ring.is_unit_one_sub_self_of_mem_nonunits LocalRing.isUnit_one_sub_self_of_mem_nonunitsₓ'. -/
 theorem isUnit_one_sub_self_of_mem_nonunits (a : R) (h : a ∈ nonunits R) : IsUnit (1 - a) :=
   or_iff_not_imp_left.1 (isUnit_or_isUnit_one_sub_self a) h
 #align local_ring.is_unit_one_sub_self_of_mem_nonunits LocalRing.isUnit_one_sub_self_of_mem_nonunits
 
+/- warning: local_ring.of_surjective' -> LocalRing.of_surjective' is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : LocalRing.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))] [_inst_3 : CommRing.{u2} S] [_inst_4 : Nontrivial.{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_3)))), (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_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 (CommRing.toRing.{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 (CommRing.toRing.{u2} S _inst_3)))) f)) -> (LocalRing.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_3)))
+but is expected to have type
+  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : LocalRing.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))] [_inst_3 : CommRing.{u2} S] [_inst_4 : Nontrivial.{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_3)))), (Function.Surjective.{succ u1, succ u2} R S (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_3)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_3)))) 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_3))))) (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_3)))) 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_3)))) (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_3)))) 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_3))) (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_3))))))) f)) -> (LocalRing.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_3)))
+Case conversion may be inaccurate. Consider using '#align local_ring.of_surjective' LocalRing.of_surjective'ₓ'. -/
 theorem of_surjective' [CommRing S] [Nontrivial S] (f : R →+* S) (hf : Function.Surjective f) :
     LocalRing S :=
   of_isUnit_or_isUnit_one_sub_self
@@ -192,6 +278,12 @@ theorem of_surjective' [CommRing S] [Nontrivial S] (f : R →+* S) (hf : Functio
       apply f.is_unit_map)
 #align local_ring.of_surjective' LocalRing.of_surjective'
 
+/- warning: local_ring.jacobson_eq_maximal_ideal -> LocalRing.jacobson_eq_maximalIdeal is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] [_inst_2 : LocalRing.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))] (I : Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))), (Ne.{succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) I (Top.top.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Submodule.hasTop.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) -> (Eq.{succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.jacobson.{u1} R (CommRing.toRing.{u1} R _inst_1) I) (LocalRing.maximalIdeal.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1) _inst_2))
+but is expected to have type
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] [_inst_2 : LocalRing.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))] (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))), (Ne.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) I (Top.top.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Submodule.instTopSubmodule.{u1, u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) -> (Eq.{succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.jacobson.{u1} R (CommRing.toRing.{u1} R _inst_1) I) (LocalRing.maximalIdeal.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1) _inst_2))
+Case conversion may be inaccurate. Consider using '#align local_ring.jacobson_eq_maximal_ideal LocalRing.jacobson_eq_maximalIdealₓ'. -/
 theorem jacobson_eq_maximalIdeal (I : Ideal R) (h : I ≠ ⊤) :
     I.jacobson = LocalRing.maximalIdeal R :=
   by
@@ -204,48 +296,84 @@ end LocalRing
 
 end CommRing
 
+#print IsLocalRingHom /-
 /-- A local ring homomorphism is a homomorphism `f` between local rings such that `a` in the domain
   is a unit if `f a` is a unit for any `a`. See `local_ring.local_hom_tfae` for other equivalent
   definitions. -/
 class IsLocalRingHom [Semiring R] [Semiring S] (f : R →+* S) : Prop where
   map_nonunit : ∀ a, IsUnit (f a) → IsUnit a
 #align is_local_ring_hom IsLocalRingHom
+-/
 
 section
 
 variable [Semiring R] [Semiring S] [Semiring T]
 
+#print isLocalRingHom_id /-
 instance isLocalRingHom_id (R : Type _) [Semiring R] : IsLocalRingHom (RingHom.id R)
     where map_nonunit a := id
 #align is_local_ring_hom_id isLocalRingHom_id
+-/
 
+/- warning: is_unit_map_iff -> isUnit_map_iff is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] (f : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) [_inst_4 : IsLocalRingHom.{u1, u2} R S _inst_1 _inst_2 f] (a : R), Iff (IsUnit.{u2} S (MonoidWithZero.toMonoid.{u2} S (Semiring.toMonoidWithZero.{u2} S _inst_2)) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (fun (_x : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) => R -> S) (RingHom.hasCoeToFun.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) f a)) (IsUnit.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) a)
+but is expected to have type
+  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] (f : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) [_inst_4 : IsLocalRingHom.{u1, u2} R S _inst_1 _inst_2 f] (a : R), Iff (IsUnit.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) a) (MonoidWithZero.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) a) (Semiring.toMonoidWithZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) a) _inst_2)) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) R S (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2) (RingHom.instRingHomClassRingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2))))) f a)) (IsUnit.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) a)
+Case conversion may be inaccurate. Consider using '#align is_unit_map_iff isUnit_map_iffₓ'. -/
 @[simp]
 theorem isUnit_map_iff (f : R →+* S) [IsLocalRingHom f] (a) : IsUnit (f a) ↔ IsUnit a :=
   ⟨IsLocalRingHom.map_nonunit a, f.isUnit_map⟩
 #align is_unit_map_iff isUnit_map_iff
 
+/- warning: map_mem_nonunits_iff -> map_mem_nonunits_iff is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] (f : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) [_inst_4 : IsLocalRingHom.{u1, u2} R S _inst_1 _inst_2 f] (a : R), Iff (Membership.Mem.{u2, u2} S (Set.{u2} S) (Set.hasMem.{u2} S) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (fun (_x : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) => R -> S) (RingHom.hasCoeToFun.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) f a) (nonunits.{u2} S (MonoidWithZero.toMonoid.{u2} S (Semiring.toMonoidWithZero.{u2} S _inst_2)))) (Membership.Mem.{u1, u1} R (Set.{u1} R) (Set.hasMem.{u1} R) a (nonunits.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))))
+but is expected to have type
+  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] (f : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) [_inst_4 : IsLocalRingHom.{u1, u2} R S _inst_1 _inst_2 f] (a : R), Iff (Membership.mem.{u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) a) (Set.{u2} S) (Set.instMembershipSet.{u2} S) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) R S (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2) (RingHom.instRingHomClassRingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2))))) f a) (nonunits.{u2} S (MonoidWithZero.toMonoid.{u2} S (Semiring.toMonoidWithZero.{u2} S _inst_2)))) (Membership.mem.{u1, u1} R (Set.{u1} R) (Set.instMembershipSet.{u1} R) a (nonunits.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1))))
+Case conversion may be inaccurate. Consider using '#align map_mem_nonunits_iff map_mem_nonunits_iffₓ'. -/
 @[simp]
 theorem map_mem_nonunits_iff (f : R →+* S) [IsLocalRingHom f] (a) :
     f a ∈ nonunits S ↔ a ∈ nonunits R :=
   ⟨fun h ha => h <| (isUnit_map_iff f a).mpr ha, fun h ha => h <| (isUnit_map_iff f a).mp ha⟩
 #align map_mem_nonunits_iff map_mem_nonunits_iff
 
+#print isLocalRingHom_comp /-
 instance isLocalRingHom_comp (g : S →+* T) (f : R →+* S) [IsLocalRingHom g] [IsLocalRingHom f] :
     IsLocalRingHom (g.comp f)
     where map_nonunit a := IsLocalRingHom.map_nonunit a ∘ IsLocalRingHom.map_nonunit (f a)
 #align is_local_ring_hom_comp isLocalRingHom_comp
+-/
 
+/- warning: is_local_ring_hom_equiv -> isLocalRingHom_equiv is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] (f : RingEquiv.{u1, u2} R S (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Distrib.toHasAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Distrib.toHasMul.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)))) (Distrib.toHasAdd.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))))), IsLocalRingHom.{u1, u2} R S _inst_1 _inst_2 ((fun (a : Sort.{max (succ u1) (succ u2)}) (b : Sort.{max (succ u1) (succ u2)}) [self : HasLiftT.{max (succ u1) (succ u2), max (succ u1) (succ u2)} a b] => self.0) (RingEquiv.{u1, u2} R S (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Distrib.toHasAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Distrib.toHasMul.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)))) (Distrib.toHasAdd.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))))) (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (HasLiftT.mk.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingEquiv.{u1, u2} R S (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Distrib.toHasAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Distrib.toHasMul.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)))) (Distrib.toHasAdd.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))))) (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (CoeTCₓ.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingEquiv.{u1, u2} R S (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Distrib.toHasAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Distrib.toHasMul.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)))) (Distrib.toHasAdd.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))))) (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (RingHom.hasCoeT.{max u1 u2, u1, u2} (RingEquiv.{u1, u2} R S (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Distrib.toHasAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Distrib.toHasMul.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)))) (Distrib.toHasAdd.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))))) R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2) (RingEquivClass.toRingHomClass.{max u1 u2, u1, u2} (RingEquiv.{u1, u2} R S (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Distrib.toHasAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Distrib.toHasMul.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)))) (Distrib.toHasAdd.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))))) R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2) (RingEquiv.ringEquivClass.{u1, u2} R S (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Distrib.toHasAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Distrib.toHasMul.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)))) (Distrib.toHasAdd.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))))))))) f)
+but is expected to have type
+  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] (f : RingEquiv.{u1, u2} R S (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Distrib.toAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Distrib.toAdd.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))))), IsLocalRingHom.{u1, u2} R S _inst_1 _inst_2 (RingHomClass.toRingHom.{max u1 u2, u1, u2} (RingEquiv.{u1, u2} R S (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Distrib.toAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Distrib.toAdd.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))))) R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2) (RingEquivClass.toRingHomClass.{max u1 u2, u1, u2} (RingEquiv.{u1, u2} R S (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Distrib.toAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Distrib.toAdd.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))))) R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2) (RingEquiv.instRingEquivClassRingEquiv.{u1, u2} R S (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Distrib.toAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Distrib.toAdd.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)))))) f)
+Case conversion may be inaccurate. Consider using '#align is_local_ring_hom_equiv isLocalRingHom_equivₓ'. -/
 instance isLocalRingHom_equiv (f : R ≃+* S) : IsLocalRingHom (f : R →+* S)
     where map_nonunit a ha := by
     convert(f.symm : S →+* R).isUnit_map ha
     exact (RingEquiv.symm_apply_apply f a).symm
 #align is_local_ring_hom_equiv isLocalRingHom_equiv
 
+/- warning: is_unit_of_map_unit -> isUnit_of_map_unit is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] (f : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) [_inst_4 : IsLocalRingHom.{u1, u2} R S _inst_1 _inst_2 f] (a : R), (IsUnit.{u2} S (MonoidWithZero.toMonoid.{u2} S (Semiring.toMonoidWithZero.{u2} S _inst_2)) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (fun (_x : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) => R -> S) (RingHom.hasCoeToFun.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) f a)) -> (IsUnit.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) a)
+but is expected to have type
+  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] (f : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) [_inst_4 : IsLocalRingHom.{u1, u2} R S _inst_1 _inst_2 f] (a : R), (IsUnit.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) a) (MonoidWithZero.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) a) (Semiring.toMonoidWithZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) a) _inst_2)) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) R S (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2) (RingHom.instRingHomClassRingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2))))) f a)) -> (IsUnit.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) a)
+Case conversion may be inaccurate. Consider using '#align is_unit_of_map_unit isUnit_of_map_unitₓ'. -/
 @[simp]
 theorem isUnit_of_map_unit (f : R →+* S) [IsLocalRingHom f] (a) (h : IsUnit (f a)) : IsUnit a :=
   IsLocalRingHom.map_nonunit a h
 #align is_unit_of_map_unit isUnit_of_map_unit
 
+/- warning: of_irreducible_map -> of_irreducible_map is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] (f : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) [h : IsLocalRingHom.{u1, u2} R S _inst_1 _inst_2 f] {x : R}, (Irreducible.{u2} S (MonoidWithZero.toMonoid.{u2} S (Semiring.toMonoidWithZero.{u2} S _inst_2)) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (fun (_x : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) => R -> S) (RingHom.hasCoeToFun.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) f x)) -> (Irreducible.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) x)
+but is expected to have type
+  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] (f : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) [h : IsLocalRingHom.{u1, u2} R S _inst_1 _inst_2 f] {x : R}, (Irreducible.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) x) (MonoidWithZero.toMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) x) (Semiring.toMonoidWithZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) x) _inst_2)) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) R S (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2) (RingHom.instRingHomClassRingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2))))) f x)) -> (Irreducible.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) x)
+Case conversion may be inaccurate. Consider using '#align of_irreducible_map of_irreducible_mapₓ'. -/
 theorem of_irreducible_map (f : R →+* S) [h : IsLocalRingHom f] {x} (hfx : Irreducible (f x)) :
     Irreducible x :=
   ⟨fun h => hfx.not_unit <| IsUnit.map f h, fun p q hx =>
@@ -253,11 +381,19 @@ theorem of_irreducible_map (f : R →+* S) [h : IsLocalRingHom f] {x} (hfx : Irr
     Or.imp (H p) (H q) <| hfx.isUnit_or_isUnit <| f.map_mul p q ▸ congr_arg f hx⟩
 #align of_irreducible_map of_irreducible_map
 
+#print isLocalRingHom_of_comp /-
 theorem isLocalRingHom_of_comp (f : R →+* S) (g : S →+* T) [IsLocalRingHom (g.comp f)] :
     IsLocalRingHom f :=
   ⟨fun a ha => (isUnit_map_iff (g.comp f) _).mp (g.isUnit_map ha)⟩
 #align is_local_ring_hom_of_comp isLocalRingHom_of_comp
+-/
 
+/- warning: ring_hom.domain_local_ring -> RingHom.domain_localRing is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_4 : CommSemiring.{u1} R] [_inst_5 : CommSemiring.{u2} S] [H : LocalRing.{u2} S (CommSemiring.toSemiring.{u2} S _inst_5)] (f : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_4)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_5))) [_inst_6 : IsLocalRingHom.{u1, u2} R S (CommSemiring.toSemiring.{u1} R _inst_4) (CommSemiring.toSemiring.{u2} S _inst_5) f], LocalRing.{u1} R (CommSemiring.toSemiring.{u1} R _inst_4)
+but is expected to have type
+  forall {R : Type.{u2}} {S : Type.{u1}} [_inst_4 : CommSemiring.{u2} R] [_inst_5 : CommSemiring.{u1} S] [H : LocalRing.{u1} S (CommSemiring.toSemiring.{u1} S _inst_5)] (f : RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_4)) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_5))) [_inst_6 : IsLocalRingHom.{u2, u1} R S (CommSemiring.toSemiring.{u2} R _inst_4) (CommSemiring.toSemiring.{u1} S _inst_5) f], LocalRing.{u2} R (CommSemiring.toSemiring.{u2} R _inst_4)
+Case conversion may be inaccurate. Consider using '#align ring_hom.domain_local_ring RingHom.domain_localRingₓ'. -/
 /-- If `f : R →+* S` is a local ring hom, then `R` is a local ring if `S` is. -/
 theorem RingHom.domain_localRing {R S : Type _} [CommSemiring R] [CommSemiring S] [H : LocalRing S]
     (f : R →+* S) [IsLocalRingHom f] : LocalRing R :=
@@ -277,6 +413,12 @@ open LocalRing
 
 variable [CommSemiring R] [LocalRing R] [CommSemiring S] [LocalRing S]
 
+/- warning: map_nonunit -> map_nonunit is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : LocalRing.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)] [_inst_3 : CommSemiring.{u2} S] [_inst_4 : LocalRing.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)] (f : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) [_inst_5 : IsLocalRingHom.{u1, u2} R S (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} S _inst_3) f] (a : R), (Membership.Mem.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SetLike.hasMem.{u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) R (Submodule.setLike.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) a (LocalRing.maximalIdeal.{u1} R _inst_1 _inst_2)) -> (Membership.Mem.{u2, u2} S (Ideal.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)) (SetLike.hasMem.{u2, u2} (Ideal.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)) S (Submodule.setLike.{u2, u2} S S (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)))) (Semiring.toModule.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) (fun (_x : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) => R -> S) (RingHom.hasCoeToFun.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) f a) (LocalRing.maximalIdeal.{u2} S _inst_3 _inst_4))
+but is expected to have type
+  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : LocalRing.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)] [_inst_3 : CommSemiring.{u2} S] [_inst_4 : LocalRing.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)] (f : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) [_inst_5 : IsLocalRingHom.{u1, u2} R S (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} S _inst_3) f] (a : R), (Membership.mem.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SetLike.instMembership.{u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) R (Submodule.setLike.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) a (LocalRing.maximalIdeal.{u1} R _inst_1 _inst_2)) -> (Membership.mem.{u2, u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) a) (Ideal.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)) (SetLike.instMembership.{u2, u2} (Ideal.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)) S (Submodule.setLike.{u2, u2} S S (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)))) (Semiring.toModule.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)))) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) R S (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)) (RingHom.instRingHomClassRingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)))))) f a) (LocalRing.maximalIdeal.{u2} S _inst_3 _inst_4))
+Case conversion may be inaccurate. Consider using '#align map_nonunit map_nonunitₓ'. -/
 /--
 The image of the maximal ideal of the source is contained within the maximal ideal of the target.
 -/
@@ -292,10 +434,16 @@ section
 
 variable [CommSemiring R] [LocalRing R] [CommSemiring S] [LocalRing S]
 
+/- warning: local_ring.local_hom_tfae -> LocalRing.local_hom_TFAE is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : LocalRing.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)] [_inst_3 : CommSemiring.{u2} S] [_inst_4 : LocalRing.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)] (f : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))), List.TFAE (List.cons.{0} Prop (IsLocalRingHom.{u1, u2} R S (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} S _inst_3) f) (List.cons.{0} Prop (HasSubset.Subset.{u2} (Set.{u2} S) (Set.hasSubset.{u2} S) (Set.image.{u1, 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 _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) (fun (_x : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) => R -> S) (RingHom.hasCoeToFun.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) f) (Submodule.carrier.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (LocalRing.maximalIdeal.{u1} R _inst_1 _inst_2))) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Ideal.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)) (Set.{u2} S) (HasLiftT.mk.{succ u2, succ u2} (Ideal.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)) (Set.{u2} S) (CoeTCₓ.coe.{succ u2, succ u2} (Ideal.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)) (Set.{u2} S) (SetLike.Set.hasCoeT.{u2, u2} (Ideal.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)) S (Submodule.setLike.{u2, u2} S S (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)))) (Semiring.toModule.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)))))) (LocalRing.maximalIdeal.{u2} S _inst_3 _inst_4))) (List.cons.{0} Prop (LE.le.{u2} (Ideal.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)) (Preorder.toHasLe.{u2} (Ideal.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)) (PartialOrder.toPreorder.{u2} (Ideal.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Ideal.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Ideal.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)) (Submodule.completeLattice.{u2, u2} S S (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)))) (Semiring.toModule.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))))))) (Ideal.map.{u1, u2, max u1 u2} R S (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} S _inst_3) (RingHom.ringHomClass.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) f (LocalRing.maximalIdeal.{u1} R _inst_1 _inst_2)) (LocalRing.maximalIdeal.{u2} S _inst_3 _inst_4)) (List.cons.{0} Prop (LE.le.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Preorder.toHasLe.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.completeLattice.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))) (LocalRing.maximalIdeal.{u1} R _inst_1 _inst_2) (Ideal.comap.{u1, u2, max u1 u2} R S (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} S _inst_3) (RingHom.ringHomClass.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) f (LocalRing.maximalIdeal.{u2} S _inst_3 _inst_4))) (List.cons.{0} Prop (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.comap.{u1, u2, max u1 u2} R S (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} S _inst_3) (RingHom.ringHomClass.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) f (LocalRing.maximalIdeal.{u2} S _inst_3 _inst_4)) (LocalRing.maximalIdeal.{u1} R _inst_1 _inst_2)) (List.nil.{0} Prop))))))
+but is expected to have type
+  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : LocalRing.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)] [_inst_3 : CommSemiring.{u2} S] [_inst_4 : LocalRing.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)] (f : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))), List.TFAE (List.cons.{0} Prop (IsLocalRingHom.{u1, u2} R S (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} S _inst_3) f) (List.cons.{0} Prop (HasSubset.Subset.{u2} (Set.{u2} S) (Set.instHasSubsetSet.{u2} S) (Set.image.{u1, u2} R S (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) R S (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)) (RingHom.instRingHomClassRingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)))))) f) (SetLike.coe.{u1, u1} (AddSubmonoid.{u1} R (AddMonoid.toAddZeroClass.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))) R (AddSubmonoid.instSetLikeAddSubmonoid.{u1} R (AddMonoid.toAddZeroClass.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))) (Submodule.toAddSubmonoid.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (LocalRing.maximalIdeal.{u1} R _inst_1 _inst_2)))) (SetLike.coe.{u2, u2} (Ideal.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)) S (Submodule.setLike.{u2, u2} S S (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)))) (Semiring.toModule.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) (LocalRing.maximalIdeal.{u2} S _inst_3 _inst_4))) (List.cons.{0} Prop (LE.le.{u2} (Ideal.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)) (Preorder.toLE.{u2} (Ideal.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)) (PartialOrder.toPreorder.{u2} (Ideal.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)) (Submodule.completeLattice.{u2, u2} S S (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)))) (Semiring.toModule.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))))))) (Ideal.map.{u1, u2, max u1 u2} R S (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} S _inst_3) (RingHom.instRingHomClassRingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) f (LocalRing.maximalIdeal.{u1} R _inst_1 _inst_2)) (LocalRing.maximalIdeal.{u2} S _inst_3 _inst_4)) (List.cons.{0} Prop (LE.le.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Preorder.toLE.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.completeLattice.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))) (LocalRing.maximalIdeal.{u1} R _inst_1 _inst_2) (Ideal.comap.{u1, u2, max u1 u2} R S (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} S _inst_3) (RingHom.instRingHomClassRingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) f (LocalRing.maximalIdeal.{u2} S _inst_3 _inst_4))) (List.cons.{0} Prop (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.comap.{u1, u2, max u1 u2} R S (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} S _inst_3) (RingHom.instRingHomClassRingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) f (LocalRing.maximalIdeal.{u2} S _inst_3 _inst_4)) (LocalRing.maximalIdeal.{u1} R _inst_1 _inst_2)) (List.nil.{0} Prop))))))
+Case conversion may be inaccurate. Consider using '#align local_ring.local_hom_tfae LocalRing.local_hom_TFAEₓ'. -/
 /-- A ring homomorphism between local rings is a local ring hom iff it reflects units,
 i.e. any preimage of a unit is still a unit. https://stacks.math.columbia.edu/tag/07BJ
 -/
-theorem local_hom_tFAE (f : R →+* S) :
+theorem local_hom_TFAE (f : R →+* S) :
     TFAE
       [IsLocalRingHom f, f '' (maximalIdeal R).1 ⊆ maximalIdeal S,
         (maximalIdeal R).map f ≤ maximalIdeal S, maximalIdeal R ≤ (maximalIdeal S).comap f,
@@ -310,10 +458,16 @@ theorem local_hom_tFAE (f : R →+* S) :
   exact not_iff_not.2 (isUnit_map_iff f x)
   tfae_have 5 → 4; exact fun h => le_of_eq h.symm
   tfae_finish
-#align local_ring.local_hom_tfae LocalRing.local_hom_tFAE
+#align local_ring.local_hom_tfae LocalRing.local_hom_TFAE
 
 end
 
+/- warning: local_ring.of_surjective -> LocalRing.of_surjective is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : LocalRing.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)] [_inst_3 : CommSemiring.{u2} S] [_inst_4 : Nontrivial.{u2} S] (f : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) [_inst_5 : IsLocalRingHom.{u1, u2} R S (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} S _inst_3) f], (Function.Surjective.{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 _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) (fun (_x : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) => R -> S) (RingHom.hasCoeToFun.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) f)) -> (LocalRing.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))
+but is expected to have type
+  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : LocalRing.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)] [_inst_3 : CommSemiring.{u2} S] [_inst_4 : Nontrivial.{u2} S] (f : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) [_inst_5 : IsLocalRingHom.{u1, u2} R S (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} S _inst_3) f], (Function.Surjective.{succ u1, succ u2} R S (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) R S (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)) (RingHom.instRingHomClassRingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)))))) f)) -> (LocalRing.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))
+Case conversion may be inaccurate. Consider using '#align local_ring.of_surjective LocalRing.of_surjectiveₓ'. -/
 theorem of_surjective [CommSemiring R] [LocalRing R] [CommSemiring S] [Nontrivial S] (f : R →+* S)
     [IsLocalRingHom f] (hf : Function.Surjective f) : LocalRing S :=
   of_isUnit_or_isUnit_of_isUnit_add
@@ -327,6 +481,12 @@ theorem of_surjective [CommSemiring R] [LocalRing R] [CommSemiring S] [Nontrivia
           f.is_unit_map)
 #align local_ring.of_surjective LocalRing.of_surjective
 
+/- warning: local_ring.surjective_units_map_of_local_ring_hom -> LocalRing.surjective_units_map_of_local_ringHom is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : CommRing.{u2} S] (f : RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))), (Function.Surjective.{succ u1, succ u2} R S (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) (fun (_x : RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) => R -> S) (RingHom.hasCoeToFun.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) f)) -> (IsLocalRingHom.{u1, u2} R S (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) f) -> (Function.Surjective.{succ u1, succ u2} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Units.{u2} S (Ring.toMonoid.{u2} S (CommRing.toRing.{u2} S _inst_2))) (coeFn.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (MonoidHom.{u1, u2} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Units.{u2} S (Ring.toMonoid.{u2} S (CommRing.toRing.{u2} S _inst_2))) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Units.mulOneClass.{u2} S (Ring.toMonoid.{u2} S (CommRing.toRing.{u2} S _inst_2)))) (fun (_x : MonoidHom.{u1, u2} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Units.{u2} S (Ring.toMonoid.{u2} S (CommRing.toRing.{u2} S _inst_2))) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Units.mulOneClass.{u2} S (Ring.toMonoid.{u2} S (CommRing.toRing.{u2} S _inst_2)))) => (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) -> (Units.{u2} S (Ring.toMonoid.{u2} S (CommRing.toRing.{u2} S _inst_2)))) (MonoidHom.hasCoeToFun.{u1, u2} (Units.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Units.{u2} S (Ring.toMonoid.{u2} S (CommRing.toRing.{u2} S _inst_2))) (Units.mulOneClass.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Units.mulOneClass.{u2} S (Ring.toMonoid.{u2} S (CommRing.toRing.{u2} S _inst_2)))) (Units.map.{u1, u2} R S (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toMonoid.{u2} S (CommRing.toRing.{u2} S _inst_2)) (RingHom.toMonoidHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2))) f))))
+but is expected to have type
+  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : CommRing.{u2} S] (f : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))), (Function.Surjective.{succ u1, succ u2} R S (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) R S (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (NonUnitalNonAssocSemiring.toMul.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (RingHom.instRingHomClassRingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))))) f)) -> (IsLocalRingHom.{u1, u2} R S (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) f) -> (Function.Surjective.{succ u1, succ u2} (Units.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Units.{u2} S (MonoidWithZero.toMonoid.{u2} S (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (MonoidHom.{u1, u2} (Units.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Units.{u2} S (MonoidWithZero.toMonoid.{u2} S (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (Units.instMulOneClassUnits.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Units.instMulOneClassUnits.{u2} S (MonoidWithZero.toMonoid.{u2} S (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))))) (Units.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (fun (_x : Units.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : Units.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) => Units.{u2} S (MonoidWithZero.toMonoid.{u2} S (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (MonoidHom.{u1, u2} (Units.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Units.{u2} S (MonoidWithZero.toMonoid.{u2} S (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (Units.instMulOneClassUnits.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Units.instMulOneClassUnits.{u2} S (MonoidWithZero.toMonoid.{u2} S (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))))) (Units.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Units.{u2} S (MonoidWithZero.toMonoid.{u2} S (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (MulOneClass.toMul.{u1} (Units.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Units.instMulOneClassUnits.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))) (MulOneClass.toMul.{u2} (Units.{u2} S (MonoidWithZero.toMonoid.{u2} S (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (Units.instMulOneClassUnits.{u2} S (MonoidWithZero.toMonoid.{u2} S (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u1, u2} (MonoidHom.{u1, u2} (Units.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Units.{u2} S (MonoidWithZero.toMonoid.{u2} S (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (Units.instMulOneClassUnits.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Units.instMulOneClassUnits.{u2} S (MonoidWithZero.toMonoid.{u2} S (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))))) (Units.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Units.{u2} S (MonoidWithZero.toMonoid.{u2} S (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (Units.instMulOneClassUnits.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Units.instMulOneClassUnits.{u2} S (MonoidWithZero.toMonoid.{u2} S (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (MonoidHom.monoidHomClass.{u1, u2} (Units.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Units.{u2} S (MonoidWithZero.toMonoid.{u2} S (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (Units.instMulOneClassUnits.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Units.instMulOneClassUnits.{u2} S (MonoidWithZero.toMonoid.{u2} S (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))))))) (Units.map.{u1, u2} R S (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (MonoidWithZero.toMonoid.{u2} S (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (RingHom.toMonoidHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) f))))
+Case conversion may be inaccurate. Consider using '#align local_ring.surjective_units_map_of_local_ring_hom LocalRing.surjective_units_map_of_local_ringHomₓ'. -/
 /-- If `f : R →+* S` is a surjective local ring hom, then the induced units map is surjective. -/
 theorem surjective_units_map_of_local_ringHom [CommRing R] [CommRing S] (f : R →+* S)
     (hf : Function.Surjective f) (h : IsLocalRingHom f) :
@@ -346,27 +506,37 @@ section
 
 variable (R) [CommRing R] [LocalRing R] [CommRing S] [LocalRing S] [CommRing T] [LocalRing T]
 
+#print LocalRing.ResidueField /-
 /-- The residue field of a local ring is the quotient of the ring by its maximal ideal. -/
 def ResidueField :=
   R ⧸ maximalIdeal R deriving Ring, CommRing, Inhabited
 #align local_ring.residue_field LocalRing.ResidueField
+-/
 
+#print LocalRing.ResidueField.field /-
 noncomputable instance ResidueField.field : Field (ResidueField R) :=
   Ideal.Quotient.field (maximalIdeal R)
 #align local_ring.residue_field.field LocalRing.ResidueField.field
+-/
 
+#print LocalRing.residue /-
 /-- The quotient map from a local ring to its residue field. -/
 def residue : R →+* ResidueField R :=
   Ideal.Quotient.mk _
 #align local_ring.residue LocalRing.residue
+-/
 
+#print LocalRing.ResidueField.algebra /-
 instance ResidueField.algebra : Algebra R (ResidueField R) :=
   Ideal.Quotient.algebra _
 #align local_ring.residue_field.algebra LocalRing.ResidueField.algebra
+-/
 
+#print LocalRing.ResidueField.algebraMap_eq /-
 theorem ResidueField.algebraMap_eq : algebraMap R (ResidueField R) = residue R :=
   rfl
 #align local_ring.residue_field.algebra_map_eq LocalRing.ResidueField.algebraMap_eq
+-/
 
 instance : IsLocalRingHom (LocalRing.residue R) :=
   ⟨fun a ha =>
@@ -376,24 +546,39 @@ variable {R}
 
 namespace ResidueField
 
+#print LocalRing.ResidueField.lift /-
 /-- A local ring homomorphism into a field can be descended onto the residue field. -/
 def lift {R S : Type _} [CommRing R] [LocalRing R] [Field S] (f : R →+* S) [IsLocalRingHom f] :
     LocalRing.ResidueField R →+* S :=
   Ideal.Quotient.lift _ f fun a ha =>
     by_contradiction fun h => ha (isUnit_of_map_unit f a (isUnit_iff_ne_zero.mpr h))
 #align local_ring.residue_field.lift LocalRing.ResidueField.lift
+-/
 
+/- warning: local_ring.residue_field.lift_comp_residue -> LocalRing.ResidueField.lift_comp_residue is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_7 : CommRing.{u1} R] [_inst_8 : LocalRing.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_7))] [_inst_9 : Field.{u2} S] (f : RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_7))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (DivisionRing.toRing.{u2} S (Field.toDivisionRing.{u2} S _inst_9))))) [_inst_10 : IsLocalRingHom.{u1, u2} R S (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_7)) (Ring.toSemiring.{u2} S (DivisionRing.toRing.{u2} S (Field.toDivisionRing.{u2} S _inst_9))) f], Eq.{max (succ u1) (succ u2)} (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_7))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (DivisionRing.toRing.{u2} S (Field.toDivisionRing.{u2} S _inst_9))))) (RingHom.comp.{u1, u1, u2} R (LocalRing.ResidueField.{u1} R _inst_7 _inst_8) S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_7))) (NonAssocRing.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_7 _inst_8) (Ring.toNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_7 _inst_8) (LocalRing.ResidueField.ring.{u1} R _inst_7 _inst_8))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (DivisionRing.toRing.{u2} S (Field.toDivisionRing.{u2} S _inst_9)))) (LocalRing.ResidueField.lift.{u1, u2} R S _inst_7 _inst_8 _inst_9 f _inst_10) (LocalRing.residue.{u1} R _inst_7 _inst_8)) f
+but is expected to have type
+  forall {R : Type.{u2}} {S : Type.{u1}} [_inst_7 : CommRing.{u2} R] [_inst_8 : LocalRing.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_7))] [_inst_9 : Field.{u1} S] (f : RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_7))) (Semiring.toNonAssocSemiring.{u1} S (DivisionSemiring.toSemiring.{u1} S (Semifield.toDivisionSemiring.{u1} S (Field.toSemifield.{u1} S _inst_9))))) [_inst_10 : IsLocalRingHom.{u2, u1} R S (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_7)) (DivisionSemiring.toSemiring.{u1} S (Semifield.toDivisionSemiring.{u1} S (Field.toSemifield.{u1} S _inst_9))) f], Eq.{max (succ u2) (succ u1)} (RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_7))) (Semiring.toNonAssocSemiring.{u1} S (DivisionSemiring.toSemiring.{u1} S (Semifield.toDivisionSemiring.{u1} S (Field.toSemifield.{u1} S _inst_9))))) (RingHom.comp.{u2, u2, u1} R (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_7))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (LocalRing.ResidueField.field.{u2} R _inst_7 _inst_8))))) (Semiring.toNonAssocSemiring.{u1} S (DivisionSemiring.toSemiring.{u1} S (Semifield.toDivisionSemiring.{u1} S (Field.toSemifield.{u1} S _inst_9)))) (LocalRing.ResidueField.lift.{u2, u1} R S _inst_7 _inst_8 _inst_9 f _inst_10) (LocalRing.residue.{u2} R _inst_7 _inst_8)) f
+Case conversion may be inaccurate. Consider using '#align local_ring.residue_field.lift_comp_residue LocalRing.ResidueField.lift_comp_residueₓ'. -/
 theorem lift_comp_residue {R S : Type _} [CommRing R] [LocalRing R] [Field S] (f : R →+* S)
     [IsLocalRingHom f] : (lift f).comp (residue R) = f :=
   RingHom.ext fun _ => rfl
 #align local_ring.residue_field.lift_comp_residue LocalRing.ResidueField.lift_comp_residue
 
+/- warning: local_ring.residue_field.lift_residue_apply -> LocalRing.ResidueField.lift_residue_apply is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_7 : CommRing.{u1} R] [_inst_8 : LocalRing.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_7))] [_inst_9 : Field.{u2} S] (f : RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_7))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (DivisionRing.toRing.{u2} S (Field.toDivisionRing.{u2} S _inst_9))))) [_inst_10 : IsLocalRingHom.{u1, u2} R S (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_7)) (Ring.toSemiring.{u2} S (DivisionRing.toRing.{u2} S (Field.toDivisionRing.{u2} S _inst_9))) f] (x : R), Eq.{succ u2} S (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} (LocalRing.ResidueField.{u1} R _inst_7 _inst_8) S (NonAssocRing.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_7 _inst_8) (Ring.toNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_7 _inst_8) (LocalRing.ResidueField.ring.{u1} R _inst_7 _inst_8))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (DivisionRing.toRing.{u2} S (Field.toDivisionRing.{u2} S _inst_9))))) (fun (_x : RingHom.{u1, u2} (LocalRing.ResidueField.{u1} R _inst_7 _inst_8) S (NonAssocRing.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_7 _inst_8) (Ring.toNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_7 _inst_8) (LocalRing.ResidueField.ring.{u1} R _inst_7 _inst_8))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (DivisionRing.toRing.{u2} S (Field.toDivisionRing.{u2} S _inst_9))))) => (LocalRing.ResidueField.{u1} R _inst_7 _inst_8) -> S) (RingHom.hasCoeToFun.{u1, u2} (LocalRing.ResidueField.{u1} R _inst_7 _inst_8) S (NonAssocRing.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_7 _inst_8) (Ring.toNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_7 _inst_8) (LocalRing.ResidueField.ring.{u1} R _inst_7 _inst_8))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (DivisionRing.toRing.{u2} S (Field.toDivisionRing.{u2} S _inst_9))))) (LocalRing.ResidueField.lift.{u1, u2} R S _inst_7 _inst_8 _inst_9 f _inst_10) (coeFn.{succ u1, succ u1} (RingHom.{u1, u1} R (LocalRing.ResidueField.{u1} R _inst_7 _inst_8) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_7))) (NonAssocRing.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_7 _inst_8) (Ring.toNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_7 _inst_8) (LocalRing.ResidueField.ring.{u1} R _inst_7 _inst_8)))) (fun (_x : RingHom.{u1, u1} R (LocalRing.ResidueField.{u1} R _inst_7 _inst_8) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_7))) (NonAssocRing.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_7 _inst_8) (Ring.toNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_7 _inst_8) (LocalRing.ResidueField.ring.{u1} R _inst_7 _inst_8)))) => R -> (LocalRing.ResidueField.{u1} R _inst_7 _inst_8)) (RingHom.hasCoeToFun.{u1, u1} R (LocalRing.ResidueField.{u1} R _inst_7 _inst_8) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_7))) (NonAssocRing.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_7 _inst_8) (Ring.toNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_7 _inst_8) (LocalRing.ResidueField.ring.{u1} R _inst_7 _inst_8)))) (LocalRing.residue.{u1} R _inst_7 _inst_8) x)) (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_7))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (DivisionRing.toRing.{u2} S (Field.toDivisionRing.{u2} S _inst_9))))) (fun (_x : RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_7))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (DivisionRing.toRing.{u2} S (Field.toDivisionRing.{u2} S _inst_9))))) => R -> S) (RingHom.hasCoeToFun.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_7))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (DivisionRing.toRing.{u2} S (Field.toDivisionRing.{u2} S _inst_9))))) f x)
+but is expected to have type
+  forall {R : Type.{u2}} {S : Type.{u1}} [_inst_7 : CommRing.{u2} R] [_inst_8 : LocalRing.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_7))] [_inst_9 : Field.{u1} S] (f : RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_7))) (Semiring.toNonAssocSemiring.{u1} S (DivisionSemiring.toSemiring.{u1} S (Semifield.toDivisionSemiring.{u1} S (Field.toSemifield.{u1} S _inst_9))))) [_inst_10 : IsLocalRingHom.{u2, u1} R S (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_7)) (DivisionSemiring.toSemiring.{u1} S (Semifield.toDivisionSemiring.{u1} S (Field.toSemifield.{u1} S _inst_9))) f] (x : R), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LocalRing.ResidueField.{u2} R _inst_7 _inst_8) => S) (FunLike.coe.{succ u2, succ u2, succ u2} (RingHom.{u2, u2} R (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_7))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (LocalRing.ResidueField.field.{u2} R _inst_7 _inst_8)))))) R (fun (a : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => LocalRing.ResidueField.{u2} R _inst_7 _inst_8) a) (MulHomClass.toFunLike.{u2, u2, u2} (RingHom.{u2, u2} R (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_7))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (LocalRing.ResidueField.field.{u2} R _inst_7 _inst_8)))))) R (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_7))))) (NonUnitalNonAssocSemiring.toMul.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (LocalRing.ResidueField.field.{u2} R _inst_7 _inst_8))))))) (NonUnitalRingHomClass.toMulHomClass.{u2, u2, u2} (RingHom.{u2, u2} R (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_7))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (LocalRing.ResidueField.field.{u2} R _inst_7 _inst_8)))))) R (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_7)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (LocalRing.ResidueField.field.{u2} R _inst_7 _inst_8)))))) (RingHomClass.toNonUnitalRingHomClass.{u2, u2, u2} (RingHom.{u2, u2} R (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_7))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (LocalRing.ResidueField.field.{u2} R _inst_7 _inst_8)))))) R (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_7))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (LocalRing.ResidueField.field.{u2} R _inst_7 _inst_8))))) (RingHom.instRingHomClassRingHom.{u2, u2} R (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_7))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (LocalRing.ResidueField.field.{u2} R _inst_7 _inst_8))))))))) (LocalRing.residue.{u2} R _inst_7 _inst_8) x)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (RingHom.{u2, u1} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) S (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (LocalRing.ResidueField.field.{u2} R _inst_7 _inst_8))))) (Semiring.toNonAssocSemiring.{u1} S (DivisionSemiring.toSemiring.{u1} S (Semifield.toDivisionSemiring.{u1} S (Field.toSemifield.{u1} S _inst_9))))) (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (fun (_x : LocalRing.ResidueField.{u2} R _inst_7 _inst_8) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LocalRing.ResidueField.{u2} R _inst_7 _inst_8) => S) _x) (MulHomClass.toFunLike.{max u2 u1, u2, u1} (RingHom.{u2, u1} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) S (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (LocalRing.ResidueField.field.{u2} R _inst_7 _inst_8))))) (Semiring.toNonAssocSemiring.{u1} S (DivisionSemiring.toSemiring.{u1} S (Semifield.toDivisionSemiring.{u1} S (Field.toSemifield.{u1} S _inst_9))))) (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) S (NonUnitalNonAssocSemiring.toMul.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (LocalRing.ResidueField.field.{u2} R _inst_7 _inst_8))))))) (NonUnitalNonAssocSemiring.toMul.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (DivisionSemiring.toSemiring.{u1} S (Semifield.toDivisionSemiring.{u1} S (Field.toSemifield.{u1} S _inst_9)))))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u1, u2, u1} (RingHom.{u2, u1} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) S (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (LocalRing.ResidueField.field.{u2} R _inst_7 _inst_8))))) (Semiring.toNonAssocSemiring.{u1} S (DivisionSemiring.toSemiring.{u1} S (Semifield.toDivisionSemiring.{u1} S (Field.toSemifield.{u1} S _inst_9))))) (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (LocalRing.ResidueField.field.{u2} R _inst_7 _inst_8)))))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (DivisionSemiring.toSemiring.{u1} S (Semifield.toDivisionSemiring.{u1} S (Field.toSemifield.{u1} S _inst_9))))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u1, u2, u1} (RingHom.{u2, u1} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) S (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (LocalRing.ResidueField.field.{u2} R _inst_7 _inst_8))))) (Semiring.toNonAssocSemiring.{u1} S (DivisionSemiring.toSemiring.{u1} S (Semifield.toDivisionSemiring.{u1} S (Field.toSemifield.{u1} S _inst_9))))) (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) S (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (LocalRing.ResidueField.field.{u2} R _inst_7 _inst_8))))) (Semiring.toNonAssocSemiring.{u1} S (DivisionSemiring.toSemiring.{u1} S (Semifield.toDivisionSemiring.{u1} S (Field.toSemifield.{u1} S _inst_9)))) (RingHom.instRingHomClassRingHom.{u2, u1} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) S (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (LocalRing.ResidueField.field.{u2} R _inst_7 _inst_8))))) (Semiring.toNonAssocSemiring.{u1} S (DivisionSemiring.toSemiring.{u1} S (Semifield.toDivisionSemiring.{u1} S (Field.toSemifield.{u1} S _inst_9)))))))) (LocalRing.ResidueField.lift.{u2, u1} R S _inst_7 _inst_8 _inst_9 f _inst_10) (FunLike.coe.{succ u2, succ u2, succ u2} (RingHom.{u2, u2} R (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_7))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (LocalRing.ResidueField.field.{u2} R _inst_7 _inst_8)))))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => LocalRing.ResidueField.{u2} R _inst_7 _inst_8) _x) (MulHomClass.toFunLike.{u2, u2, u2} (RingHom.{u2, u2} R (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_7))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (LocalRing.ResidueField.field.{u2} R _inst_7 _inst_8)))))) R (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_7))))) (NonUnitalNonAssocSemiring.toMul.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (LocalRing.ResidueField.field.{u2} R _inst_7 _inst_8))))))) (NonUnitalRingHomClass.toMulHomClass.{u2, u2, u2} (RingHom.{u2, u2} R (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_7))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (LocalRing.ResidueField.field.{u2} R _inst_7 _inst_8)))))) R (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_7)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (LocalRing.ResidueField.field.{u2} R _inst_7 _inst_8)))))) (RingHomClass.toNonUnitalRingHomClass.{u2, u2, u2} (RingHom.{u2, u2} R (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_7))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (LocalRing.ResidueField.field.{u2} R _inst_7 _inst_8)))))) R (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_7))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (LocalRing.ResidueField.field.{u2} R _inst_7 _inst_8))))) (RingHom.instRingHomClassRingHom.{u2, u2} R (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_7))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} R _inst_7 _inst_8) (LocalRing.ResidueField.field.{u2} R _inst_7 _inst_8))))))))) (LocalRing.residue.{u2} R _inst_7 _inst_8) x)) (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_7))) (Semiring.toNonAssocSemiring.{u1} S (DivisionSemiring.toSemiring.{u1} S (Semifield.toDivisionSemiring.{u1} S (Field.toSemifield.{u1} S _inst_9))))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : 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_7))) (Semiring.toNonAssocSemiring.{u1} S (DivisionSemiring.toSemiring.{u1} S (Semifield.toDivisionSemiring.{u1} S (Field.toSemifield.{u1} S _inst_9))))) R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_7))))) (NonUnitalNonAssocSemiring.toMul.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (DivisionSemiring.toSemiring.{u1} S (Semifield.toDivisionSemiring.{u1} S (Field.toSemifield.{u1} S _inst_9)))))) (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_7))) (Semiring.toNonAssocSemiring.{u1} S (DivisionSemiring.toSemiring.{u1} S (Semifield.toDivisionSemiring.{u1} S (Field.toSemifield.{u1} S _inst_9))))) R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_7)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (DivisionSemiring.toSemiring.{u1} S (Semifield.toDivisionSemiring.{u1} S (Field.toSemifield.{u1} S _inst_9))))) (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_7))) (Semiring.toNonAssocSemiring.{u1} S (DivisionSemiring.toSemiring.{u1} S (Semifield.toDivisionSemiring.{u1} S (Field.toSemifield.{u1} S _inst_9))))) R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_7))) (Semiring.toNonAssocSemiring.{u1} S (DivisionSemiring.toSemiring.{u1} S (Semifield.toDivisionSemiring.{u1} S (Field.toSemifield.{u1} S _inst_9)))) (RingHom.instRingHomClassRingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_7))) (Semiring.toNonAssocSemiring.{u1} S (DivisionSemiring.toSemiring.{u1} S (Semifield.toDivisionSemiring.{u1} S (Field.toSemifield.{u1} S _inst_9)))))))) f x)
+Case conversion may be inaccurate. Consider using '#align local_ring.residue_field.lift_residue_apply LocalRing.ResidueField.lift_residue_applyₓ'. -/
 @[simp]
 theorem lift_residue_apply {R S : Type _} [CommRing R] [LocalRing R] [Field S] (f : R →+* S)
     [IsLocalRingHom f] (x) : lift f (residue R x) = f x :=
   rfl
 #align local_ring.residue_field.lift_residue_apply LocalRing.ResidueField.lift_residue_apply
 
+#print LocalRing.ResidueField.map /-
 /-- The map on residue fields induced by a local homomorphism between local rings -/
 def map (f : R →+* S) [IsLocalRingHom f] : ResidueField R →+* ResidueField S :=
   Ideal.Quotient.lift (maximalIdeal R) ((Ideal.Quotient.mk _).comp f) fun a ha =>
@@ -401,7 +586,9 @@ def map (f : R →+* S) [IsLocalRingHom f] : ResidueField R →+* ResidueField S
     erw [Ideal.Quotient.eq_zero_iff_mem]
     exact map_nonunit f a ha
 #align local_ring.residue_field.map LocalRing.ResidueField.map
+-/
 
+#print LocalRing.ResidueField.map_id /-
 /-- Applying `residue_field.map` to the identity ring homomorphism gives the identity
 ring homomorphism. -/
 @[simp]
@@ -409,34 +596,63 @@ theorem map_id :
     LocalRing.ResidueField.map (RingHom.id R) = RingHom.id (LocalRing.ResidueField R) :=
   Ideal.Quotient.ringHom_ext <| RingHom.ext fun x => rfl
 #align local_ring.residue_field.map_id LocalRing.ResidueField.map_id
+-/
 
+#print LocalRing.ResidueField.map_comp /-
 /-- The composite of two `residue_field.map`s is the `residue_field.map` of the composite. -/
 theorem map_comp (f : T →+* R) (g : R →+* S) [IsLocalRingHom f] [IsLocalRingHom g] :
     LocalRing.ResidueField.map (g.comp f) =
       (LocalRing.ResidueField.map g).comp (LocalRing.ResidueField.map f) :=
   Ideal.Quotient.ringHom_ext <| RingHom.ext fun x => rfl
 #align local_ring.residue_field.map_comp LocalRing.ResidueField.map_comp
+-/
 
+#print LocalRing.ResidueField.map_comp_residue /-
 theorem map_comp_residue (f : R →+* S) [IsLocalRingHom f] :
     (ResidueField.map f).comp (residue R) = (residue S).comp f :=
   rfl
 #align local_ring.residue_field.map_comp_residue LocalRing.ResidueField.map_comp_residue
+-/
 
+/- warning: local_ring.residue_field.map_residue -> LocalRing.ResidueField.map_residue is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : LocalRing.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))] [_inst_3 : CommRing.{u2} S] [_inst_4 : LocalRing.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_3))] (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_3)))) [_inst_7 : IsLocalRingHom.{u1, u2} R S (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_3)) f] (r : R), Eq.{succ u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (NonAssocRing.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.ring.{u1} R _inst_1 _inst_2))) (NonAssocRing.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Ring.toNonAssocRing.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.ring.{u2} S _inst_3 _inst_4)))) (fun (_x : RingHom.{u1, u2} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (NonAssocRing.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.ring.{u1} R _inst_1 _inst_2))) (NonAssocRing.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Ring.toNonAssocRing.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.ring.{u2} S _inst_3 _inst_4)))) => (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) -> (LocalRing.ResidueField.{u2} S _inst_3 _inst_4)) (RingHom.hasCoeToFun.{u1, u2} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (NonAssocRing.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.ring.{u1} R _inst_1 _inst_2))) (NonAssocRing.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Ring.toNonAssocRing.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.ring.{u2} S _inst_3 _inst_4)))) (LocalRing.ResidueField.map.{u1, u2} R S _inst_1 _inst_2 _inst_3 _inst_4 f _inst_7) (coeFn.{succ u1, succ u1} (RingHom.{u1, u1} R (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.ring.{u1} R _inst_1 _inst_2)))) (fun (_x : RingHom.{u1, u1} R (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.ring.{u1} R _inst_1 _inst_2)))) => R -> (LocalRing.ResidueField.{u1} R _inst_1 _inst_2)) (RingHom.hasCoeToFun.{u1, u1} R (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.ring.{u1} R _inst_1 _inst_2)))) (LocalRing.residue.{u1} R _inst_1 _inst_2) r)) (coeFn.{succ u2, succ u2} (RingHom.{u2, u2} S (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_3))) (NonAssocRing.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Ring.toNonAssocRing.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.ring.{u2} S _inst_3 _inst_4)))) (fun (_x : RingHom.{u2, u2} S (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_3))) (NonAssocRing.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Ring.toNonAssocRing.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.ring.{u2} S _inst_3 _inst_4)))) => S -> (LocalRing.ResidueField.{u2} S _inst_3 _inst_4)) (RingHom.hasCoeToFun.{u2, u2} S (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_3))) (NonAssocRing.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Ring.toNonAssocRing.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.ring.{u2} S _inst_3 _inst_4)))) (LocalRing.residue.{u2} S _inst_3 _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_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 (CommRing.toRing.{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 (CommRing.toRing.{u2} S _inst_3)))) f r))
+but is expected to have type
+  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : LocalRing.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))] [_inst_3 : CommRing.{u2} S] [_inst_4 : LocalRing.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_3))] (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_3)))) [_inst_7 : IsLocalRingHom.{u1, u2} R S (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_3)) f] (r : R), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LocalRing.ResidueField.{u1} R _inst_1 _inst_2) => LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (FunLike.coe.{succ u1, succ u1, succ u1} (RingHom.{u1, u1} R (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2)))))) R (fun (a : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => LocalRing.ResidueField.{u1} R _inst_1 _inst_2) a) (MulHomClass.toFunLike.{u1, u1, u1} (RingHom.{u1, u1} R (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2)))))) R (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (NonUnitalNonAssocSemiring.toMul.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))))) (NonUnitalRingHomClass.toMulHomClass.{u1, u1, u1} (RingHom.{u1, u1} R (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2)))))) R (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2)))))) (RingHomClass.toNonUnitalRingHomClass.{u1, u1, u1} (RingHom.{u1, u1} R (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2)))))) R (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))) (RingHom.instRingHomClassRingHom.{u1, u1} R (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))))))) (LocalRing.residue.{u1} R _inst_1 _inst_2) r)) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (RingHom.{u1, u2} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.field.{u2} S _inst_3 _inst_4)))))) (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (fun (_x : LocalRing.ResidueField.{u1} R _inst_1 _inst_2) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LocalRing.ResidueField.{u1} R _inst_1 _inst_2) => LocalRing.ResidueField.{u2} S _inst_3 _inst_4) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (RingHom.{u1, u2} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.field.{u2} S _inst_3 _inst_4)))))) (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (NonUnitalNonAssocSemiring.toMul.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))))) (NonUnitalNonAssocSemiring.toMul.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.field.{u2} S _inst_3 _inst_4))))))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.field.{u2} S _inst_3 _inst_4)))))) (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2)))))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.field.{u2} S _inst_3 _inst_4)))))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.field.{u2} S _inst_3 _inst_4)))))) (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.field.{u2} S _inst_3 _inst_4))))) (RingHom.instRingHomClassRingHom.{u1, u2} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.field.{u2} S _inst_3 _inst_4))))))))) (LocalRing.ResidueField.map.{u1, u2} R S _inst_1 _inst_2 _inst_3 _inst_4 f _inst_7) (FunLike.coe.{succ u1, succ u1, succ u1} (RingHom.{u1, u1} R (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2)))))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => LocalRing.ResidueField.{u1} R _inst_1 _inst_2) _x) (MulHomClass.toFunLike.{u1, u1, u1} (RingHom.{u1, u1} R (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2)))))) R (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (NonUnitalNonAssocSemiring.toMul.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))))) (NonUnitalRingHomClass.toMulHomClass.{u1, u1, u1} (RingHom.{u1, u1} R (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2)))))) R (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2)))))) (RingHomClass.toNonUnitalRingHomClass.{u1, u1, u1} (RingHom.{u1, u1} R (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2)))))) R (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))) (RingHom.instRingHomClassRingHom.{u1, u1} R (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))))))) (LocalRing.residue.{u1} R _inst_1 _inst_2) r)) (FunLike.coe.{succ u2, succ u2, succ u2} (RingHom.{u2, u2} S (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_3))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.field.{u2} S _inst_3 _inst_4)))))) S (fun (_x : S) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : S) => LocalRing.ResidueField.{u2} S _inst_3 _inst_4) _x) (MulHomClass.toFunLike.{u2, u2, u2} (RingHom.{u2, u2} S (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_3))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.field.{u2} S _inst_3 _inst_4)))))) S (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (NonUnitalNonAssocSemiring.toMul.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_3))))) (NonUnitalNonAssocSemiring.toMul.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.field.{u2} S _inst_3 _inst_4))))))) (NonUnitalRingHomClass.toMulHomClass.{u2, u2, u2} (RingHom.{u2, u2} S (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_3))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.field.{u2} S _inst_3 _inst_4)))))) S (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_3)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.field.{u2} S _inst_3 _inst_4)))))) (RingHomClass.toNonUnitalRingHomClass.{u2, u2, u2} (RingHom.{u2, u2} S (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_3))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.field.{u2} S _inst_3 _inst_4)))))) S (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_3))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.field.{u2} S _inst_3 _inst_4))))) (RingHom.instRingHomClassRingHom.{u2, u2} S (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_3))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.field.{u2} S _inst_3 _inst_4))))))))) (LocalRing.residue.{u2} S _inst_3 _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_3)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_3)))) 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_3))))) (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_3)))) 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_3)))) (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_3)))) 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_3))) (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_3))))))) f r))
+Case conversion may be inaccurate. Consider using '#align local_ring.residue_field.map_residue LocalRing.ResidueField.map_residueₓ'. -/
 theorem map_residue (f : R →+* S) [IsLocalRingHom f] (r : R) :
     ResidueField.map f (residue R r) = residue S (f r) :=
   rfl
 #align local_ring.residue_field.map_residue LocalRing.ResidueField.map_residue
 
+/- warning: local_ring.residue_field.map_id_apply -> LocalRing.ResidueField.map_id_apply is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] [_inst_2 : LocalRing.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))] (x : LocalRing.ResidueField.{u1} R _inst_1 _inst_2), Eq.{succ u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (coeFn.{succ u1, succ u1} (RingHom.{u1, u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonAssocRing.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.ring.{u1} R _inst_1 _inst_2))) (NonAssocRing.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.ring.{u1} R _inst_1 _inst_2)))) (fun (_x : RingHom.{u1, u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonAssocRing.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.ring.{u1} R _inst_1 _inst_2))) (NonAssocRing.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.ring.{u1} R _inst_1 _inst_2)))) => (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) -> (LocalRing.ResidueField.{u1} R _inst_1 _inst_2)) (RingHom.hasCoeToFun.{u1, u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonAssocRing.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.ring.{u1} R _inst_1 _inst_2))) (NonAssocRing.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.ring.{u1} R _inst_1 _inst_2)))) (LocalRing.ResidueField.map.{u1, u1} R R _inst_1 _inst_2 _inst_1 _inst_2 (RingHom.id.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (isLocalRingHom_id.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) x) x
+but is expected to have type
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] [_inst_2 : LocalRing.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))] (x : LocalRing.ResidueField.{u1} R _inst_1 _inst_2), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LocalRing.ResidueField.{u1} R _inst_1 _inst_2) => LocalRing.ResidueField.{u1} R _inst_1 _inst_2) x) (FunLike.coe.{succ u1, succ u1, succ u1} (RingHom.{u1, u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2)))))) (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (fun (_x : LocalRing.ResidueField.{u1} R _inst_1 _inst_2) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LocalRing.ResidueField.{u1} R _inst_1 _inst_2) => LocalRing.ResidueField.{u1} R _inst_1 _inst_2) _x) (MulHomClass.toFunLike.{u1, u1, u1} (RingHom.{u1, u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2)))))) (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonUnitalNonAssocSemiring.toMul.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))))) (NonUnitalNonAssocSemiring.toMul.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))))) (NonUnitalRingHomClass.toMulHomClass.{u1, u1, u1} (RingHom.{u1, u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2)))))) (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2)))))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2)))))) (RingHomClass.toNonUnitalRingHomClass.{u1, u1, u1} (RingHom.{u1, u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2)))))) (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))) (RingHom.instRingHomClassRingHom.{u1, u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))))))) (LocalRing.ResidueField.map.{u1, u1} R R _inst_1 _inst_2 _inst_1 _inst_2 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (isLocalRingHom_id.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) x) x
+Case conversion may be inaccurate. Consider using '#align local_ring.residue_field.map_id_apply LocalRing.ResidueField.map_id_applyₓ'. -/
 theorem map_id_apply (x : ResidueField R) : map (RingHom.id R) x = x :=
   FunLike.congr_fun map_id x
 #align local_ring.residue_field.map_id_apply LocalRing.ResidueField.map_id_apply
 
+/- warning: local_ring.residue_field.map_map -> LocalRing.ResidueField.map_map is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {S : Type.{u2}} {T : Type.{u3}} [_inst_1 : CommRing.{u1} R] [_inst_2 : LocalRing.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))] [_inst_3 : CommRing.{u2} S] [_inst_4 : LocalRing.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_3))] [_inst_5 : CommRing.{u3} T] [_inst_6 : LocalRing.{u3} T (Ring.toSemiring.{u3} T (CommRing.toRing.{u3} T _inst_5))] (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_3)))) (g : RingHom.{u2, u3} S T (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_3))) (NonAssocRing.toNonAssocSemiring.{u3} T (Ring.toNonAssocRing.{u3} T (CommRing.toRing.{u3} T _inst_5)))) (x : LocalRing.ResidueField.{u1} R _inst_1 _inst_2) [_inst_7 : IsLocalRingHom.{u1, u2} R S (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_3)) f] [_inst_8 : IsLocalRingHom.{u2, u3} S T (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_3)) (Ring.toSemiring.{u3} T (CommRing.toRing.{u3} T _inst_5)) g], Eq.{succ u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (RingHom.{u2, u3} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (NonAssocRing.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Ring.toNonAssocRing.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.ring.{u2} S _inst_3 _inst_4))) (NonAssocRing.toNonAssocSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Ring.toNonAssocRing.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (LocalRing.ResidueField.ring.{u3} T _inst_5 _inst_6)))) (fun (_x : RingHom.{u2, u3} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (NonAssocRing.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Ring.toNonAssocRing.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.ring.{u2} S _inst_3 _inst_4))) (NonAssocRing.toNonAssocSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Ring.toNonAssocRing.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (LocalRing.ResidueField.ring.{u3} T _inst_5 _inst_6)))) => (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) -> (LocalRing.ResidueField.{u3} T _inst_5 _inst_6)) (RingHom.hasCoeToFun.{u2, u3} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (NonAssocRing.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Ring.toNonAssocRing.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.ring.{u2} S _inst_3 _inst_4))) (NonAssocRing.toNonAssocSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Ring.toNonAssocRing.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (LocalRing.ResidueField.ring.{u3} T _inst_5 _inst_6)))) (LocalRing.ResidueField.map.{u2, u3} S T _inst_3 _inst_4 _inst_5 _inst_6 g _inst_8) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (NonAssocRing.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.ring.{u1} R _inst_1 _inst_2))) (NonAssocRing.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Ring.toNonAssocRing.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.ring.{u2} S _inst_3 _inst_4)))) (fun (_x : RingHom.{u1, u2} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (NonAssocRing.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.ring.{u1} R _inst_1 _inst_2))) (NonAssocRing.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Ring.toNonAssocRing.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.ring.{u2} S _inst_3 _inst_4)))) => (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) -> (LocalRing.ResidueField.{u2} S _inst_3 _inst_4)) (RingHom.hasCoeToFun.{u1, u2} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (NonAssocRing.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.ring.{u1} R _inst_1 _inst_2))) (NonAssocRing.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Ring.toNonAssocRing.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.ring.{u2} S _inst_3 _inst_4)))) (LocalRing.ResidueField.map.{u1, u2} R S _inst_1 _inst_2 _inst_3 _inst_4 f _inst_7) x)) (coeFn.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (RingHom.{u1, u3} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (NonAssocRing.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.ring.{u1} R _inst_1 _inst_2))) (NonAssocRing.toNonAssocSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Ring.toNonAssocRing.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (LocalRing.ResidueField.ring.{u3} T _inst_5 _inst_6)))) (fun (_x : RingHom.{u1, u3} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (NonAssocRing.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.ring.{u1} R _inst_1 _inst_2))) (NonAssocRing.toNonAssocSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Ring.toNonAssocRing.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (LocalRing.ResidueField.ring.{u3} T _inst_5 _inst_6)))) => (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) -> (LocalRing.ResidueField.{u3} T _inst_5 _inst_6)) (RingHom.hasCoeToFun.{u1, u3} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (NonAssocRing.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.ring.{u1} R _inst_1 _inst_2))) (NonAssocRing.toNonAssocSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Ring.toNonAssocRing.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (LocalRing.ResidueField.ring.{u3} T _inst_5 _inst_6)))) (LocalRing.ResidueField.map.{u1, u3} R T _inst_1 _inst_2 _inst_5 _inst_6 (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_3))) (NonAssocRing.toNonAssocSemiring.{u3} T (Ring.toNonAssocRing.{u3} T (CommRing.toRing.{u3} T _inst_5))) g f) (isLocalRingHom_comp.{u1, u2, u3} R S T (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_3)) (Ring.toSemiring.{u3} T (CommRing.toRing.{u3} T _inst_5)) g f _inst_8 _inst_7)) x)
+but is expected to have type
+  forall {R : Type.{u1}} {S : Type.{u2}} {T : Type.{u3}} [_inst_1 : CommRing.{u1} R] [_inst_2 : LocalRing.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))] [_inst_3 : CommRing.{u2} S] [_inst_4 : LocalRing.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_3))] [_inst_5 : CommRing.{u3} T] [_inst_6 : LocalRing.{u3} T (CommSemiring.toSemiring.{u3} T (CommRing.toCommSemiring.{u3} T _inst_5))] (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_3)))) (g : RingHom.{u2, u3} S T (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_3))) (Semiring.toNonAssocSemiring.{u3} T (CommSemiring.toSemiring.{u3} T (CommRing.toCommSemiring.{u3} T _inst_5)))) (x : LocalRing.ResidueField.{u1} R _inst_1 _inst_2) [_inst_7 : IsLocalRingHom.{u1, u2} R S (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_3)) f] [_inst_8 : IsLocalRingHom.{u2, u3} S T (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_3)) (CommSemiring.toSemiring.{u3} T (CommRing.toCommSemiring.{u3} T _inst_5)) g], Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LocalRing.ResidueField.{u2} S _inst_3 _inst_4) => LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (RingHom.{u1, u2} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.field.{u2} S _inst_3 _inst_4)))))) (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (fun (a : LocalRing.ResidueField.{u1} R _inst_1 _inst_2) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LocalRing.ResidueField.{u1} R _inst_1 _inst_2) => LocalRing.ResidueField.{u2} S _inst_3 _inst_4) a) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (RingHom.{u1, u2} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.field.{u2} S _inst_3 _inst_4)))))) (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (NonUnitalNonAssocSemiring.toMul.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))))) (NonUnitalNonAssocSemiring.toMul.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.field.{u2} S _inst_3 _inst_4))))))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.field.{u2} S _inst_3 _inst_4)))))) (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2)))))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.field.{u2} S _inst_3 _inst_4)))))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.field.{u2} S _inst_3 _inst_4)))))) (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.field.{u2} S _inst_3 _inst_4))))) (RingHom.instRingHomClassRingHom.{u1, u2} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.field.{u2} S _inst_3 _inst_4))))))))) (LocalRing.ResidueField.map.{u1, u2} R S _inst_1 _inst_2 _inst_3 _inst_4 f _inst_7) x)) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (RingHom.{u2, u3} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.field.{u2} S _inst_3 _inst_4))))) (Semiring.toNonAssocSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (DivisionSemiring.toSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Semifield.toDivisionSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Field.toSemifield.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (LocalRing.ResidueField.field.{u3} T _inst_5 _inst_6)))))) (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (fun (_x : LocalRing.ResidueField.{u2} S _inst_3 _inst_4) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LocalRing.ResidueField.{u2} S _inst_3 _inst_4) => LocalRing.ResidueField.{u3} T _inst_5 _inst_6) _x) (MulHomClass.toFunLike.{max u2 u3, u2, u3} (RingHom.{u2, u3} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.field.{u2} S _inst_3 _inst_4))))) (Semiring.toNonAssocSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (DivisionSemiring.toSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Semifield.toDivisionSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Field.toSemifield.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (LocalRing.ResidueField.field.{u3} T _inst_5 _inst_6)))))) (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (NonUnitalNonAssocSemiring.toMul.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.field.{u2} S _inst_3 _inst_4))))))) (NonUnitalNonAssocSemiring.toMul.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Semiring.toNonAssocSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (DivisionSemiring.toSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Semifield.toDivisionSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Field.toSemifield.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (LocalRing.ResidueField.field.{u3} T _inst_5 _inst_6))))))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.field.{u2} S _inst_3 _inst_4))))) (Semiring.toNonAssocSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (DivisionSemiring.toSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Semifield.toDivisionSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Field.toSemifield.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (LocalRing.ResidueField.field.{u3} T _inst_5 _inst_6)))))) (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.field.{u2} S _inst_3 _inst_4)))))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Semiring.toNonAssocSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (DivisionSemiring.toSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Semifield.toDivisionSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Field.toSemifield.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (LocalRing.ResidueField.field.{u3} T _inst_5 _inst_6)))))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.field.{u2} S _inst_3 _inst_4))))) (Semiring.toNonAssocSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (DivisionSemiring.toSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Semifield.toDivisionSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Field.toSemifield.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (LocalRing.ResidueField.field.{u3} T _inst_5 _inst_6)))))) (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.field.{u2} S _inst_3 _inst_4))))) (Semiring.toNonAssocSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (DivisionSemiring.toSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Semifield.toDivisionSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Field.toSemifield.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (LocalRing.ResidueField.field.{u3} T _inst_5 _inst_6))))) (RingHom.instRingHomClassRingHom.{u2, u3} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.field.{u2} S _inst_3 _inst_4))))) (Semiring.toNonAssocSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (DivisionSemiring.toSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Semifield.toDivisionSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Field.toSemifield.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (LocalRing.ResidueField.field.{u3} T _inst_5 _inst_6))))))))) (LocalRing.ResidueField.map.{u2, u3} S T _inst_3 _inst_4 _inst_5 _inst_6 g _inst_8) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (RingHom.{u1, u2} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.field.{u2} S _inst_3 _inst_4)))))) (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (fun (_x : LocalRing.ResidueField.{u1} R _inst_1 _inst_2) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LocalRing.ResidueField.{u1} R _inst_1 _inst_2) => LocalRing.ResidueField.{u2} S _inst_3 _inst_4) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (RingHom.{u1, u2} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.field.{u2} S _inst_3 _inst_4)))))) (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (NonUnitalNonAssocSemiring.toMul.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))))) (NonUnitalNonAssocSemiring.toMul.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.field.{u2} S _inst_3 _inst_4))))))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.field.{u2} S _inst_3 _inst_4)))))) (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2)))))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.field.{u2} S _inst_3 _inst_4)))))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.field.{u2} S _inst_3 _inst_4)))))) (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.field.{u2} S _inst_3 _inst_4))))) (RingHom.instRingHomClassRingHom.{u1, u2} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.field.{u2} S _inst_3 _inst_4))))))))) (LocalRing.ResidueField.map.{u1, u2} R S _inst_1 _inst_2 _inst_3 _inst_4 f _inst_7) x)) (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (RingHom.{u1, u3} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))) (Semiring.toNonAssocSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (DivisionSemiring.toSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Semifield.toDivisionSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Field.toSemifield.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (LocalRing.ResidueField.field.{u3} T _inst_5 _inst_6)))))) (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (fun (_x : LocalRing.ResidueField.{u1} R _inst_1 _inst_2) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : LocalRing.ResidueField.{u1} R _inst_1 _inst_2) => LocalRing.ResidueField.{u3} T _inst_5 _inst_6) _x) (MulHomClass.toFunLike.{max u1 u3, u1, u3} (RingHom.{u1, u3} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))) (Semiring.toNonAssocSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (DivisionSemiring.toSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Semifield.toDivisionSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Field.toSemifield.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (LocalRing.ResidueField.field.{u3} T _inst_5 _inst_6)))))) (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (NonUnitalNonAssocSemiring.toMul.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))))) (NonUnitalNonAssocSemiring.toMul.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Semiring.toNonAssocSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (DivisionSemiring.toSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Semifield.toDivisionSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Field.toSemifield.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (LocalRing.ResidueField.field.{u3} T _inst_5 _inst_6))))))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u3, u1, u3} (RingHom.{u1, u3} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))) (Semiring.toNonAssocSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (DivisionSemiring.toSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Semifield.toDivisionSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Field.toSemifield.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (LocalRing.ResidueField.field.{u3} T _inst_5 _inst_6)))))) (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2)))))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Semiring.toNonAssocSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (DivisionSemiring.toSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Semifield.toDivisionSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Field.toSemifield.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (LocalRing.ResidueField.field.{u3} T _inst_5 _inst_6)))))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u3, u1, u3} (RingHom.{u1, u3} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))) (Semiring.toNonAssocSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (DivisionSemiring.toSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Semifield.toDivisionSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Field.toSemifield.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (LocalRing.ResidueField.field.{u3} T _inst_5 _inst_6)))))) (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))) (Semiring.toNonAssocSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (DivisionSemiring.toSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Semifield.toDivisionSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Field.toSemifield.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (LocalRing.ResidueField.field.{u3} T _inst_5 _inst_6))))) (RingHom.instRingHomClassRingHom.{u1, u3} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toSemifield.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))) (Semiring.toNonAssocSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (DivisionSemiring.toSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Semifield.toDivisionSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Field.toSemifield.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (LocalRing.ResidueField.field.{u3} T _inst_5 _inst_6))))))))) (LocalRing.ResidueField.map.{u1, u3} R T _inst_1 _inst_2 _inst_5 _inst_6 (RingHom.comp.{u1, u2, u3} R S T (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_3))) (Semiring.toNonAssocSemiring.{u3} T (CommSemiring.toSemiring.{u3} T (CommRing.toCommSemiring.{u3} T _inst_5))) g f) (isLocalRingHom_comp.{u1, u2, u3} R S T (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_3)) (CommSemiring.toSemiring.{u3} T (CommRing.toCommSemiring.{u3} T _inst_5)) g f _inst_8 _inst_7)) x)
+Case conversion may be inaccurate. Consider using '#align local_ring.residue_field.map_map LocalRing.ResidueField.map_mapₓ'. -/
 @[simp]
 theorem map_map (f : R →+* S) (g : S →+* T) (x : ResidueField R) [IsLocalRingHom f]
     [IsLocalRingHom g] : map g (map f x) = map (g.comp f) x :=
   FunLike.congr_fun (map_comp f g).symm x
 #align local_ring.residue_field.map_map LocalRing.ResidueField.map_map
 
+/- warning: local_ring.residue_field.map_equiv -> LocalRing.ResidueField.mapEquiv is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : LocalRing.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))] [_inst_3 : CommRing.{u2} S] [_inst_4 : LocalRing.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_3))], (RingEquiv.{u1, u2} R S (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Distrib.toHasMul.{u2} S (Ring.toDistrib.{u2} S (CommRing.toRing.{u2} S _inst_3))) (Distrib.toHasAdd.{u2} S (Ring.toDistrib.{u2} S (CommRing.toRing.{u2} S _inst_3)))) -> (RingEquiv.{u1, u2} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Distrib.toHasMul.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toDistrib.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.ring.{u1} R _inst_1 _inst_2))) (Distrib.toHasAdd.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toDistrib.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.ring.{u1} R _inst_1 _inst_2))) (Distrib.toHasMul.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Ring.toDistrib.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.ring.{u2} S _inst_3 _inst_4))) (Distrib.toHasAdd.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Ring.toDistrib.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.ring.{u2} S _inst_3 _inst_4))))
+but is expected to have type
+  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : LocalRing.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))] [_inst_3 : CommRing.{u2} S] [_inst_4 : LocalRing.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_3))], (RingEquiv.{u1, u2} R S (NonUnitalNonAssocRing.toMul.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (NonUnitalNonAssocRing.toMul.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_3)))) (Distrib.toAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (Distrib.toAdd.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_3))))))) -> (RingEquiv.{u1, u2} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (NonUnitalNonAssocRing.toMul.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonAssocRing.toNonUnitalNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionRing.toRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toDivisionRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2)))))) (NonUnitalNonAssocRing.toMul.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (NonAssocRing.toNonUnitalNonAssocRing.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Ring.toNonAssocRing.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (DivisionRing.toRing.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Field.toDivisionRing.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.field.{u2} S _inst_3 _inst_4)))))) (Distrib.toAdd.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonUnitalNonAssocSemiring.toDistrib.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonAssocRing.toNonUnitalNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionRing.toRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toDivisionRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2)))))))) (Distrib.toAdd.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (NonUnitalNonAssocSemiring.toDistrib.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (NonAssocRing.toNonUnitalNonAssocRing.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Ring.toNonAssocRing.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (DivisionRing.toRing.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Field.toDivisionRing.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.field.{u2} S _inst_3 _inst_4)))))))))
+Case conversion may be inaccurate. Consider using '#align local_ring.residue_field.map_equiv LocalRing.ResidueField.mapEquivₓ'. -/
 /-- A ring isomorphism defines an isomorphism of residue fields. -/
 @[simps apply]
 def mapEquiv (f : R ≃+* S) : LocalRing.ResidueField R ≃+* LocalRing.ResidueField S
@@ -449,22 +665,46 @@ def mapEquiv (f : R ≃+* S) : LocalRing.ResidueField R ≃+* LocalRing.ResidueF
   map_add' := RingHom.map_add _
 #align local_ring.residue_field.map_equiv LocalRing.ResidueField.mapEquiv
 
+/- warning: local_ring.residue_field.map_equiv.symm -> LocalRing.ResidueField.mapEquiv.symm is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : LocalRing.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))] [_inst_3 : CommRing.{u2} S] [_inst_4 : LocalRing.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_3))] (f : RingEquiv.{u1, u2} R S (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Distrib.toHasMul.{u2} S (Ring.toDistrib.{u2} S (CommRing.toRing.{u2} S _inst_3))) (Distrib.toHasAdd.{u2} S (Ring.toDistrib.{u2} S (CommRing.toRing.{u2} S _inst_3)))), Eq.{max (succ u2) (succ u1)} (RingEquiv.{u2, u1} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Distrib.toHasMul.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Ring.toDistrib.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.ring.{u2} S _inst_3 _inst_4))) (Distrib.toHasAdd.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Ring.toDistrib.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.ring.{u2} S _inst_3 _inst_4))) (Distrib.toHasMul.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toDistrib.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.ring.{u1} R _inst_1 _inst_2))) (Distrib.toHasAdd.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toDistrib.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.ring.{u1} R _inst_1 _inst_2)))) (RingEquiv.symm.{u1, u2} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Distrib.toHasMul.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toDistrib.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.ring.{u1} R _inst_1 _inst_2))) (Distrib.toHasAdd.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toDistrib.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.ring.{u1} R _inst_1 _inst_2))) (Distrib.toHasMul.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Ring.toDistrib.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.ring.{u2} S _inst_3 _inst_4))) (Distrib.toHasAdd.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Ring.toDistrib.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.ring.{u2} S _inst_3 _inst_4))) (LocalRing.ResidueField.mapEquiv.{u1, u2} R S _inst_1 _inst_2 _inst_3 _inst_4 f)) (LocalRing.ResidueField.mapEquiv.{u2, u1} S R _inst_3 _inst_4 _inst_1 _inst_2 (RingEquiv.symm.{u1, u2} R S (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Distrib.toHasMul.{u2} S (Ring.toDistrib.{u2} S (CommRing.toRing.{u2} S _inst_3))) (Distrib.toHasAdd.{u2} S (Ring.toDistrib.{u2} S (CommRing.toRing.{u2} S _inst_3))) f))
+but is expected to have type
+  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : LocalRing.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))] [_inst_3 : CommRing.{u2} S] [_inst_4 : LocalRing.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_3))] (f : RingEquiv.{u1, u2} R S (NonUnitalNonAssocRing.toMul.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (NonUnitalNonAssocRing.toMul.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_3)))) (Distrib.toAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (Distrib.toAdd.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_3))))))), Eq.{max (succ u1) (succ u2)} (RingEquiv.{u2, u1} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonUnitalNonAssocRing.toMul.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (NonAssocRing.toNonUnitalNonAssocRing.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Ring.toNonAssocRing.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (DivisionRing.toRing.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Field.toDivisionRing.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.field.{u2} S _inst_3 _inst_4)))))) (NonUnitalNonAssocRing.toMul.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonAssocRing.toNonUnitalNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionRing.toRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toDivisionRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2)))))) (Distrib.toAdd.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (NonUnitalNonAssocSemiring.toDistrib.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (NonAssocRing.toNonUnitalNonAssocRing.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Ring.toNonAssocRing.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (DivisionRing.toRing.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Field.toDivisionRing.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.field.{u2} S _inst_3 _inst_4)))))))) (Distrib.toAdd.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonUnitalNonAssocSemiring.toDistrib.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonAssocRing.toNonUnitalNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionRing.toRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toDivisionRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))))))) (RingEquiv.symm.{u1, u2} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (NonUnitalNonAssocRing.toMul.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonAssocRing.toNonUnitalNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionRing.toRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toDivisionRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2)))))) (NonUnitalNonAssocRing.toMul.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (NonAssocRing.toNonUnitalNonAssocRing.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Ring.toNonAssocRing.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (DivisionRing.toRing.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Field.toDivisionRing.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.field.{u2} S _inst_3 _inst_4)))))) (Distrib.toAdd.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonUnitalNonAssocSemiring.toDistrib.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonAssocRing.toNonUnitalNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionRing.toRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toDivisionRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2)))))))) (Distrib.toAdd.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (NonUnitalNonAssocSemiring.toDistrib.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (NonAssocRing.toNonUnitalNonAssocRing.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Ring.toNonAssocRing.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (DivisionRing.toRing.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Field.toDivisionRing.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.field.{u2} S _inst_3 _inst_4)))))))) (LocalRing.ResidueField.mapEquiv.{u1, u2} R S _inst_1 _inst_2 _inst_3 _inst_4 f)) (LocalRing.ResidueField.mapEquiv.{u2, u1} S R _inst_3 _inst_4 _inst_1 _inst_2 (RingEquiv.symm.{u1, u2} R S (NonUnitalNonAssocRing.toMul.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (NonUnitalNonAssocRing.toMul.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_3)))) (Distrib.toAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (Distrib.toAdd.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_3)))))) f))
+Case conversion may be inaccurate. Consider using '#align local_ring.residue_field.map_equiv.symm LocalRing.ResidueField.mapEquiv.symmₓ'. -/
 @[simp]
 theorem mapEquiv.symm (f : R ≃+* S) : (mapEquiv f).symm = mapEquiv f.symm :=
   rfl
 #align local_ring.residue_field.map_equiv.symm LocalRing.ResidueField.mapEquiv.symm
 
+/- warning: local_ring.residue_field.map_equiv_trans -> LocalRing.ResidueField.mapEquiv_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_2 : LocalRing.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))] [_inst_3 : CommRing.{u2} S] [_inst_4 : LocalRing.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_3))] [_inst_5 : CommRing.{u3} T] [_inst_6 : LocalRing.{u3} T (Ring.toSemiring.{u3} T (CommRing.toRing.{u3} T _inst_5))] (e₁ : RingEquiv.{u1, u2} R S (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Distrib.toHasMul.{u2} S (Ring.toDistrib.{u2} S (CommRing.toRing.{u2} S _inst_3))) (Distrib.toHasAdd.{u2} S (Ring.toDistrib.{u2} S (CommRing.toRing.{u2} S _inst_3)))) (e₂ : RingEquiv.{u2, u3} S T (Distrib.toHasMul.{u2} S (Ring.toDistrib.{u2} S (CommRing.toRing.{u2} S _inst_3))) (Distrib.toHasAdd.{u2} S (Ring.toDistrib.{u2} S (CommRing.toRing.{u2} S _inst_3))) (Distrib.toHasMul.{u3} T (Ring.toDistrib.{u3} T (CommRing.toRing.{u3} T _inst_5))) (Distrib.toHasAdd.{u3} T (Ring.toDistrib.{u3} T (CommRing.toRing.{u3} T _inst_5)))), Eq.{max (succ u1) (succ u3)} (RingEquiv.{u1, u3} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Distrib.toHasMul.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toDistrib.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.ring.{u1} R _inst_1 _inst_2))) (Distrib.toHasAdd.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toDistrib.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.ring.{u1} R _inst_1 _inst_2))) (Distrib.toHasMul.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Ring.toDistrib.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (LocalRing.ResidueField.ring.{u3} T _inst_5 _inst_6))) (Distrib.toHasAdd.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Ring.toDistrib.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (LocalRing.ResidueField.ring.{u3} T _inst_5 _inst_6)))) (LocalRing.ResidueField.mapEquiv.{u1, u3} R T _inst_1 _inst_2 _inst_5 _inst_6 (RingEquiv.trans.{u1, u2, u3} R S T (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Distrib.toHasMul.{u2} S (Ring.toDistrib.{u2} S (CommRing.toRing.{u2} S _inst_3))) (Distrib.toHasAdd.{u2} S (Ring.toDistrib.{u2} S (CommRing.toRing.{u2} S _inst_3))) (Distrib.toHasMul.{u3} T (Ring.toDistrib.{u3} T (CommRing.toRing.{u3} T _inst_5))) (Distrib.toHasAdd.{u3} T (Ring.toDistrib.{u3} T (CommRing.toRing.{u3} T _inst_5))) e₁ e₂)) (RingEquiv.trans.{u1, u2, u3} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Distrib.toHasMul.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toDistrib.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.ring.{u1} R _inst_1 _inst_2))) (Distrib.toHasAdd.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toDistrib.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.ring.{u1} R _inst_1 _inst_2))) (Distrib.toHasMul.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Ring.toDistrib.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.ring.{u2} S _inst_3 _inst_4))) (Distrib.toHasAdd.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Ring.toDistrib.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.ring.{u2} S _inst_3 _inst_4))) (Distrib.toHasMul.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Ring.toDistrib.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (LocalRing.ResidueField.ring.{u3} T _inst_5 _inst_6))) (Distrib.toHasAdd.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Ring.toDistrib.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (LocalRing.ResidueField.ring.{u3} T _inst_5 _inst_6))) (LocalRing.ResidueField.mapEquiv.{u1, u2} R S _inst_1 _inst_2 _inst_3 _inst_4 e₁) (LocalRing.ResidueField.mapEquiv.{u2, u3} S T _inst_3 _inst_4 _inst_5 _inst_6 e₂))
+but is expected to have type
+  forall {R : Type.{u1}} {S : Type.{u2}} {T : Type.{u3}} [_inst_1 : CommRing.{u1} R] [_inst_2 : LocalRing.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))] [_inst_3 : CommRing.{u2} S] [_inst_4 : LocalRing.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_3))] [_inst_5 : CommRing.{u3} T] [_inst_6 : LocalRing.{u3} T (CommSemiring.toSemiring.{u3} T (CommRing.toCommSemiring.{u3} T _inst_5))] (e₁ : RingEquiv.{u1, u2} R S (NonUnitalNonAssocRing.toMul.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (NonUnitalNonAssocRing.toMul.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_3)))) (Distrib.toAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (Distrib.toAdd.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_3))))))) (e₂ : RingEquiv.{u2, u3} S T (NonUnitalNonAssocRing.toMul.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_3)))) (NonUnitalNonAssocRing.toMul.{u3} T (NonAssocRing.toNonUnitalNonAssocRing.{u3} T (Ring.toNonAssocRing.{u3} T (CommRing.toRing.{u3} T _inst_5)))) (Distrib.toAdd.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_3)))))) (Distrib.toAdd.{u3} T (NonUnitalNonAssocSemiring.toDistrib.{u3} T (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} T (NonAssocRing.toNonUnitalNonAssocRing.{u3} T (Ring.toNonAssocRing.{u3} T (CommRing.toRing.{u3} T _inst_5))))))), Eq.{max (succ u1) (succ u3)} (RingEquiv.{u1, u3} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (NonUnitalNonAssocRing.toMul.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonAssocRing.toNonUnitalNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionRing.toRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toDivisionRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2)))))) (NonUnitalNonAssocRing.toMul.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (NonAssocRing.toNonUnitalNonAssocRing.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Ring.toNonAssocRing.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (DivisionRing.toRing.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Field.toDivisionRing.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (LocalRing.ResidueField.field.{u3} T _inst_5 _inst_6)))))) (Distrib.toAdd.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonUnitalNonAssocSemiring.toDistrib.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonAssocRing.toNonUnitalNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionRing.toRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toDivisionRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2)))))))) (Distrib.toAdd.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (NonUnitalNonAssocSemiring.toDistrib.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (NonAssocRing.toNonUnitalNonAssocRing.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Ring.toNonAssocRing.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (DivisionRing.toRing.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Field.toDivisionRing.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (LocalRing.ResidueField.field.{u3} T _inst_5 _inst_6))))))))) (LocalRing.ResidueField.mapEquiv.{u1, u3} R T _inst_1 _inst_2 _inst_5 _inst_6 (RingEquiv.trans.{u1, u2, u3} R S T (NonUnitalNonAssocRing.toMul.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (NonUnitalNonAssocRing.toMul.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_3)))) (Distrib.toAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (Distrib.toAdd.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_3)))))) (NonUnitalNonAssocRing.toMul.{u3} T (NonAssocRing.toNonUnitalNonAssocRing.{u3} T (Ring.toNonAssocRing.{u3} T (CommRing.toRing.{u3} T _inst_5)))) (Distrib.toAdd.{u3} T (NonUnitalNonAssocSemiring.toDistrib.{u3} T (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} T (NonAssocRing.toNonUnitalNonAssocRing.{u3} T (Ring.toNonAssocRing.{u3} T (CommRing.toRing.{u3} T _inst_5)))))) e₁ e₂)) (RingEquiv.trans.{u1, u2, u3} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (NonUnitalNonAssocRing.toMul.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonAssocRing.toNonUnitalNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionRing.toRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toDivisionRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2)))))) (NonUnitalNonAssocRing.toMul.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (NonAssocRing.toNonUnitalNonAssocRing.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Ring.toNonAssocRing.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (DivisionRing.toRing.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Field.toDivisionRing.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.field.{u2} S _inst_3 _inst_4)))))) (Distrib.toAdd.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonUnitalNonAssocSemiring.toDistrib.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonAssocRing.toNonUnitalNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionRing.toRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toDivisionRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2)))))))) (Distrib.toAdd.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (NonUnitalNonAssocSemiring.toDistrib.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (NonAssocRing.toNonUnitalNonAssocRing.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Ring.toNonAssocRing.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (DivisionRing.toRing.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (Field.toDivisionRing.{u2} (LocalRing.ResidueField.{u2} S _inst_3 _inst_4) (LocalRing.ResidueField.field.{u2} S _inst_3 _inst_4)))))))) (NonUnitalNonAssocRing.toMul.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (NonAssocRing.toNonUnitalNonAssocRing.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Ring.toNonAssocRing.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (DivisionRing.toRing.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Field.toDivisionRing.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (LocalRing.ResidueField.field.{u3} T _inst_5 _inst_6)))))) (Distrib.toAdd.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (NonUnitalNonAssocSemiring.toDistrib.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (NonAssocRing.toNonUnitalNonAssocRing.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Ring.toNonAssocRing.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (DivisionRing.toRing.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (Field.toDivisionRing.{u3} (LocalRing.ResidueField.{u3} T _inst_5 _inst_6) (LocalRing.ResidueField.field.{u3} T _inst_5 _inst_6)))))))) (LocalRing.ResidueField.mapEquiv.{u1, u2} R S _inst_1 _inst_2 _inst_3 _inst_4 e₁) (LocalRing.ResidueField.mapEquiv.{u2, u3} S T _inst_3 _inst_4 _inst_5 _inst_6 e₂))
+Case conversion may be inaccurate. Consider using '#align local_ring.residue_field.map_equiv_trans LocalRing.ResidueField.mapEquiv_transₓ'. -/
 @[simp]
 theorem mapEquiv_trans (e₁ : R ≃+* S) (e₂ : S ≃+* T) :
     mapEquiv (e₁.trans e₂) = (mapEquiv e₁).trans (mapEquiv e₂) :=
   RingEquiv.toRingHom_injective <| map_comp (e₁ : R →+* S) (e₂ : S →+* T)
 #align local_ring.residue_field.map_equiv_trans LocalRing.ResidueField.mapEquiv_trans
 
+/- warning: local_ring.residue_field.map_equiv_refl -> LocalRing.ResidueField.mapEquiv_refl is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] [_inst_2 : LocalRing.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))], Eq.{succ u1} (RingEquiv.{u1, u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Distrib.toHasMul.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toDistrib.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.ring.{u1} R _inst_1 _inst_2))) (Distrib.toHasAdd.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toDistrib.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.ring.{u1} R _inst_1 _inst_2))) (Distrib.toHasMul.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toDistrib.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.ring.{u1} R _inst_1 _inst_2))) (Distrib.toHasAdd.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toDistrib.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.ring.{u1} R _inst_1 _inst_2)))) (LocalRing.ResidueField.mapEquiv.{u1, u1} R R _inst_1 _inst_2 _inst_1 _inst_2 (RingEquiv.refl.{u1} R (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (RingEquiv.refl.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Distrib.toHasMul.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toDistrib.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.ring.{u1} R _inst_1 _inst_2))) (Distrib.toHasAdd.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toDistrib.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.ring.{u1} R _inst_1 _inst_2))))
+but is expected to have type
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] [_inst_2 : LocalRing.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))], Eq.{succ u1} (RingEquiv.{u1, u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonUnitalNonAssocRing.toMul.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonAssocRing.toNonUnitalNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionRing.toRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toDivisionRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2)))))) (NonUnitalNonAssocRing.toMul.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonAssocRing.toNonUnitalNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionRing.toRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toDivisionRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2)))))) (Distrib.toAdd.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonUnitalNonAssocSemiring.toDistrib.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonAssocRing.toNonUnitalNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionRing.toRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toDivisionRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2)))))))) (Distrib.toAdd.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonUnitalNonAssocSemiring.toDistrib.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonAssocRing.toNonUnitalNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionRing.toRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toDivisionRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))))))) (LocalRing.ResidueField.mapEquiv.{u1, u1} R R _inst_1 _inst_2 _inst_1 _inst_2 (RingEquiv.refl.{u1} R (NonUnitalNonAssocRing.toMul.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Distrib.toAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))))) (RingEquiv.refl.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonUnitalNonAssocRing.toMul.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonAssocRing.toNonUnitalNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionRing.toRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toDivisionRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2)))))) (Distrib.toAdd.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonUnitalNonAssocSemiring.toDistrib.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonAssocRing.toNonUnitalNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionRing.toRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toDivisionRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2)))))))))
+Case conversion may be inaccurate. Consider using '#align local_ring.residue_field.map_equiv_refl LocalRing.ResidueField.mapEquiv_reflₓ'. -/
 @[simp]
 theorem mapEquiv_refl : mapEquiv (RingEquiv.refl R) = RingEquiv.refl _ :=
   RingEquiv.toRingHom_injective map_id
 #align local_ring.residue_field.map_equiv_refl LocalRing.ResidueField.mapEquiv_refl
 
+/- warning: local_ring.residue_field.map_aut -> LocalRing.ResidueField.mapAut is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] [_inst_2 : LocalRing.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))], MonoidHom.{u1, u1} (RingAut.{u1} R (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingAut.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Distrib.toHasMul.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toDistrib.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.ring.{u1} R _inst_1 _inst_2))) (Distrib.toHasAdd.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toDistrib.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.ring.{u1} R _inst_1 _inst_2)))) (Monoid.toMulOneClass.{u1} (RingAut.{u1} R (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (DivInvMonoid.toMonoid.{u1} (RingAut.{u1} R (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Group.toDivInvMonoid.{u1} (RingAut.{u1} R (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (RingAut.group.{u1} R (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) (Monoid.toMulOneClass.{u1} (RingAut.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Distrib.toHasMul.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toDistrib.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.ring.{u1} R _inst_1 _inst_2))) (Distrib.toHasAdd.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toDistrib.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.ring.{u1} R _inst_1 _inst_2)))) (DivInvMonoid.toMonoid.{u1} (RingAut.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Distrib.toHasMul.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toDistrib.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.ring.{u1} R _inst_1 _inst_2))) (Distrib.toHasAdd.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toDistrib.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.ring.{u1} R _inst_1 _inst_2)))) (Group.toDivInvMonoid.{u1} (RingAut.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Distrib.toHasMul.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toDistrib.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.ring.{u1} R _inst_1 _inst_2))) (Distrib.toHasAdd.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toDistrib.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.ring.{u1} R _inst_1 _inst_2)))) (RingAut.group.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Distrib.toHasMul.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toDistrib.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.ring.{u1} R _inst_1 _inst_2))) (Distrib.toHasAdd.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toDistrib.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.ring.{u1} R _inst_1 _inst_2)))))))
+but is expected to have type
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] [_inst_2 : LocalRing.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))], MonoidHom.{u1, u1} (RingAut.{u1} R (NonUnitalNonAssocRing.toMul.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Distrib.toAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) (RingAut.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonUnitalNonAssocRing.toMul.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonAssocRing.toNonUnitalNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionRing.toRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toDivisionRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2)))))) (Distrib.toAdd.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonUnitalNonAssocSemiring.toDistrib.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonAssocRing.toNonUnitalNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionRing.toRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toDivisionRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))))))) (Monoid.toMulOneClass.{u1} (RingAut.{u1} R (NonUnitalNonAssocRing.toMul.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Distrib.toAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) (DivInvMonoid.toMonoid.{u1} (RingAut.{u1} R (NonUnitalNonAssocRing.toMul.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Distrib.toAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) (Group.toDivInvMonoid.{u1} (RingAut.{u1} R (NonUnitalNonAssocRing.toMul.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Distrib.toAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) (RingAut.instGroupRingAut.{u1} R (NonUnitalNonAssocRing.toMul.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Distrib.toAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))))))))) (Monoid.toMulOneClass.{u1} (RingAut.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonUnitalNonAssocRing.toMul.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonAssocRing.toNonUnitalNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionRing.toRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toDivisionRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2)))))) (Distrib.toAdd.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonUnitalNonAssocSemiring.toDistrib.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonAssocRing.toNonUnitalNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionRing.toRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toDivisionRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))))))) (DivInvMonoid.toMonoid.{u1} (RingAut.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonUnitalNonAssocRing.toMul.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonAssocRing.toNonUnitalNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionRing.toRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toDivisionRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2)))))) (Distrib.toAdd.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonUnitalNonAssocSemiring.toDistrib.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonAssocRing.toNonUnitalNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionRing.toRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toDivisionRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))))))) (Group.toDivInvMonoid.{u1} (RingAut.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonUnitalNonAssocRing.toMul.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonAssocRing.toNonUnitalNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionRing.toRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toDivisionRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2)))))) (Distrib.toAdd.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonUnitalNonAssocSemiring.toDistrib.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonAssocRing.toNonUnitalNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionRing.toRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toDivisionRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))))))) (RingAut.instGroupRingAut.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonUnitalNonAssocRing.toMul.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonAssocRing.toNonUnitalNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionRing.toRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toDivisionRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2)))))) (Distrib.toAdd.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonUnitalNonAssocSemiring.toDistrib.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonAssocRing.toNonUnitalNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivisionRing.toRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Field.toDivisionRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u1} R _inst_1 _inst_2))))))))))))
+Case conversion may be inaccurate. Consider using '#align local_ring.residue_field.map_aut LocalRing.ResidueField.mapAutₓ'. -/
 /-- The group homomorphism from `ring_aut R` to `ring_aut k` where `k`
 is the residue field of `R`. -/
 @[simps]
@@ -483,6 +723,12 @@ variable (G : Type _) [Group G] [MulSemiringAction G R]
 instance : MulSemiringAction G (LocalRing.ResidueField R) :=
   MulSemiringAction.compHom _ <| mapAut.comp (MulSemiringAction.toRingAut G R)
 
+/- warning: local_ring.residue_field.residue_smul -> LocalRing.ResidueField.residue_smul is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] [_inst_2 : LocalRing.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))] (G : Type.{u2}) [_inst_7 : Group.{u2} G] [_inst_8 : MulSemiringAction.{u2, u1} G R (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_7)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))] (g : G) (r : R), Eq.{succ u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (coeFn.{succ u1, succ u1} (RingHom.{u1, u1} R (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.ring.{u1} R _inst_1 _inst_2)))) (fun (_x : RingHom.{u1, u1} R (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.ring.{u1} R _inst_1 _inst_2)))) => R -> (LocalRing.ResidueField.{u1} R _inst_1 _inst_2)) (RingHom.hasCoeToFun.{u1, u1} R (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.ring.{u1} R _inst_1 _inst_2)))) (LocalRing.residue.{u1} R _inst_1 _inst_2) (SMul.smul.{u2, u1} G R (SMulZeroClass.toHasSmul.{u2, u1} G R (AddZeroClass.toHasZero.{u1} R (AddMonoid.toAddZeroClass.{u1} R (AddMonoidWithOne.toAddMonoid.{u1} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} R (NonAssocSemiring.toAddCommMonoidWithOne.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))))) (DistribSMul.toSmulZeroClass.{u2, u1} G R (AddMonoid.toAddZeroClass.{u1} R (AddMonoidWithOne.toAddMonoid.{u1} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} R (NonAssocSemiring.toAddCommMonoidWithOne.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) (DistribMulAction.toDistribSMul.{u2, u1} G R (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_7)) (AddMonoidWithOne.toAddMonoid.{u1} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} R (NonAssocSemiring.toAddCommMonoidWithOne.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (MulSemiringAction.toDistribMulAction.{u2, u1} G R (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_7)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) _inst_8)))) g r)) (SMul.smul.{u2, u1} G (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (SMulZeroClass.toHasSmul.{u2, u1} G (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (AddZeroClass.toHasZero.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (AddMonoid.toAddZeroClass.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (AddMonoidWithOne.toAddMonoid.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonAssocSemiring.toAddCommMonoidWithOne.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.ring.{u1} R _inst_1 _inst_2)))))))) (DistribSMul.toSmulZeroClass.{u2, u1} G (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (AddMonoid.toAddZeroClass.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (AddMonoidWithOne.toAddMonoid.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonAssocSemiring.toAddCommMonoidWithOne.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.ring.{u1} R _inst_1 _inst_2))))))) (DistribMulAction.toDistribSMul.{u2, u1} G (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_7)) (AddMonoidWithOne.toAddMonoid.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonAssocSemiring.toAddCommMonoidWithOne.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.ring.{u1} R _inst_1 _inst_2)))))) (MulSemiringAction.toDistribMulAction.{u2, u1} G (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (DivInvMonoid.toMonoid.{u2} G (Group.toDivInvMonoid.{u2} G _inst_7)) (Ring.toSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.ring.{u1} R _inst_1 _inst_2)) (LocalRing.ResidueField.mulSemiringAction.{u1, u2} R _inst_1 _inst_2 G _inst_7 _inst_8))))) g (coeFn.{succ u1, succ u1} (RingHom.{u1, u1} R (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.ring.{u1} R _inst_1 _inst_2)))) (fun (_x : RingHom.{u1, u1} R (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.ring.{u1} R _inst_1 _inst_2)))) => R -> (LocalRing.ResidueField.{u1} R _inst_1 _inst_2)) (RingHom.hasCoeToFun.{u1, u1} R (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (Ring.toNonAssocRing.{u1} (LocalRing.ResidueField.{u1} R _inst_1 _inst_2) (LocalRing.ResidueField.ring.{u1} R _inst_1 _inst_2)))) (LocalRing.residue.{u1} R _inst_1 _inst_2) r))
+but is expected to have type
+  forall {R : Type.{u2}} [_inst_1 : CommRing.{u2} R] [_inst_2 : LocalRing.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))] (G : Type.{u1}) [_inst_7 : Group.{u1} G] [_inst_8 : MulSemiringAction.{u1, u2} G R (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_7)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))] (g : G) (r : R), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (HSMul.hSMul.{u1, u2, u2} G R R (instHSMul.{u1, u2} G R (SMulZeroClass.toSMul.{u1, u2} G R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (DistribSMul.toSMulZeroClass.{u1, u2} G R (AddMonoid.toAddZeroClass.{u2} R (AddMonoidWithOne.toAddMonoid.{u2} R (AddGroupWithOne.toAddMonoidWithOne.{u2} R (Ring.toAddGroupWithOne.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (DistribMulAction.toDistribSMul.{u1, u2} G R (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_7)) (AddMonoidWithOne.toAddMonoid.{u2} R (AddGroupWithOne.toAddMonoidWithOne.{u2} R (Ring.toAddGroupWithOne.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (MulSemiringAction.toDistribMulAction.{u1, u2} G R (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_7)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) _inst_8))))) g r)) (FunLike.coe.{succ u2, succ u2, succ u2} (RingHom.{u2, u2} R (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u2} R _inst_1 _inst_2)))))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => LocalRing.ResidueField.{u2} R _inst_1 _inst_2) _x) (MulHomClass.toFunLike.{u2, u2, u2} (RingHom.{u2, u2} R (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u2} R _inst_1 _inst_2)))))) R (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (NonUnitalNonAssocSemiring.toMul.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u2} R _inst_1 _inst_2))))))) (NonUnitalRingHomClass.toMulHomClass.{u2, u2, u2} (RingHom.{u2, u2} R (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u2} R _inst_1 _inst_2)))))) R (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u2} R _inst_1 _inst_2)))))) (RingHomClass.toNonUnitalRingHomClass.{u2, u2, u2} (RingHom.{u2, u2} R (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u2} R _inst_1 _inst_2)))))) R (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u2} R _inst_1 _inst_2))))) (RingHom.instRingHomClassRingHom.{u2, u2} R (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u2} R _inst_1 _inst_2))))))))) (LocalRing.residue.{u2} R _inst_1 _inst_2) (HSMul.hSMul.{u1, u2, u2} G R R (instHSMul.{u1, u2} G R (SMulZeroClass.toSMul.{u1, u2} G R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (DistribSMul.toSMulZeroClass.{u1, u2} G R (AddMonoid.toAddZeroClass.{u2} R (AddMonoidWithOne.toAddMonoid.{u2} R (AddGroupWithOne.toAddMonoidWithOne.{u2} R (Ring.toAddGroupWithOne.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (DistribMulAction.toDistribSMul.{u1, u2} G R (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_7)) (AddMonoidWithOne.toAddMonoid.{u2} R (AddGroupWithOne.toAddMonoidWithOne.{u2} R (Ring.toAddGroupWithOne.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (MulSemiringAction.toDistribMulAction.{u1, u2} G R (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_7)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) _inst_8))))) g r)) (HSMul.hSMul.{u1, u2, u2} G ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => LocalRing.ResidueField.{u2} R _inst_1 _inst_2) r) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => LocalRing.ResidueField.{u2} R _inst_1 _inst_2) r) (instHSMul.{u1, u2} G ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => LocalRing.ResidueField.{u2} R _inst_1 _inst_2) r) (SMulZeroClass.toSMul.{u1, u2} G ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => LocalRing.ResidueField.{u2} R _inst_1 _inst_2) r) (CommMonoidWithZero.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => LocalRing.ResidueField.{u2} R _inst_1 _inst_2) r) (CommGroupWithZero.toCommMonoidWithZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => LocalRing.ResidueField.{u2} R _inst_1 _inst_2) r) (Semifield.toCommGroupWithZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => LocalRing.ResidueField.{u2} R _inst_1 _inst_2) r) (Field.toSemifield.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => LocalRing.ResidueField.{u2} R _inst_1 _inst_2) r) (LocalRing.ResidueField.field.{u2} R _inst_1 _inst_2))))) (DistribSMul.toSMulZeroClass.{u1, u2} G ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => LocalRing.ResidueField.{u2} R _inst_1 _inst_2) r) (AddMonoid.toAddZeroClass.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => LocalRing.ResidueField.{u2} R _inst_1 _inst_2) r) (AddMonoidWithOne.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => LocalRing.ResidueField.{u2} R _inst_1 _inst_2) r) (AddGroupWithOne.toAddMonoidWithOne.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => LocalRing.ResidueField.{u2} R _inst_1 _inst_2) r) (Ring.toAddGroupWithOne.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => LocalRing.ResidueField.{u2} R _inst_1 _inst_2) r) (DivisionRing.toRing.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => LocalRing.ResidueField.{u2} R _inst_1 _inst_2) r) (Field.toDivisionRing.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => LocalRing.ResidueField.{u2} R _inst_1 _inst_2) r) (LocalRing.ResidueField.field.{u2} R _inst_1 _inst_2))))))) (DistribMulAction.toDistribSMul.{u1, u2} G ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => LocalRing.ResidueField.{u2} R _inst_1 _inst_2) r) (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_7)) (AddMonoidWithOne.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => LocalRing.ResidueField.{u2} R _inst_1 _inst_2) r) (AddGroupWithOne.toAddMonoidWithOne.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => LocalRing.ResidueField.{u2} R _inst_1 _inst_2) r) (Ring.toAddGroupWithOne.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => LocalRing.ResidueField.{u2} R _inst_1 _inst_2) r) (DivisionRing.toRing.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => LocalRing.ResidueField.{u2} R _inst_1 _inst_2) r) (Field.toDivisionRing.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => LocalRing.ResidueField.{u2} R _inst_1 _inst_2) r) (LocalRing.ResidueField.field.{u2} R _inst_1 _inst_2)))))) (MulSemiringAction.toDistribMulAction.{u1, u2} G ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => LocalRing.ResidueField.{u2} R _inst_1 _inst_2) r) (DivInvMonoid.toMonoid.{u1} G (Group.toDivInvMonoid.{u1} G _inst_7)) (Ring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => LocalRing.ResidueField.{u2} R _inst_1 _inst_2) r) (DivisionRing.toRing.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => LocalRing.ResidueField.{u2} R _inst_1 _inst_2) r) (Field.toDivisionRing.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => LocalRing.ResidueField.{u2} R _inst_1 _inst_2) r) (LocalRing.ResidueField.field.{u2} R _inst_1 _inst_2)))) (LocalRing.ResidueField.instMulSemiringActionResidueFieldToMonoidToDivInvMonoidToSemiringToDivisionSemiringToSemifieldField.{u2, u1} R _inst_1 _inst_2 G _inst_7 _inst_8)))))) g (FunLike.coe.{succ u2, succ u2, succ u2} (RingHom.{u2, u2} R (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u2} R _inst_1 _inst_2)))))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => LocalRing.ResidueField.{u2} R _inst_1 _inst_2) _x) (MulHomClass.toFunLike.{u2, u2, u2} (RingHom.{u2, u2} R (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u2} R _inst_1 _inst_2)))))) R (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (NonUnitalNonAssocSemiring.toMul.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u2} R _inst_1 _inst_2))))))) (NonUnitalRingHomClass.toMulHomClass.{u2, u2, u2} (RingHom.{u2, u2} R (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u2} R _inst_1 _inst_2)))))) R (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u2} R _inst_1 _inst_2)))))) (RingHomClass.toNonUnitalRingHomClass.{u2, u2, u2} (RingHom.{u2, u2} R (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u2} R _inst_1 _inst_2)))))) R (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u2} R _inst_1 _inst_2))))) (RingHom.instRingHomClassRingHom.{u2, u2} R (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (DivisionSemiring.toSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Semifield.toDivisionSemiring.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (Field.toSemifield.{u2} (LocalRing.ResidueField.{u2} R _inst_1 _inst_2) (LocalRing.ResidueField.field.{u2} R _inst_1 _inst_2))))))))) (LocalRing.residue.{u2} R _inst_1 _inst_2) r))
+Case conversion may be inaccurate. Consider using '#align local_ring.residue_field.residue_smul LocalRing.ResidueField.residue_smulₓ'. -/
 @[simp]
 theorem residue_smul (g : G) (r : R) : residue R (g • r) = g • residue R r :=
   rfl
@@ -492,11 +738,18 @@ end MulSemiringAction
 
 end ResidueField
 
+/- warning: local_ring.ker_eq_maximal_ideal -> LocalRing.ker_eq_maximalIdeal is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {K : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : LocalRing.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))] [_inst_7 : Field.{u2} K] (φ : RingHom.{u1, u2} R K (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} K (Ring.toNonAssocRing.{u2} K (DivisionRing.toRing.{u2} K (Field.toDivisionRing.{u2} K _inst_7))))), (Function.Surjective.{succ u1, succ u2} R K (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R K (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} K (Ring.toNonAssocRing.{u2} K (DivisionRing.toRing.{u2} K (Field.toDivisionRing.{u2} K _inst_7))))) (fun (_x : RingHom.{u1, u2} R K (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} K (Ring.toNonAssocRing.{u2} K (DivisionRing.toRing.{u2} K (Field.toDivisionRing.{u2} K _inst_7))))) => R -> K) (RingHom.hasCoeToFun.{u1, u2} R K (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} K (Ring.toNonAssocRing.{u2} K (DivisionRing.toRing.{u2} K (Field.toDivisionRing.{u2} K _inst_7))))) φ)) -> (Eq.{succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (RingHom.ker.{u1, u2, max u1 u2} R K (RingHom.{u1, u2} R K (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} K (Ring.toNonAssocRing.{u2} K (DivisionRing.toRing.{u2} K (Field.toDivisionRing.{u2} K _inst_7))))) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u2} K (DivisionRing.toRing.{u2} K (Field.toDivisionRing.{u2} K _inst_7))) (RingHom.ringHomClass.{u1, u2} R K (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} K (Ring.toNonAssocRing.{u2} K (DivisionRing.toRing.{u2} K (Field.toDivisionRing.{u2} K _inst_7))))) φ) (LocalRing.maximalIdeal.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1) _inst_2))
+but is expected to have type
+  forall {R : Type.{u1}} {K : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : LocalRing.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))] [_inst_7 : Field.{u2} K] (φ : RingHom.{u1, u2} R K (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (Semifield.toDivisionSemiring.{u2} K (Field.toSemifield.{u2} K _inst_7))))), (Function.Surjective.{succ u1, succ u2} R K (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (RingHom.{u1, u2} R K (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (Semifield.toDivisionSemiring.{u2} K (Field.toSemifield.{u2} K _inst_7))))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => K) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (RingHom.{u1, u2} R K (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (Semifield.toDivisionSemiring.{u2} K (Field.toSemifield.{u2} K _inst_7))))) R K (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} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} K (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (Semifield.toDivisionSemiring.{u2} K (Field.toSemifield.{u2} K _inst_7)))))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R K (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (Semifield.toDivisionSemiring.{u2} K (Field.toSemifield.{u2} K _inst_7))))) R K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} K (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (Semifield.toDivisionSemiring.{u2} K (Field.toSemifield.{u2} K _inst_7))))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R K (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (Semifield.toDivisionSemiring.{u2} K (Field.toSemifield.{u2} K _inst_7))))) R K (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (Semifield.toDivisionSemiring.{u2} K (Field.toSemifield.{u2} K _inst_7)))) (RingHom.instRingHomClassRingHom.{u1, u2} R K (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (Semifield.toDivisionSemiring.{u2} K (Field.toSemifield.{u2} K _inst_7)))))))) φ)) -> (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (RingHom.ker.{u1, u2, max u1 u2} R K (RingHom.{u1, u2} R K (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (Semifield.toDivisionSemiring.{u2} K (Field.toSemifield.{u2} K _inst_7))))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (DivisionSemiring.toSemiring.{u2} K (Semifield.toDivisionSemiring.{u2} K (Field.toSemifield.{u2} K _inst_7))) (RingHom.instRingHomClassRingHom.{u1, u2} R K (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (Semifield.toDivisionSemiring.{u2} K (Field.toSemifield.{u2} K _inst_7))))) φ) (LocalRing.maximalIdeal.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1) _inst_2))
+Case conversion may be inaccurate. Consider using '#align local_ring.ker_eq_maximal_ideal LocalRing.ker_eq_maximalIdealₓ'. -/
 theorem ker_eq_maximalIdeal [Field K] (φ : R →+* K) (hφ : Function.Surjective φ) :
     φ.ker = maximalIdeal R :=
   LocalRing.eq_maximalIdeal <| (RingHom.ker_isMaximal_of_surjective φ) hφ
 #align local_ring.ker_eq_maximal_ideal LocalRing.ker_eq_maximalIdeal
 
+#print LocalRing.isLocalRingHom_residue /-
 theorem isLocalRingHom_residue : IsLocalRingHom (LocalRing.residue R) :=
   by
   constructor
@@ -505,6 +758,7 @@ theorem isLocalRingHom_residue : IsLocalRingHom (LocalRing.residue R) :=
   erw [ideal.quotient.eq_zero_iff_mem.mpr ((LocalRing.mem_maximalIdeal _).mpr h)] at ha
   exact ha.ne_zero rfl
 #align local_ring.is_local_ring_hom_residue LocalRing.isLocalRingHom_residue
+-/
 
 end
 
@@ -524,12 +778,24 @@ instance (priority := 100) : LocalRing K :=
 
 end Field
 
+/- warning: local_ring.maximal_ideal_eq_bot -> LocalRing.maximalIdeal_eq_bot is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : Field.{u1} R], Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_1)))) (LocalRing.maximalIdeal.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_1)) (Field.localRing.{u1} R _inst_1)) (Bot.bot.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_1)))) (Submodule.hasBot.{u1, u1} R R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_1)))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_1))))))
+but is expected to have type
+  forall {R : Type.{u1}} [_inst_1 : Field.{u1} R], Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_1)))) (LocalRing.maximalIdeal.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_1)) (Field.instLocalRingToSemiringToDivisionSemiringToSemifield.{u1} R _inst_1)) (Bot.bot.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_1)))) (Submodule.instBotSubmodule.{u1, u1} R R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_1)))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_1))))))
+Case conversion may be inaccurate. Consider using '#align local_ring.maximal_ideal_eq_bot LocalRing.maximalIdeal_eq_botₓ'. -/
 theorem LocalRing.maximalIdeal_eq_bot {R : Type _} [Field R] : LocalRing.maximalIdeal R = ⊥ :=
   LocalRing.isField_iff_maximalIdeal_eq.mp (Field.toIsField R)
 #align local_ring.maximal_ideal_eq_bot LocalRing.maximalIdeal_eq_bot
 
 namespace RingEquiv
 
+/- warning: ring_equiv.local_ring -> RingEquiv.localRing is a dubious translation:
+lean 3 declaration is
+  forall {A : Type.{u1}} {B : Type.{u2}} [_inst_1 : CommSemiring.{u1} A] [_inst_2 : LocalRing.{u1} A (CommSemiring.toSemiring.{u1} A _inst_1)] [_inst_3 : CommSemiring.{u2} B], (RingEquiv.{u1, u2} A B (Distrib.toHasMul.{u1} A (NonUnitalNonAssocSemiring.toDistrib.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A _inst_1))))) (Distrib.toHasAdd.{u1} A (NonUnitalNonAssocSemiring.toDistrib.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A _inst_1))))) (Distrib.toHasMul.{u2} B (NonUnitalNonAssocSemiring.toDistrib.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_3))))) (Distrib.toHasAdd.{u2} B (NonUnitalNonAssocSemiring.toDistrib.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_3)))))) -> (LocalRing.{u2} B (CommSemiring.toSemiring.{u2} B _inst_3))
+but is expected to have type
+  forall {A : Type.{u2}} {B : Type.{u1}} [_inst_1 : CommSemiring.{u2} A] [_inst_2 : LocalRing.{u2} A (CommSemiring.toSemiring.{u2} A _inst_1)] [_inst_3 : CommSemiring.{u1} B], (RingEquiv.{u2, u1} A B (NonUnitalNonAssocSemiring.toMul.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u1} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} B (Semiring.toNonAssocSemiring.{u1} B (CommSemiring.toSemiring.{u1} B _inst_3)))) (Distrib.toAdd.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A _inst_1))))) (Distrib.toAdd.{u1} B (NonUnitalNonAssocSemiring.toDistrib.{u1} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} B (Semiring.toNonAssocSemiring.{u1} B (CommSemiring.toSemiring.{u1} B _inst_3)))))) -> (LocalRing.{u1} B (CommSemiring.toSemiring.{u1} B _inst_3))
+Case conversion may be inaccurate. Consider using '#align ring_equiv.local_ring RingEquiv.localRingₓ'. -/
 @[reducible]
 protected theorem localRing {A B : Type _} [CommSemiring A] [LocalRing A] [CommSemiring B]
     (e : A ≃+* B) : LocalRing B :=
Diff
@@ -196,8 +196,8 @@ theorem jacobson_eq_maximalIdeal (I : Ideal R) (h : I ≠ ⊤) :
     I.jacobson = LocalRing.maximalIdeal R :=
   by
   apply le_antisymm
-  · exact infₛ_le ⟨LocalRing.le_maximalIdeal h, LocalRing.maximalIdeal.isMaximal R⟩
-  · exact le_infₛ fun J (hJ : I ≤ J ∧ J.IsMaximal) => le_of_eq (LocalRing.eq_maximalIdeal hJ.2).symm
+  · exact sInf_le ⟨LocalRing.le_maximalIdeal h, LocalRing.maximalIdeal.isMaximal R⟩
+  · exact le_sInf fun J (hJ : I ≤ J ∧ J.IsMaximal) => le_of_eq (LocalRing.eq_maximalIdeal hJ.2).symm
 #align local_ring.jacobson_eq_maximal_ideal LocalRing.jacobson_eq_maximalIdeal
 
 end LocalRing
Diff
@@ -4,13 +4,14 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Kenny Lau, Chris Hughes, Mario Carneiro
 
 ! This file was ported from Lean 3 source module ring_theory.ideal.local_ring
-! leanprover-community/mathlib commit b86c528d08a52a1fdb50d999232408e1c7e85d7d
+! leanprover-community/mathlib commit ec1c7d810034d4202b0dd239112d1792be9f6fdc
 ! Please do not edit these lines, except to modify the commit id
 ! if you have ported upstream changes.
 -/
 import Mathbin.Algebra.Algebra.Basic
 import Mathbin.RingTheory.Ideal.Operations
 import Mathbin.RingTheory.JacobsonIdeal
+import Mathbin.Logic.Equiv.TransferInstance
 
 /-!
 
@@ -527,3 +528,14 @@ theorem LocalRing.maximalIdeal_eq_bot {R : Type _} [Field R] : LocalRing.maximal
   LocalRing.isField_iff_maximalIdeal_eq.mp (Field.toIsField R)
 #align local_ring.maximal_ideal_eq_bot LocalRing.maximalIdeal_eq_bot
 
+namespace RingEquiv
+
+@[reducible]
+protected theorem localRing {A B : Type _} [CommSemiring A] [LocalRing A] [CommSemiring B]
+    (e : A ≃+* B) : LocalRing B :=
+  haveI := e.symm.to_equiv.nontrivial
+  LocalRing.of_surjective (e : A →+* B) e.surjective
+#align ring_equiv.local_ring RingEquiv.localRing
+
+end RingEquiv
+
Diff
@@ -236,7 +236,7 @@ instance isLocalRingHom_comp (g : S →+* T) (f : R →+* S) [IsLocalRingHom g]
 
 instance isLocalRingHom_equiv (f : R ≃+* S) : IsLocalRingHom (f : R →+* S)
     where map_nonunit a ha := by
-    convert (f.symm : S →+* R).isUnit_map ha
+    convert(f.symm : S →+* R).isUnit_map ha
     exact (RingEquiv.symm_apply_apply f a).symm
 #align is_local_ring_hom_equiv isLocalRingHom_equiv
 

Changes in mathlib4

mathlib3
mathlib4
chore: split Algebra.Algebra.Basic (#12486)

Splits Algebra.Algebra.Defs off Algebra.Algebra.Basic. Most imports only need the Defs file, which has significantly smaller imports. The remaining Algebra.Algebra.Basic is now a grab-bag of unrelated results, and should probably be split further or rehomed.

This is mostly motivated by the wasted effort during minimization upon encountering Algebra.Algebra.Basic.

Co-authored-by: Scott Morrison <scott.morrison@gmail.com> Co-authored-by: Ruben Van de Velde <65514131+Ruben-VandeVelde@users.noreply.github.com>

Diff
@@ -3,7 +3,7 @@ Copyright (c) 2018 Kenny Lau. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Kenny Lau, Chris Hughes, Mario Carneiro
 -/
-import Mathlib.Algebra.Algebra.Basic
+import Mathlib.Algebra.Algebra.Defs
 import Mathlib.RingTheory.Ideal.Operations
 import Mathlib.RingTheory.JacobsonIdeal
 import Mathlib.Logic.Equiv.TransferInstance
chore: Rename mul-div cancellation lemmas (#11530)

Lemma names around cancellation of multiplication and division are a mess.

This PR renames a handful of them according to the following table (each big row contains the multiplicative statement, then the three rows contain the GroupWithZero lemma name, the Group lemma, the AddGroup lemma name).

| Statement | New name | Old name | |

Diff
@@ -161,13 +161,13 @@ namespace LocalRing
 
 theorem of_isUnit_or_isUnit_one_sub_self [Nontrivial R] (h : ∀ a : R, IsUnit a ∨ IsUnit (1 - a)) :
     LocalRing R :=
-  ⟨fun {a b} hab => add_sub_cancel' a b ▸ hab.symm ▸ h a⟩
+  ⟨fun {a b} hab => add_sub_cancel_left a b ▸ hab.symm ▸ h a⟩
 #align local_ring.of_is_unit_or_is_unit_one_sub_self LocalRing.of_isUnit_or_isUnit_one_sub_self
 
 variable [LocalRing R]
 
 theorem isUnit_or_isUnit_one_sub_self (a : R) : IsUnit a ∨ IsUnit (1 - a) :=
-  isUnit_or_isUnit_of_isUnit_add <| (add_sub_cancel'_right a 1).symm ▸ isUnit_one
+  isUnit_or_isUnit_of_isUnit_add <| (add_sub_cancel a 1).symm ▸ isUnit_one
 #align local_ring.is_unit_or_is_unit_one_sub_self LocalRing.isUnit_or_isUnit_one_sub_self
 
 theorem isUnit_of_mem_nonunits_one_sub_self (a : R) (h : 1 - a ∈ nonunits R) : IsUnit a :=
chore: scope open Classical (#11199)

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

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

Diff
@@ -517,7 +517,7 @@ namespace Field
 
 variable (K) [Field K]
 
-open Classical
+open scoped Classical
 
 -- see Note [lower instance priority]
 instance (priority := 100) : LocalRing K :=
style: reduce spacing variation in "porting note" comments (#10886)

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

Diff
@@ -220,7 +220,7 @@ theorem isUnit_map_iff (f : R →+* S) [IsLocalRingHom f] (a) : IsUnit (f a) ↔
   ⟨IsLocalRingHom.map_nonunit a, f.isUnit_map⟩
 #align is_unit_map_iff isUnit_map_iff
 
--- Porting note : as this can be proved by other `simp` lemmas, this is marked as high priority.
+-- Porting note: as this can be proved by other `simp` lemmas, this is marked as high priority.
 @[simp (high)]
 theorem map_mem_nonunits_iff (f : R →+* S) [IsLocalRingHom f] (a) :
     f a ∈ nonunits S ↔ a ∈ nonunits R :=
@@ -350,7 +350,7 @@ def ResidueField :=
   R ⧸ maximalIdeal R
 #align local_ring.residue_field LocalRing.ResidueField
 
--- Porting note : failed at `deriving` instances automatically
+-- Porting note: failed at `deriving` instances automatically
 instance ResidueFieldCommRing : CommRing (ResidueField R) :=
   show CommRing (R ⧸ maximalIdeal R) from inferInstance
 
chore(*): rename FunLike to DFunLike (#9785)

This prepares for the introduction of a non-dependent synonym of FunLike, which helps a lot with keeping #8386 readable.

This is entirely search-and-replace in 680197f combined with manual fixes in 4145626, e900597 and b8428f8. The commands that generated this change:

sed -i 's/\bFunLike\b/DFunLike/g' {Archive,Counterexamples,Mathlib,test}/**/*.lean
sed -i 's/\btoFunLike\b/toDFunLike/g' {Archive,Counterexamples,Mathlib,test}/**/*.lean
sed -i 's/import Mathlib.Data.DFunLike/import Mathlib.Data.FunLike/g' {Archive,Counterexamples,Mathlib,test}/**/*.lean
sed -i 's/\bHom_FunLike\b/Hom_DFunLike/g' {Archive,Counterexamples,Mathlib,test}/**/*.lean     
sed -i 's/\binstFunLike\b/instDFunLike/g' {Archive,Counterexamples,Mathlib,test}/**/*.lean
sed -i 's/\bfunLike\b/instDFunLike/g' {Archive,Counterexamples,Mathlib,test}/**/*.lean
sed -i 's/\btoo many metavariables to apply `fun_like.has_coe_to_fun`/too many metavariables to apply `DFunLike.hasCoeToFun`/g' {Archive,Counterexamples,Mathlib,test}/**/*.lean

Co-authored-by: Anne Baanen <Vierkantor@users.noreply.github.com>

Diff
@@ -434,13 +434,13 @@ theorem map_residue (f : R →+* S) [IsLocalRingHom f] (r : R) :
 #align local_ring.residue_field.map_residue LocalRing.ResidueField.map_residue
 
 theorem map_id_apply (x : ResidueField R) : map (RingHom.id R) x = x :=
-  FunLike.congr_fun map_id x
+  DFunLike.congr_fun map_id x
 #align local_ring.residue_field.map_id_apply LocalRing.ResidueField.map_id_apply
 
 @[simp]
 theorem map_map (f : R →+* S) (g : S →+* T) (x : ResidueField R) [IsLocalRingHom f]
     [IsLocalRingHom g] : map g (map f x) = map (g.comp f) x :=
-  FunLike.congr_fun (map_comp f g).symm x
+  DFunLike.congr_fun (map_comp f g).symm x
 #align local_ring.residue_field.map_map LocalRing.ResidueField.map_map
 
 /-- A ring isomorphism defines an isomorphism of residue fields. -/
style: fix wrapping of where (#7149)
Diff
@@ -211,8 +211,8 @@ section
 
 variable [Semiring R] [Semiring S] [Semiring T]
 
-instance isLocalRingHom_id (R : Type*) [Semiring R] : IsLocalRingHom (RingHom.id R)
-    where map_nonunit _ := id
+instance isLocalRingHom_id (R : Type*) [Semiring R] : IsLocalRingHom (RingHom.id R) where
+  map_nonunit _ := id
 #align is_local_ring_hom_id isLocalRingHom_id
 
 @[simp]
@@ -228,8 +228,8 @@ theorem map_mem_nonunits_iff (f : R →+* S) [IsLocalRingHom f] (a) :
 #align map_mem_nonunits_iff map_mem_nonunits_iff
 
 instance isLocalRingHom_comp (g : S →+* T) (f : R →+* S) [IsLocalRingHom g] [IsLocalRingHom f] :
-    IsLocalRingHom (g.comp f)
-    where map_nonunit a := IsLocalRingHom.map_nonunit a ∘ IsLocalRingHom.map_nonunit (f a)
+    IsLocalRingHom (g.comp f) where
+  map_nonunit a := IsLocalRingHom.map_nonunit a ∘ IsLocalRingHom.map_nonunit (f a)
 #align is_local_ring_hom_comp isLocalRingHom_comp
 
 instance isLocalRingHom_equiv (f : R ≃+* S) : IsLocalRingHom (f : R →+* S) where
chore: banish Type _ and Sort _ (#6499)

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

This has nice performance benefits.

Diff
@@ -211,7 +211,7 @@ section
 
 variable [Semiring R] [Semiring S] [Semiring T]
 
-instance isLocalRingHom_id (R : Type _) [Semiring R] : IsLocalRingHom (RingHom.id R)
+instance isLocalRingHom_id (R : Type*) [Semiring R] : IsLocalRingHom (RingHom.id R)
     where map_nonunit _ := id
 #align is_local_ring_hom_id isLocalRingHom_id
 
@@ -256,7 +256,7 @@ theorem isLocalRingHom_of_comp (f : R →+* S) (g : S →+* T) [IsLocalRingHom (
 #align is_local_ring_hom_of_comp isLocalRingHom_of_comp
 
 /-- If `f : R →+* S` is a local ring hom, then `R` is a local ring if `S` is. -/
-theorem RingHom.domain_localRing {R S : Type _} [CommSemiring R] [CommSemiring S] [H : LocalRing S]
+theorem RingHom.domain_localRing {R S : Type*} [CommSemiring R] [CommSemiring S] [H : LocalRing S]
     (f : R →+* S) [IsLocalRingHom f] : LocalRing R := by
   haveI : Nontrivial R := pullback_nonzero f f.map_zero f.map_one
   apply LocalRing.of_nonunits_add
@@ -383,19 +383,19 @@ variable {R}
 namespace ResidueField
 
 /-- A local ring homomorphism into a field can be descended onto the residue field. -/
-def lift {R S : Type _} [CommRing R] [LocalRing R] [Field S] (f : R →+* S) [IsLocalRingHom f] :
+def lift {R S : Type*} [CommRing R] [LocalRing R] [Field S] (f : R →+* S) [IsLocalRingHom f] :
     LocalRing.ResidueField R →+* S :=
   Ideal.Quotient.lift _ f fun a ha =>
     by_contradiction fun h => ha (isUnit_of_map_unit f a (isUnit_iff_ne_zero.mpr h))
 #align local_ring.residue_field.lift LocalRing.ResidueField.lift
 
-theorem lift_comp_residue {R S : Type _} [CommRing R] [LocalRing R] [Field S] (f : R →+* S)
+theorem lift_comp_residue {R S : Type*} [CommRing R] [LocalRing R] [Field S] (f : R →+* S)
     [IsLocalRingHom f] : (lift f).comp (residue R) = f :=
   RingHom.ext fun _ => rfl
 #align local_ring.residue_field.lift_comp_residue LocalRing.ResidueField.lift_comp_residue
 
 @[simp]
-theorem lift_residue_apply {R S : Type _} [CommRing R] [LocalRing R] [Field S] (f : R →+* S)
+theorem lift_residue_apply {R S : Type*} [CommRing R] [LocalRing R] [Field S] (f : R →+* S)
     [IsLocalRingHom f] (x) : lift f (residue R x) = f x :=
   rfl
 #align local_ring.residue_field.lift_residue_apply LocalRing.ResidueField.lift_residue_apply
@@ -481,7 +481,7 @@ def mapAut : RingAut R →* RingAut (LocalRing.ResidueField R) where
 
 section MulSemiringAction
 
-variable (G : Type _) [Group G] [MulSemiringAction G R]
+variable (G : Type*) [Group G] [MulSemiringAction G R]
 
 /-- If `G` acts on `R` as a `MulSemiringAction`, then it also acts on `LocalRing.ResidueField R`. -/
 instance : MulSemiringAction G (LocalRing.ResidueField R) :=
@@ -527,14 +527,14 @@ instance (priority := 100) : LocalRing K :=
 
 end Field
 
-theorem LocalRing.maximalIdeal_eq_bot {R : Type _} [Field R] : LocalRing.maximalIdeal R = ⊥ :=
+theorem LocalRing.maximalIdeal_eq_bot {R : Type*} [Field R] : LocalRing.maximalIdeal R = ⊥ :=
   LocalRing.isField_iff_maximalIdeal_eq.mp (Field.toIsField R)
 #align local_ring.maximal_ideal_eq_bot LocalRing.maximalIdeal_eq_bot
 
 namespace RingEquiv
 
 @[reducible]
-protected theorem localRing {A B : Type _} [CommSemiring A] [LocalRing A] [CommSemiring B]
+protected theorem localRing {A B : Type*} [CommSemiring A] [LocalRing A] [CommSemiring B]
     (e : A ≃+* B) : LocalRing B :=
   haveI := e.symm.toEquiv.nontrivial
   LocalRing.of_surjective (e : A →+* B) e.surjective
chore: script to replace headers with #align_import statements (#5979)

Open in Gitpod

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

Diff
@@ -2,11 +2,6 @@
 Copyright (c) 2018 Kenny Lau. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Kenny Lau, Chris Hughes, Mario Carneiro
-
-! This file was ported from Lean 3 source module ring_theory.ideal.local_ring
-! leanprover-community/mathlib commit ec1c7d810034d4202b0dd239112d1792be9f6fdc
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathlib.Algebra.Algebra.Basic
 import Mathlib.RingTheory.Ideal.Operations
@@ -14,6 +9,8 @@ import Mathlib.RingTheory.JacobsonIdeal
 import Mathlib.Logic.Equiv.TransferInstance
 import Mathlib.Tactic.TFAE
 
+#align_import ring_theory.ideal.local_ring from "leanprover-community/mathlib"@"ec1c7d810034d4202b0dd239112d1792be9f6fdc"
+
 /-!
 
 # Local rings
chore: fix focusing dots (#5708)

This PR is the result of running

find . -type f -name "*.lean" -exec sed -i -E 's/^( +)\. /\1· /' {} \;
find . -type f -name "*.lean" -exec sed -i -E 'N;s/^( +·)\n +(.*)$/\1 \2/;P;D' {} \;

which firstly replaces . focusing dots with · and secondly removes isolated instances of such dots, unifying them with the following line. A new rule is placed in the style linter to verify this.

Diff
@@ -300,22 +300,22 @@ theorem local_hom_TFAE (f : R →+* S) :
         (maximalIdeal R).map f ≤ maximalIdeal S, maximalIdeal R ≤ (maximalIdeal S).comap f,
         (maximalIdeal S).comap f = maximalIdeal R] := by
   tfae_have 1 → 2
-  . rintro _ _ ⟨a, ha, rfl⟩
+  · rintro _ _ ⟨a, ha, rfl⟩
     exact map_nonunit f a ha
   tfae_have 2 → 4
-  . exact Set.image_subset_iff.1
+  · exact Set.image_subset_iff.1
   tfae_have 3 ↔ 4
-  . exact Ideal.map_le_iff_le_comap
+  · exact Ideal.map_le_iff_le_comap
   tfae_have 4 → 1
-  . intro h
+  · intro h
     constructor
     exact fun x => not_imp_not.1 (@h x)
   tfae_have 1 → 5
-  . intro
+  · intro
     ext
     exact not_iff_not.2 (isUnit_map_iff f _)
   tfae_have 5 → 4
-  . exact fun h => le_of_eq h.symm
+  · exact fun h => le_of_eq h.symm
   tfae_finish
 #align local_ring.local_hom_tfae LocalRing.local_hom_TFAE
 
chore: tidy various files (#4466)
Diff
@@ -410,7 +410,7 @@ def map (f : R →+* S) [IsLocalRingHom f] : ResidueField R →+* ResidueField S
     exact map_nonunit f a ha
 #align local_ring.residue_field.map LocalRing.ResidueField.map
 
-/-- Applying `residue_field.map` to the identity ring homomorphism gives the identity
+/-- Applying `LocalRing.ResidueField.map` to the identity ring homomorphism gives the identity
 ring homomorphism. -/
 @[simp]
 theorem map_id :
@@ -418,7 +418,8 @@ theorem map_id :
   Ideal.Quotient.ringHom_ext <| RingHom.ext fun _ => rfl
 #align local_ring.residue_field.map_id LocalRing.ResidueField.map_id
 
-/-- The composite of two `residue_field.map`s is the `residue_field.map` of the composite. -/
+/-- The composite of two `LocalRing.ResidueField.map`s is the `LocalRing.ResidueField.map` of the
+composite. -/
 theorem map_comp (f : T →+* R) (g : R →+* S) [IsLocalRingHom f] [IsLocalRingHom g] :
     LocalRing.ResidueField.map (g.comp f) =
       (LocalRing.ResidueField.map g).comp (LocalRing.ResidueField.map f) :=
@@ -485,7 +486,7 @@ section MulSemiringAction
 
 variable (G : Type _) [Group G] [MulSemiringAction G R]
 
-/-- If `G` acts on `R` as a `MulSemiringAction`, then it also acts on `residue_field R`. -/
+/-- If `G` acts on `R` as a `MulSemiringAction`, then it also acts on `LocalRing.ResidueField R`. -/
 instance : MulSemiringAction G (LocalRing.ResidueField R) :=
   MulSemiringAction.compHom _ <| mapAut.comp (MulSemiringAction.toRingAut G R)
 
chore: fix upper/lowercase in comments (#4360)
  • Run a non-interactive version of fix-comments.py on all files.
  • Go through the diff and manually add/discard/edit chunks.
Diff
@@ -22,15 +22,15 @@ Define local rings as commutative rings having a unique maximal ideal.
 
 ## Main definitions
 
-* `local_ring`: A predicate on commutative semirings, stating that for any pair of elements that
+* `LocalRing`: A predicate on commutative semirings, stating that for any pair of elements that
   adds up to `1`, one of them is a unit. This is shown to be equivalent to the condition that there
   exists a unique maximal ideal.
-* `local_ring.maximal_ideal`: The unique maximal ideal for a local rings. Its carrier set is the
+* `LocalRing.maximalIdeal`: The unique maximal ideal for a local rings. Its carrier set is the
   set of non units.
-* `is_local_ring_hom`: A predicate on semiring homomorphisms, requiring that it maps nonunits
+* `IsLocalRingHom`: A predicate on semiring homomorphisms, requiring that it maps nonunits
   to nonunits. For local rings, this means that the image of the unique maximal ideal is again
   contained in the unique maximal ideal.
-* `local_ring.residue_field`: The quotient of a local ring by its maximal ideal.
+* `LocalRing.ResidueField`: The quotient of a local ring by its maximal ideal.
 
 -/
 
@@ -40,7 +40,7 @@ universe u v w u'
 variable {R : Type u} {S : Type v} {T : Type w} {K : Type u'}
 
 /-- A semiring is local if it is nontrivial and `a` or `b` is a unit whenever `a + b = 1`.
-Note that `local_ring` is a predicate. -/
+Note that `LocalRing` is a predicate. -/
 class LocalRing (R : Type u) [Semiring R] extends Nontrivial R : Prop where
   of_is_unit_or_is_unit_of_add_one ::
   /-- in a local ring `R`, if `a + b = 1`, then either `a` is a unit or `b` is a unit. In another
@@ -203,7 +203,7 @@ end LocalRing
 end CommRing
 
 /-- A local ring homomorphism is a homomorphism `f` between local rings such that `a` in the domain
-  is a unit if `f a` is a unit for any `a`. See `local_ring.local_hom_tfae` for other equivalent
+  is a unit if `f a` is a unit for any `a`. See `LocalRing.local_hom_TFAE` for other equivalent
   definitions. -/
 class IsLocalRingHom [Semiring R] [Semiring S] (f : R →+* S) : Prop where
   /-- A local ring homomorphism `f : R ⟶ S` will send nonunits of `R` to nonunits of `S`. -/
@@ -472,7 +472,7 @@ theorem mapEquiv_refl : mapEquiv (RingEquiv.refl R) = RingEquiv.refl _ :=
   RingEquiv.toRingHom_injective map_id
 #align local_ring.residue_field.map_equiv_refl LocalRing.ResidueField.mapEquiv_refl
 
-/-- The group homomorphism from `ring_aut R` to `ring_aut k` where `k`
+/-- The group homomorphism from `RingAut R` to `RingAut k` where `k`
 is the residue field of `R`. -/
 @[simps]
 def mapAut : RingAut R →* RingAut (LocalRing.ResidueField R) where
@@ -485,7 +485,7 @@ section MulSemiringAction
 
 variable (G : Type _) [Group G] [MulSemiringAction G R]
 
-/-- If `G` acts on `R` as a `mul_semiring_action`, then it also acts on `residue_field R`. -/
+/-- If `G` acts on `R` as a `MulSemiringAction`, then it also acts on `residue_field R`. -/
 instance : MulSemiringAction G (LocalRing.ResidueField R) :=
   MulSemiringAction.compHom _ <| mapAut.comp (MulSemiringAction.toRingAut G R)
 
feat: port RingTheory.Ideal.LocalRing (#4066)

Dependencies 8 + 542

543 files ported (98.5%)
227123 lines ported (98.6%)
Show graph

The unported dependencies are